From a11be65f950e566e5cfe48943fdde9997a2f870c Mon Sep 17 00:00:00 2001 From: Yury Bondarenko Date: Tue, 27 Jun 2023 15:40:01 +0200 Subject: [PATCH] ESlint: fix imports --- .../access-control-routing-paths.ts | 2 +- .../access-control-routing.module.ts | 17 +- .../access-control/access-control.module.ts | 22 +- .../bulk-access-browse.component.spec.ts | 20 +- .../browse/bulk-access-browse.component.ts | 37 +- .../bulk-access/bulk-access.component.spec.ts | 18 +- .../bulk-access/bulk-access.component.ts | 19 +- .../bulk-access-settings.component.spec.ts | 8 +- .../bulk-access-settings.component.ts | 8 +- .../epeople-registry.actions.ts | 1 + .../epeople-registry.component.spec.ts | 63 ++- .../epeople-registry.component.ts | 50 +- .../epeople-registry.reducers.spec.ts | 10 +- .../eperson-form.component.spec.ts | 68 ++- .../eperson-form/eperson-form.component.ts | 51 ++- .../validators/email-taken.validator.ts | 5 +- .../group-form/group-form.component.spec.ts | 70 ++- .../group-form/group-form.component.ts | 45 +- .../members-list.component.spec.ts | 74 ++- .../members-list/members-list.component.ts | 37 +- .../subgroups-list.component.spec.ts | 78 +++- .../subgroup-list/subgroups-list.component.ts | 30 +- .../validators/group-exists.validator.ts | 7 +- .../group-registry/group-page.guard.spec.ts | 12 +- .../group-registry/group-page.guard.ts | 22 +- .../group-registry/group-registry.actions.ts | 1 + .../group-registry.reducers.spec.ts | 10 +- .../group-registry/group-registry.reducers.ts | 6 +- .../groups-registry.component.spec.ts | 74 ++- .../groups-registry.component.ts | 28 +- .../admin-curation-tasks.component.spec.ts | 11 +- .../batch-import-page.component.spec.ts | 33 +- .../batch-import-page.component.ts | 33 +- .../metadata-import-page.component.spec.ts | 18 +- .../metadata-import-page.component.ts | 14 +- .../admin-registries-routing.module.ts | 7 +- .../admin-registries.module.ts | 13 +- .../add-bitstream-format.component.spec.ts | 14 +- .../add-bitstream-format.component.ts | 11 +- .../bitstream-format.actions.ts | 3 +- .../bitstream-format.reducers.spec.ts | 6 +- .../bitstream-formats-routing.module.ts | 7 +- .../bitstream-formats.component.spec.ts | 41 +- .../bitstream-formats.component.ts | 36 +- .../bitstream-formats.module.ts | 15 +- .../bitstream-formats.resolver.ts | 9 +- .../edit-bitstream-format.component.spec.ts | 20 +- .../edit-bitstream-format.component.ts | 21 +- .../format-form/format-form.component.spec.ts | 30 +- .../format-form/format-form.component.ts | 22 +- .../metadata-registry.actions.ts | 5 +- .../metadata-registry.component.spec.ts | 39 +- .../metadata-registry.component.ts | 31 +- .../metadata-registry.reducers.spec.ts | 9 +- .../metadata-registry.reducers.ts | 4 +- .../metadata-schema-form.component.spec.ts | 20 +- .../metadata-schema-form.component.ts | 17 +- .../metadata-field-form.component.spec.ts | 25 +- .../metadata-field-form.component.ts | 20 +- .../metadata-schema.component.spec.ts | 51 ++- .../metadata-schema.component.ts | 40 +- src/app/admin/admin-routing-paths.ts | 2 +- src/app/admin/admin-routing.module.ts | 9 +- .../admin-search-page.component.spec.ts | 8 +- .../admin-search-page.component.ts | 1 + ...arch-result-grid-element.component.spec.ts | 41 +- ...in-search-result-grid-element.component.ts | 13 +- ...arch-result-grid-element.component.spec.ts | 42 +- ...in-search-result-grid-element.component.ts | 13 +- ...arch-result-grid-element.component.spec.ts | 43 +- ...in-search-result-grid-element.component.ts | 23 +- ...arch-result-list-element.component.spec.ts | 28 +- ...in-search-result-list-element.component.ts | 13 +- ...arch-result-list-element.component.spec.ts | 28 +- ...in-search-result-list-element.component.ts | 13 +- ...arch-result-list-element.component.spec.ts | 25 +- ...in-search-result-list-element.component.ts | 5 +- ...in-search-result-actions.component.spec.ts | 14 +- ...m-admin-search-result-actions.component.ts | 12 +- .../admin-search-page/admin-search.module.ts | 19 +- .../admin-sidebar-section.component.spec.ts | 18 +- .../admin-sidebar-section.component.ts | 22 +- .../admin-sidebar.component.spec.ts | 45 +- .../admin-sidebar/admin-sidebar.component.ts | 28 +- ...le-admin-sidebar-section.component.spec.ts | 22 +- ...andable-admin-sidebar-section.component.ts | 31 +- .../themed-admin-sidebar.component.ts | 1 + .../admin-workflow-page.component.spec.ts | 8 +- .../admin-workflow-page.component.ts | 1 + ...m-admin-workflow-actions.component.spec.ts | 22 +- ...w-item-admin-workflow-actions.component.ts | 5 +- ...ion-order-group-selector.component.spec.ts | 22 +- ...ervision-order-group-selector.component.ts | 9 +- ...supervision-order-status.component.spec.ts | 20 +- .../supervision-order-status.component.ts | 28 +- ...m-admin-workflow-actions.component.spec.ts | 33 +- ...e-item-admin-workflow-actions.component.ts | 43 +- ...in-workflow-grid-element.component.spec.ts | 46 +- ...t-admin-workflow-grid-element.component.ts | 38 +- ...in-workflow-grid-element.component.spec.ts | 47 +- ...t-admin-workflow-grid-element.component.ts | 65 +-- ...in-workflow-list-element.component.spec.ts | 42 +- ...t-admin-workflow-list-element.component.ts | 35 +- ...in-workflow-list-element.component.spec.ts | 43 +- ...t-admin-workflow-list-element.component.ts | 54 ++- .../admin-workflow.module.ts | 36 +- src/app/admin/admin.module.ts | 13 +- src/app/app-routing-paths.ts | 17 +- src/app/app-routing.module.ts | 33 +- src/app/app.component.spec.ts | 84 ++-- src/app/app.component.ts | 47 +- src/app/app.effects.ts | 6 +- src/app/app.module.ts | 59 ++- src/app/app.reducer.ts | 52 ++- ...bitstream-authorizations.component.spec.ts | 23 +- .../bitstream-authorizations.component.ts | 11 +- .../bitstream-download-page.component.spec.ts | 36 +- .../bitstream-download-page.component.ts | 54 ++- .../bitstream-page-routing.module.ts | 17 +- .../bitstream-page/bitstream-page.module.ts | 11 +- .../bitstream-page/bitstream-page.resolver.ts | 16 +- .../edit-bitstream-page.component.spec.ts | 59 ++- .../edit-bitstream-page.component.ts | 73 ++- .../themed-edit-bitstream-page.component.ts | 3 +- .../legacy-bitstream-url.resolver.spec.ts | 5 +- .../legacy-bitstream-url.resolver.ts | 9 +- .../breadcrumbs/breadcrumbs.component.spec.ts | 25 +- src/app/breadcrumbs/breadcrumbs.component.ts | 3 +- .../breadcrumbs/breadcrumbs.service.spec.ts | 18 +- src/app/breadcrumbs/breadcrumbs.service.ts | 27 +- .../themed-breadcrumbs.component.ts | 1 + .../browse-by-date-page.component.spec.ts | 47 +- .../browse-by-date-page.component.ts | 50 +- .../themed-browse-by-date-page.component.ts | 6 +- .../browse-by-dso-breadcrumb.resolver.ts | 23 +- src/app/browse-by/browse-by-guard.spec.ts | 14 +- src/app/browse-by/browse-by-guard.ts | 40 +- .../browse-by-i18n-breadcrumb.resolver.ts | 8 +- .../browse-by-metadata-page.component.spec.ts | 68 +-- .../browse-by-metadata-page.component.ts | 64 ++- ...hemed-browse-by-metadata-page.component.ts | 6 +- src/app/browse-by/browse-by-page.module.ts | 9 +- src/app/browse-by/browse-by-routing.module.ts | 7 +- .../browse-by-decorator.spec.ts | 5 +- .../browse-by-switcher/browse-by-decorator.ts | 3 +- .../browse-by-switcher.component.spec.ts | 18 +- .../browse-by-switcher.component.ts | 11 +- .../browse-by-taxonomy-page.component.spec.ts | 15 +- .../browse-by-taxonomy-page.component.ts | 23 +- ...hemed-browse-by-taxonomy-page.component.ts | 1 + .../browse-by-title-page.component.spec.ts | 48 +- .../browse-by-title-page.component.ts | 37 +- .../themed-browse-by-title-page.component.ts | 6 +- src/app/browse-by/browse-by.module.ts | 25 +- .../collection-form.component.ts | 37 +- .../collection-form/collection-form.models.ts | 7 +- .../collection-form/collection-form.module.ts | 4 +- .../collection-item-mapper.component.spec.ts | 90 ++-- .../collection-item-mapper.component.ts | 62 ++- .../collection-page-administrator.guard.ts | 18 +- .../collection-page-routing.module.ts | 32 +- .../collection-page.component.ts | 69 ++- .../collection-page/collection-page.module.ts | 19 +- .../collection-page.resolver.spec.ts | 3 +- .../collection-page.resolver.ts | 18 +- .../create-collection-page.component.spec.ts | 29 +- .../create-collection-page.component.ts | 15 +- .../create-collection-page.guard.spec.ts | 12 +- .../create-collection-page.guard.ts | 22 +- .../delete-collection-page.component.spec.ts | 21 +- .../delete-collection-page.component.ts | 14 +- ...ollection-access-control.component.spec.ts | 5 +- .../collection-access-control.component.ts | 10 +- ...ollection-authorizations.component.spec.ts | 16 +- .../collection-authorizations.component.ts | 11 +- .../collection-curate.component.spec.ts | 22 +- .../collection-curate.component.ts | 11 +- .../collection-metadata.component.spec.ts | 37 +- .../collection-metadata.component.ts | 45 +- .../collection-roles.component.spec.ts | 40 +- .../collection-roles.component.ts | 16 +- ...llection-source-controls.component.spec.ts | 43 +- .../collection-source-controls.component.ts | 47 +- .../collection-source.component.spec.ts | 57 ++- .../collection-source.component.ts | 62 ++- .../edit-collection-page.component.spec.ts | 19 +- .../edit-collection-page.component.ts | 8 +- .../edit-collection-page.module.ts | 27 +- .../edit-collection-page.routing.module.ts | 23 +- .../edit-item-template-page.component.spec.ts | 28 +- .../edit-item-template-page.component.ts | 20 +- .../item-template-page.resolver.spec.ts | 4 +- .../item-template-page.resolver.ts | 15 +- ...hemed-edit-item-template-page.component.ts | 1 + .../themed-collection-page.component.ts | 1 + .../community-list-datasource.ts | 16 +- .../community-list-page.component.spec.ts | 18 +- .../community-list-page.module.ts | 7 +- .../community-list-page.routing.module.ts | 4 +- .../community-list-service.spec.ts | 41 +- .../community-list-service.ts | 61 ++- .../community-list.actions.ts | 1 + .../community-list.reducer.spec.ts | 3 +- .../community-list.reducer.ts | 6 +- .../community-list.component.spec.ts | 47 +- .../community-list.component.ts | 24 +- .../themed-community-list.component.ts | 3 +- .../community-list-page/flat-node.model.ts | 3 +- .../themed-community-list-page.component.ts | 1 + .../community-form.component.ts | 21 +- .../community-form/community-form.module.ts | 4 +- .../community-page-administrator.guard.ts | 18 +- .../community-page-routing.module.ts | 21 +- .../community-page.component.ts | 40 +- .../community-page/community-page.module.ts | 27 +- .../community-page.resolver.spec.ts | 3 +- .../community-page/community-page.resolver.ts | 24 +- .../create-community-page.component.spec.ts | 23 +- .../create-community-page.component.ts | 13 +- .../create-community-page.guard.spec.ts | 12 +- .../create-community-page.guard.ts | 22 +- .../delete-community-page.component.spec.ts | 13 +- .../delete-community-page.component.ts | 12 +- ...community-access-control.component.spec.ts | 5 +- .../community-access-control.component.ts | 12 +- ...community-authorizations.component.spec.ts | 14 +- .../community-authorizations.component.ts | 11 +- .../community-curate.component.spec.ts | 20 +- .../community-curate.component.ts | 16 +- .../community-metadata.component.spec.ts | 19 +- .../community-metadata.component.ts | 14 +- .../community-roles.component.spec.ts | 38 +- .../community-roles.component.ts | 18 +- .../edit-community-page.component.spec.ts | 17 +- .../edit-community-page.component.ts | 6 +- .../edit-community-page.module.ts | 21 +- .../edit-community-page.routing.module.ts | 23 +- ...page-sub-collection-list.component.spec.ts | 47 +- ...nity-page-sub-collection-list.component.ts | 28 +- ...nity-page-sub-collection-list.component.ts | 8 +- ...-page-sub-community-list.component.spec.ts | 49 +- ...unity-page-sub-community-list.component.ts | 28 +- ...unity-page-sub-community-list.component.ts | 8 +- .../themed-community-page.component.ts | 1 + src/app/core/auth/auth-blocking.guard.spec.ts | 23 +- src/app/core/auth/auth-blocking.guard.ts | 13 +- .../core/auth/auth-request.service.spec.ts | 21 +- src/app/core/auth/auth-request.service.ts | 29 +- src/app/core/auth/auth.actions.ts | 5 +- src/app/core/auth/auth.effects.spec.ts | 53 ++- src/app/core/auth/auth.effects.ts | 61 ++- src/app/core/auth/auth.interceptor.spec.ts | 16 +- src/app/core/auth/auth.interceptor.ts | 33 +- src/app/core/auth/auth.reducer.spec.ts | 13 +- src/app/core/auth/auth.reducer.ts | 9 +- src/app/core/auth/auth.service.spec.ts | 87 ++-- src/app/core/auth/auth.service.ts | 106 +++-- src/app/core/auth/authenticated.guard.ts | 22 +- .../auth/browser-auth-request.service.spec.ts | 7 +- .../core/auth/browser-auth-request.service.ts | 14 +- src/app/core/auth/models/auth-status.model.ts | 18 +- .../auth/models/short-lived-token.model.ts | 15 +- src/app/core/auth/selectors.ts | 4 +- .../auth/server-auth-request.service.spec.ts | 20 +- .../core/auth/server-auth-request.service.ts | 21 +- src/app/core/auth/server-auth.service.ts | 10 +- .../token-response-parsing.service.spec.ts | 4 +- .../auth/token-response-parsing.service.ts | 12 +- .../bitstream-breadcrumb.resolver.ts | 8 +- .../bitstream-breadcrumbs.service.ts | 37 +- .../breadcrumbs/breadcrumbsProviderService.ts | 3 +- .../collection-breadcrumb.resolver.ts | 11 +- .../community-breadcrumb.resolver.ts | 9 +- .../dso-breadcrumb.resolver.spec.ts | 7 +- .../breadcrumbs/dso-breadcrumb.resolver.ts | 24 +- .../dso-breadcrumbs.service.spec.ts | 31 +- .../breadcrumbs/dso-breadcrumbs.service.ts | 28 +- src/app/core/breadcrumbs/dso-name.service.ts | 8 +- .../i18n-breadcrumb.resolver.spec.ts | 2 +- .../breadcrumbs/i18n-breadcrumb.resolver.ts | 11 +- .../i18n-breadcrumbs.service.spec.ts | 13 +- .../breadcrumbs/i18n-breadcrumbs.service.ts | 8 +- .../breadcrumbs/item-breadcrumb.resolver.ts | 7 +- .../browse-definition-data.service.spec.ts | 13 +- .../browse/browse-definition-data.service.ts | 46 +- src/app/core/browse/browse.service.spec.ts | 25 +- src/app/core/browse/browse.service.ts | 29 +- .../cache/builders/build-decorators.spec.ts | 5 +- .../core/cache/builders/build-decorators.ts | 7 +- .../core/cache/builders/link.service.spec.ts | 17 +- src/app/core/cache/builders/link.service.ts | 28 +- .../remote-data-build.service.spec.ts | 59 ++- .../builders/remote-data-build.service.ts | 51 ++- src/app/core/cache/cacheable-object.model.ts | 2 +- src/app/core/cache/object-cache.actions.ts | 2 +- .../core/cache/object-cache.effects.spec.ts | 12 +- src/app/core/cache/object-cache.effects.ts | 8 +- .../core/cache/object-cache.reducer.spec.ts | 2 +- src/app/core/cache/object-cache.reducer.ts | 18 +- .../core/cache/object-cache.service.spec.ts | 39 +- src/app/core/cache/object-cache.service.ts | 64 ++- src/app/core/cache/response.models.ts | 4 +- .../cache/server-sync-buffer.effects.spec.ts | 20 +- .../core/cache/server-sync-buffer.effects.ts | 60 ++- .../cache/server-sync-buffer.reducer.spec.ts | 10 +- .../core/cache/server-sync-buffer.reducer.ts | 7 +- .../config/bulk-access-config-data.service.ts | 7 +- .../core/config/config-data.service.spec.ts | 13 +- src/app/core/config/config-data.service.ts | 6 +- .../bulk-access-condition-options.model.ts | 11 +- .../models/config-submission-access.model.ts | 9 +- .../config-submission-accesses.model.ts | 3 +- .../config-submission-definition.model.ts | 9 +- .../config-submission-definitions.model.ts | 1 + .../models/config-submission-form.model.ts | 8 +- .../models/config-submission-forms.model.ts | 1 + .../models/config-submission-section.model.ts | 7 +- .../config-submission-sections.model.ts | 1 + .../models/config-submission-upload.model.ts | 23 +- .../models/config-submission-uploads.model.ts | 3 +- src/app/core/config/models/config.model.ts | 8 +- ...submission-accesses-config-data.service.ts | 17 +- .../submission-forms-config-data.service.ts | 19 +- .../submission-uploads-config-data.service.ts | 17 +- src/app/core/core-state.model.ts | 8 +- src/app/core/core.effects.ts | 10 +- src/app/core/core.module.ts | 193 ++++---- src/app/core/core.reducers.ts | 20 +- src/app/core/core.selectors.ts | 1 + .../data/access-status-data.service.spec.ts | 22 +- .../core/data/access-status-data.service.ts | 11 +- ...array-move-change-analyzer.service.spec.ts | 3 +- .../array-move-change-analyzer.service.ts | 5 +- .../base-response-parsing.service.spec.ts | 8 +- .../data/base-response-parsing.service.ts | 21 +- .../core/data/base/base-data.service.spec.ts | 35 +- src/app/core/data/base/base-data.service.ts | 36 +- src/app/core/data/base/create-data.spec.ts | 30 +- src/app/core/data/base/create-data.ts | 33 +- .../data/base/data-service.decorator.spec.ts | 8 +- .../core/data/base/data-service.decorator.ts | 8 +- src/app/core/data/base/delete-data.spec.ts | 33 +- src/app/core/data/base/delete-data.ts | 25 +- src/app/core/data/base/find-all-data.spec.ts | 35 +- src/app/core/data/base/find-all-data.ts | 21 +- .../data/base/hal-data-service.interface.ts | 5 +- .../base/identifiable-data.service.spec.ts | 22 +- .../data/base/identifiable-data.service.ts | 11 +- src/app/core/data/base/patch-data.spec.ts | 46 +- src/app/core/data/base/patch-data.ts | 35 +- src/app/core/data/base/put-data.spec.ts | 29 +- src/app/core/data/base/put-data.ts | 17 +- src/app/core/data/base/search-data.spec.ts | 13 +- src/app/core/data/base/search-data.ts | 23 +- .../core/data/bitstream-data.service.spec.ts | 37 +- src/app/core/data/bitstream-data.service.ts | 73 ++- .../bitstream-format-data.service.spec.ts | 41 +- .../data/bitstream-format-data.service.ts | 48 +- .../browse-response-parsing.service.spec.ts | 4 +- .../data/browse-response-parsing.service.ts | 15 +- src/app/core/data/bundle-data.service.spec.ts | 22 +- src/app/core/data/bundle-data.service.ts | 26 +- .../core/data/collection-data.service.spec.ts | 49 +- src/app/core/data/collection-data.service.ts | 26 +- src/app/core/data/comcol-data.service.spec.ts | 31 +- src/app/core/data/comcol-data.service.ts | 77 +++- src/app/core/data/community-data.service.ts | 19 +- .../data/configuration-data.service.spec.ts | 12 +- .../core/data/configuration-data.service.ts | 9 +- ...content-source-response-parsing.service.ts | 3 +- .../data/debug-response-parsing.service.ts | 1 + .../data/default-change-analyzer.service.ts | 9 +- .../core/data/dso-change-analyzer.service.ts | 10 +- .../core/data/dso-redirect.service.spec.ts | 19 +- src/app/core/data/dso-redirect.service.ts | 11 +- .../core/data/dso-response-parsing.service.ts | 15 +- .../data/dspace-object-data.service.spec.ts | 10 +- .../core/data/dspace-object-data.service.ts | 5 +- .../dspace-rest-response-parsing.service.ts | 43 +- .../endpoint-map-response-parsing.service.ts | 16 +- src/app/core/data/entity-type-data.service.ts | 43 +- .../data/eperson-registration.service.spec.ts | 19 +- .../core/data/eperson-registration.service.ts | 39 +- .../data/external-source-data.service.spec.ts | 9 +- .../core/data/external-source-data.service.ts | 36 +- .../facet-config-response-parsing.service.ts | 5 +- .../facet-value-response-parsing.service.ts | 7 +- .../authorization-data.service.spec.ts | 34 +- .../authorization-data.service.ts | 52 ++- .../authorization-utils.ts | 24 +- .../collection-administrator.guard.ts | 16 +- .../community-administrator.guard.ts | 16 +- .../dso-page-single-feature.guard.spec.ts | 23 +- .../dso-page-single-feature.guard.ts | 14 +- .../dso-page-some-feature.guard.spec.ts | 21 +- .../dso-page-some-feature.guard.ts | 23 +- .../group-administrator.guard.ts | 16 +- ...single-feature-authorization.guard.spec.ts | 16 +- .../single-feature-authorization.guard.ts | 8 +- .../site-administrator.guard.ts | 18 +- .../site-register.guard.ts | 18 +- .../some-feature-authorization.guard.spec.ts | 14 +- .../some-feature-authorization.guard.ts | 19 +- .../statistics-administrator.guard.ts | 16 +- .../feature-data.service.ts | 7 +- ...very-page-response-parsing.service.spec.ts | 6 +- ...discovery-page-response-parsing.service.ts | 10 +- src/app/core/data/find-list-options.model.ts | 2 +- .../core/data/href-only-data.service.spec.ts | 9 +- src/app/core/data/href-only-data.service.ts | 21 +- src/app/core/data/identifier-data.service.ts | 40 +- src/app/core/data/item-data.service.spec.ts | 27 +- src/app/core/data/item-data.service.ts | 75 ++- .../data/item-request-data.service.spec.ts | 15 +- .../core/data/item-request-data.service.ts | 34 +- .../data/item-template-data.service.spec.ts | 30 +- .../core/data/item-template-data.service.ts | 25 +- .../core/data/lookup-relation.service.spec.ts | 32 +- src/app/core/data/lookup-relation.service.ts | 37 +- .../data/metadata-field-data.service.spec.ts | 25 +- .../core/data/metadata-field-data.service.ts | 51 ++- .../data/metadata-schema-data.service.spec.ts | 24 +- .../core/data/metadata-schema-data.service.ts | 39 +- .../data/mydspace-response-parsing.service.ts | 10 +- .../data/object-updates/field-update.model.ts | 2 +- .../object-updates/object-updates.actions.ts | 7 +- .../object-updates.effects.spec.ts | 34 +- .../object-updates/object-updates.effects.ts | 45 +- .../object-updates.reducer.spec.ts | 10 +- .../object-updates/object-updates.reducer.ts | 19 +- .../object-updates.service.spec.ts | 17 +- .../object-updates/object-updates.service.ts | 60 ++- .../metadata-patch-operation.service.spec.ts | 5 +- .../metadata-patch-operation.service.ts | 13 +- .../metadata-patch-add-operation.model.ts | 3 +- .../metadata-patch-move-operation.model.ts | 3 +- .../metadata-patch-remove-operation.model.ts | 3 +- .../metadata-patch-replace-operation.model.ts | 3 +- .../patch-operation.service.ts | 1 + src/app/core/data/paginated-list.model.ts | 23 +- src/app/core/data/parsing.service.ts | 2 +- .../data/primary-bitstream.service.spec.ts | 40 +- .../core/data/primary-bitstream.service.ts | 28 +- .../processes/process-data.service.spec.ts | 2 +- .../data/processes/process-data.service.ts | 39 +- .../data/processes/script-data.service.ts | 35 +- ...istration-response-parsing.service.spec.ts | 2 +- .../registration-response-parsing.service.ts | 7 +- .../data/relationship-data.service.spec.ts | 33 +- .../core/data/relationship-data.service.ts | 90 +++- .../relationship-type-data.service.spec.ts | 12 +- .../data/relationship-type-data.service.ts | 34 +- src/app/core/data/request-entry.model.ts | 2 +- src/app/core/data/request.actions.ts | 1 + src/app/core/data/request.effects.ts | 33 +- src/app/core/data/request.models.ts | 18 +- src/app/core/data/request.reducer.spec.ts | 1 + src/app/core/data/request.reducer.ts | 8 +- src/app/core/data/request.service.spec.ts | 43 +- src/app/core/data/request.service.ts | 54 ++- ...rest-request-with-response-parser.model.ts | 2 +- src/app/core/data/rest-request.model.ts | 2 +- src/app/core/data/root-data.service.spec.ts | 14 +- src/app/core/data/root-data.service.ts | 25 +- src/app/core/data/root.model.ts | 14 +- .../data/search-response-parsing.service.ts | 8 +- .../data/signposting-data.service.spec.ts | 13 +- src/app/core/data/signposting-data.service.ts | 21 +- src/app/core/data/site-data.service.spec.ts | 20 +- src/app/core/data/site-data.service.ts | 16 +- ...atus-code-only-response-parsing.service.ts | 1 + .../system-wide-alert-data.service.spec.ts | 4 +- .../data/system-wide-alert-data.service.ts | 41 +- src/app/core/data/update-data.service.ts | 3 +- .../core/data/version-data.service.spec.ts | 26 +- src/app/core/data/version-data.service.ts | 36 +- .../data/version-history-data.service.spec.ts | 28 +- .../core/data/version-history-data.service.ts | 57 ++- .../core/data/workflow-action-data.service.ts | 7 +- .../dspace-rest/dspace-not-null.serializer.ts | 5 +- .../dspace-rest/dspace-rest.service.spec.ts | 21 +- .../core/dspace-rest/dspace-rest.service.ts | 25 +- .../dspace-rest/dspace.serializer.spec.ts | 6 +- src/app/core/dspace-rest/dspace.serializer.ts | 5 +- .../abstract-end-user-agreement.guard.ts | 16 +- .../end-user-agreement-cookie.guard.spec.ts | 6 +- .../end-user-agreement-cookie.guard.ts | 10 +- ...-user-agreement-current-user.guard.spec.ts | 10 +- .../end-user-agreement-current-user.guard.ts | 10 +- .../end-user-agreement.service.spec.ts | 9 +- .../end-user-agreement.service.ts | 16 +- .../core/eperson/eperson-data.service.spec.ts | 58 ++- src/app/core/eperson/eperson-data.service.ts | 65 ++- .../core/eperson/group-data.service.spec.ts | 56 ++- src/app/core/eperson/group-data.service.ts | 62 ++- src/app/core/eperson/models/eperson.model.ts | 16 +- src/app/core/eperson/models/group.model.ts | 16 +- .../feedback/feedback-data.service.spec.ts | 15 +- .../core/feedback/feedback-data.service.ts | 29 +- src/app/core/feedback/feedback.guard.ts | 10 +- .../core/feedback/models/feedback.model.ts | 7 +- .../forward-client-ip.interceptor.spec.ts | 12 +- .../forward-client-ip.interceptor.ts | 14 +- .../google-recaptcha.module.ts | 2 +- .../google-recaptcha.service.spec.ts | 3 +- .../google-recaptcha.service.ts | 32 +- src/app/core/history/history.reducer.ts | 6 +- src/app/core/history/selectors.ts | 1 + src/app/core/index/index.effects.spec.ts | 19 +- src/app/core/index/index.effects.ts | 34 +- src/app/core/index/index.reducer.spec.ts | 5 +- src/app/core/index/index.reducer.ts | 8 +- src/app/core/index/index.selectors.spec.ts | 5 +- src/app/core/index/index.selectors.ts | 20 +- .../builder/json-patch-operations-builder.ts | 24 +- .../json-patch-operations.effects.spec.ts | 17 +- .../json-patch-operations.effects.ts | 10 +- .../json-patch-operations.reducer.spec.ts | 3 +- .../json-patch-operations.reducer.ts | 21 +- .../json-patch-operations.service.spec.ts | 35 +- .../json-patch-operations.service.ts | 41 +- src/app/core/json-patch/selectors.ts | 11 +- .../core/locale/locale.interceptor.spec.ts | 17 +- src/app/core/locale/locale.interceptor.ts | 13 +- src/app/core/locale/locale.service.spec.ts | 26 +- src/app/core/locale/locale.service.ts | 40 +- src/app/core/locale/server-locale.service.ts | 44 +- src/app/core/log/log.interceptor.spec.ts | 24 +- src/app/core/log/log.interceptor.ts | 11 +- src/app/core/metadata/meta-tag.actions.ts | 3 +- .../core/metadata/meta-tag.reducer.spec.ts | 5 +- src/app/core/metadata/meta-tag.reducer.ts | 4 +- src/app/core/metadata/metadata-field.model.ts | 15 +- .../core/metadata/metadata-schema.model.ts | 6 +- .../core/metadata/metadata.service.spec.ts | 60 ++- src/app/core/metadata/metadata.service.ts | 79 ++-- .../core/orcid/model/orcid-history.model.ts | 8 +- src/app/core/orcid/model/orcid-queue.model.ts | 8 +- src/app/core/orcid/orcid-auth.service.spec.ts | 30 +- src/app/core/orcid/orcid-auth.service.ts | 39 +- .../core/orcid/orcid-history-data.service.ts | 16 +- .../core/orcid/orcid-queue-data.service.ts | 35 +- .../pagination/pagination.service.spec.ts | 10 +- src/app/core/pagination/pagination.service.ts | 36 +- .../profile/model/researcher-profile.model.ts | 19 +- .../researcher-profile-data.service.spec.ts | 52 ++- .../researcher-profile-data.service.ts | 66 ++- .../core/registry/registry.service.spec.ts | 32 +- src/app/core/registry/registry.service.ts | 46 +- src/app/core/reload/reload.guard.spec.ts | 1 + src/app/core/reload/reload.guard.ts | 19 +- src/app/core/resolving/resolver.actions.ts | 3 +- .../models/resource-policy.model.ts | 36 +- .../resource-policy-data.service.spec.ts | 30 +- .../resource-policy-data.service.ts | 58 +-- src/app/core/roles/role.service.ts | 8 +- src/app/core/router/router.actions.ts | 1 + src/app/core/router/router.effects.ts | 18 +- .../server-check/server-check.guard.spec.ts | 3 +- .../core/server-check/server-check.guard.ts | 15 +- .../browser-hard-redirect.service.spec.ts | 1 + .../services/browser-hard-redirect.service.ts | 7 +- .../services/browser.referrer.service.spec.ts | 3 +- .../core/services/browser.referrer.service.ts | 10 +- .../core/services/client-cookie.service.ts | 13 +- src/app/core/services/cookie.service.spec.ts | 11 +- src/app/core/services/cookie.service.ts | 12 +- .../core/services/link-head.service.spec.ts | 11 +- src/app/core/services/link-head.service.ts | 7 +- src/app/core/services/route.actions.ts | 5 +- src/app/core/services/route.effects.ts | 17 +- src/app/core/services/route.reducer.ts | 3 +- src/app/core/services/route.service.spec.ts | 27 +- src/app/core/services/route.service.ts | 42 +- .../core/services/server-cookie.service.ts | 6 +- .../server-hard-redirect.service.spec.ts | 1 + .../services/server-hard-redirect.service.ts | 16 +- .../core/services/server-response.service.ts | 7 +- src/app/core/services/server-xhr.service.ts | 10 +- .../core/services/server.referrer.service.ts | 13 +- src/app/core/shared/authorization.model.ts | 18 +- src/app/core/shared/authorized.operators.ts | 26 +- src/app/core/shared/bitstream-format.model.ts | 11 +- src/app/core/shared/bitstream.model.ts | 20 +- src/app/core/shared/bitstream.operators.ts | 15 +- .../core/shared/browse-definition.model.ts | 1 + src/app/core/shared/browse-entry.model.ts | 9 +- src/app/core/shared/bundle.model.ts | 21 +- src/app/core/shared/collection.model.ts | 34 +- src/app/core/shared/community.model.ts | 16 +- .../shared/configuration-property.model.ts | 11 +- src/app/core/shared/content-source.model.ts | 18 +- src/app/core/shared/dspace-object.model.ts | 16 +- .../shared/external-source-entry.model.ts | 12 +- src/app/core/shared/external-source.model.ts | 23 +- src/app/core/shared/feature.model.ts | 9 +- src/app/core/shared/file.service.ts | 24 +- .../shared/flat-browse-definition.model.ts | 10 +- .../core/shared/hal-endpoint.service.spec.ts | 19 +- src/app/core/shared/hal-endpoint.service.ts | 27 +- src/app/core/shared/hal-resource.model.ts | 3 +- .../hierarchical-browse-definition.model.ts | 14 +- .../item-relationships/item-type.model.ts | 9 +- .../relationship-type.model.ts | 14 +- .../item-relationships/relationship.model.ts | 16 +- src/app/core/shared/item-request.model.ts | 14 +- src/app/core/shared/item.model.spec.ts | 1 - src/app/core/shared/item.model.ts | 33 +- src/app/core/shared/license.model.ts | 6 +- ...item-metadata-representation.model.spec.ts | 4 +- .../item-metadata-representation.model.ts | 5 +- .../metadatum-representation.model.spec.ts | 4 +- .../metadatum-representation.model.ts | 7 +- src/app/core/shared/metadata.models.ts | 7 +- src/app/core/shared/metadata.utils.spec.ts | 10 +- src/app/core/shared/metadata.utils.ts | 12 +- .../non-hierarchical-browse-definition.ts | 9 +- src/app/core/shared/operators.spec.ts | 26 +- src/app/core/shared/operators.ts | 29 +- src/app/core/shared/page-info.model.ts | 7 +- src/app/core/shared/registration.model.ts | 2 +- src/app/core/shared/request.operators.ts | 17 +- .../search-configuration.service.spec.ts | 28 +- .../search/search-configuration.service.ts | 81 +++- .../search/search-filter.service.spec.ts | 14 +- .../shared/search/search-filter.service.ts | 46 +- .../search-filters/search-config.model.ts | 9 +- .../core/shared/search/search.service.spec.ts | 58 ++- src/app/core/shared/search/search.service.ts | 64 ++- src/app/core/shared/site.model.ts | 1 + src/app/core/shared/template-item.model.ts | 10 +- .../value-list-browse-definition.model.ts | 12 +- src/app/core/shared/version-history.model.ts | 20 +- src/app/core/shared/version.model.ts | 28 +- .../statistics/models/usage-report.model.ts | 17 +- .../statistics/usage-report-data.service.ts | 33 +- .../models/submission-cc-license-url.model.ts | 10 +- .../models/submission-cc-license.model.ts | 10 +- .../models/submission-object.model.ts | 16 +- .../submission/models/workflowitem.model.ts | 11 +- .../models/workspaceitem-sections.model.ts | 6 +- .../submission/models/workspaceitem.model.ts | 13 +- .../resolver/submission-object.resolver.ts | 13 +- ...submission-cc-license-data.service.spec.ts | 2 +- .../submission-cc-license-data.service.ts | 22 +- .../submission-cc-license-url-data.service.ts | 40 +- ...sion-json-patch-operations.service.spec.ts | 9 +- ...ubmission-json-patch-operations.service.ts | 11 +- .../submission-object-data.service.spec.ts | 2 +- .../submission-object-data.service.ts | 16 +- .../submission-response-parsing.service.ts | 18 +- .../submission-rest.service.spec.ts | 12 +- .../submission/submission-rest.service.ts | 24 +- .../models/vocabulary-entry-detail.model.ts | 8 +- .../models/vocabulary-entry.model.ts | 15 +- .../models/vocabulary-find-options.model.ts | 4 +- .../vocabularies/models/vocabulary.model.ts | 27 +- ...abulary-entry-details.data.service.spec.ts | 2 +- .../vocabulary-entry-details.data.service.ts | 33 +- .../vocabulary.data.service.spec.ts | 2 +- .../vocabularies/vocabulary.data.service.ts | 28 +- .../vocabularies/vocabulary.service.spec.ts | 36 +- .../vocabularies/vocabulary.service.ts | 34 +- .../workflowitem-data.service.spec.ts | 26 +- .../submission/workflowitem-data.service.ts | 42 +- .../workspaceitem-data.service.spec.ts | 30 +- .../submission/workspaceitem-data.service.ts | 33 +- .../models/supervision-order.model.ts | 30 +- .../supervision-order-data.service.spec.ts | 26 +- .../supervision-order-data.service.ts | 58 +-- .../tasks/claimed-task-data.service.spec.ts | 14 +- .../core/tasks/claimed-task-data.service.ts | 13 +- .../tasks/models/claimed-task-object.model.ts | 6 +- .../tasks/models/pool-task-object.model.ts | 6 +- .../rating-advanced-workflow-info.model.ts | 10 +- ...t-reviewer-advanced-workflow-info.model.ts | 10 +- .../core/tasks/models/task-object.model.ts | 17 +- .../models/workflow-action-object.model.ts | 8 +- .../core/tasks/pool-task-data.service.spec.ts | 14 +- src/app/core/tasks/pool-task-data.service.ts | 12 +- .../tasks/task-response-parsing.service.ts | 7 +- src/app/core/tasks/tasks.service.spec.ts | 38 +- src/app/core/tasks/tasks.service.ts | 49 +- .../core/url-combiner/rest-url-combiner.ts | 2 +- src/app/core/url-combiner/ui-url-combiner.ts | 2 +- .../core/utilities/enter-zone.scheduler.ts | 5 +- src/app/core/utilities/equals.decorators.ts | 6 +- src/app/core/utilities/equatable.spec.ts | 7 +- .../core/utilities/leave-zone.scheduler.ts | 5 +- src/app/core/xsrf/xsrf.interceptor.spec.ts | 20 +- src/app/core/xsrf/xsrf.interceptor.ts | 21 +- .../correlation-id/correlation-id.actions.ts | 3 +- .../correlation-id.reducer.spec.ts | 2 +- .../correlation-id/correlation-id.reducer.ts | 6 +- .../correlation-id.service.spec.ts | 20 +- .../correlation-id/correlation-id.service.ts | 12 +- .../curation-form.component.spec.ts | 35 +- .../curation-form/curation-form.component.ts | 42 +- ...it-metadata-field-values.component.spec.ts | 24 +- ...so-edit-metadata-field-values.component.ts | 24 +- .../dso-edit-metadata-form.spec.ts | 5 +- .../dso-edit-metadata-form.ts | 24 +- ...so-edit-metadata-headers.component.spec.ts | 15 +- .../dso-edit-metadata-headers.component.ts | 5 +- ...o-edit-metadata-value-headers.component.ts | 5 +- .../dso-edit-metadata-value.component.spec.ts | 38 +- .../dso-edit-metadata-value.component.ts | 29 +- .../dso-edit-metadata.component.spec.ts | 37 +- .../dso-edit-metadata.component.ts | 50 +- .../metadata-field-selector.component.spec.ts | 31 +- .../metadata-field-selector.component.ts | 30 +- .../themed-dso-edit-metadata.component.ts | 10 +- src/app/dso-shared/dso-shared.module.ts | 5 +- ...urnal-issue-grid-element.component.spec.ts | 29 +- .../journal-issue-grid-element.component.ts | 3 +- ...rnal-volume-grid-element.component.spec.ts | 29 +- .../journal-volume-grid-element.component.ts | 3 +- .../journal-grid-element.component.spec.ts | 29 +- .../journal/journal-grid-element.component.ts | 3 +- ...arch-result-grid-element.component.spec.ts | 8 +- ...ue-search-result-grid-element.component.ts | 3 +- ...arch-result-grid-element.component.spec.ts | 8 +- ...me-search-result-grid-element.component.ts | 3 +- ...arch-result-grid-element.component.spec.ts | 8 +- ...al-search-result-grid-element.component.ts | 3 +- ...urnal-issue-list-element.component.spec.ts | 19 +- .../journal-issue-list-element.component.ts | 3 +- ...rnal-volume-list-element.component.spec.ts | 19 +- .../journal-volume-list-element.component.ts | 5 +- .../journal-list-element.component.spec.ts | 19 +- .../journal/journal-list-element.component.ts | 3 +- ...arch-result-list-element.component.spec.ts | 26 +- ...ue-search-result-list-element.component.ts | 3 +- ...arch-result-list-element.component.spec.ts | 26 +- ...me-search-result-list-element.component.ts | 3 +- ...arch-result-list-element.component.spec.ts | 26 +- ...al-search-result-list-element.component.ts | 3 +- ...ebar-search-list-element.component.spec.ts | 2 +- ...e-sidebar-search-list-element.component.ts | 11 +- ...ebar-search-list-element.component.spec.ts | 2 +- ...e-sidebar-search-list-element.component.ts | 11 +- ...ebar-search-list-element.component.spec.ts | 2 +- ...l-sidebar-search-list-element.component.ts | 11 +- .../journal-issue.component.spec.ts | 4 +- .../journal-issue/journal-issue.component.ts | 3 +- .../journal-volume.component.spec.ts | 4 +- .../journal-volume.component.ts | 3 +- .../journal/journal.component.spec.ts | 40 +- .../item-pages/journal/journal.component.ts | 3 +- .../journal-entities.module.ts | 31 +- .../org-unit-grid-element.component.spec.ts | 29 +- .../org-unit-grid-element.component.ts | 3 +- .../person-grid-element.component.spec.ts | 29 +- .../person/person-grid-element.component.ts | 3 +- .../project-grid-element.component.spec.ts | 29 +- .../project/project-grid-element.component.ts | 3 +- ...arch-result-grid-element.component.spec.ts | 8 +- ...it-search-result-grid-element.component.ts | 3 +- ...arch-result-grid-element.component.spec.ts | 8 +- ...on-search-result-grid-element.component.ts | 3 +- ...arch-result-grid-element.component.spec.ts | 8 +- ...ct-search-result-grid-element.component.ts | 3 +- .../org-unit-list-element.component.spec.ts | 19 +- .../org-unit-list-element.component.ts | 3 +- .../person-list-element.component.spec.ts | 19 +- .../person/person-list-element.component.ts | 3 +- .../project-list-element.component.spec.ts | 19 +- .../project/project-list-element.component.ts | 5 +- ...arch-result-list-element.component.spec.ts | 31 +- ...it-search-result-list-element.component.ts | 1 + ...arch-result-list-element.component.spec.ts | 31 +- ...on-search-result-list-element.component.ts | 19 +- ...arch-result-list-element.component.spec.ts | 28 +- ...ct-search-result-list-element.component.ts | 3 +- ...ebar-search-list-element.component.spec.ts | 2 +- ...t-sidebar-search-list-element.component.ts | 11 +- ...ebar-search-list-element.component.spec.ts | 2 +- ...n-sidebar-search-list-element.component.ts | 19 +- ...ebar-search-list-element.component.spec.ts | 2 +- ...t-sidebar-search-list-element.component.ts | 11 +- .../org-unit/org-unit.component.spec.ts | 4 +- .../item-pages/org-unit/org-unit.component.ts | 3 +- .../person/person.component.spec.ts | 6 +- .../item-pages/person/person.component.ts | 3 +- .../project/project.component.spec.ts | 6 +- .../item-pages/project/project.component.ts | 3 +- ...em-metadata-list-element.component.spec.ts | 16 +- ...it-item-metadata-list-element.component.ts | 3 +- ...em-metadata-list-element.component.spec.ts | 16 +- ...on-item-metadata-list-element.component.ts | 3 +- ...em-metadata-list-element.component.spec.ts | 20 +- ...ct-item-metadata-list-element.component.ts | 7 +- .../research-entities.module.ts | 45 +- ...-list-submission-element.component.spec.ts | 13 +- ...entry-list-submission-element.component.ts | 16 +- ...-list-submission-element.component.spec.ts | 25 +- ...esult-list-submission-element.component.ts | 38 +- ...g-unit-input-suggestions.component.spec.ts | 14 +- .../org-unit-input-suggestions.component.ts | 8 +- ...-list-submission-element.component.spec.ts | 19 +- ...esult-list-submission-element.component.ts | 40 +- .../person-input-suggestions.component.ts | 8 +- .../name-variant-modal.component.spec.ts | 15 +- .../name-variant-modal.component.ts | 5 +- src/app/footer/footer.component.spec.ts | 28 +- src/app/footer/footer.component.ts | 12 +- src/app/footer/themed-footer.component.ts | 1 + src/app/forbidden/forbidden.component.ts | 6 +- .../forbidden/themed-forbidden.component.ts | 1 + .../forgot-email.component.spec.ts | 11 +- .../forgot-email.component.ts | 1 + .../themed-forgot-email.component.ts | 1 + .../forgot-password-form.component.spec.ts | 39 +- .../forgot-password-form.component.ts | 29 +- .../themed-forgot-password-form.component.ts | 1 + .../forgot-password-routing.module.ts | 5 +- .../forgot-password/forgot-password.module.ts | 13 +- .../header-navbar-wrapper.component.ts | 13 +- .../themed-header-navbar-wrapper.component.ts | 1 + .../context-help-toggle.component.spec.ts | 17 +- .../context-help-toggle.component.ts | 8 +- src/app/header/header.component.spec.ts | 15 +- src/app/header/header.component.ts | 1 + src/app/header/themed-header.component.ts | 1 + .../health-info-component.component.spec.ts | 20 +- .../health-info-component.component.ts | 7 +- .../health-info/health-info.component.spec.ts | 20 +- .../health-info/health-info.component.ts | 7 +- .../health-page/health-page.component.spec.ts | 22 +- src/app/health-page/health-page.component.ts | 11 +- src/app/health-page/health-page.module.ts | 11 +- .../health-page/health-page.routing.module.ts | 6 +- .../health-component.component.spec.ts | 22 +- .../health-component.component.ts | 8 +- .../health-panel.component.spec.ts | 22 +- .../health-panel/health-panel.component.ts | 7 +- .../health-status.component.spec.ts | 18 +- .../health-status/health-status.component.ts | 6 +- src/app/health-page/health.service.ts | 6 +- .../home-news/themed-home-news.component.ts | 1 + src/app/home-page/home-page-routing.module.ts | 4 +- src/app/home-page/home-page.component.ts | 11 +- src/app/home-page/home-page.module.ts | 18 +- src/app/home-page/home-page.resolver.ts | 11 +- .../recent-item-list.component.spec.ts | 27 +- .../recent-item-list.component.ts | 56 ++- .../home-page/themed-home-page.component.ts | 3 +- ...emed-top-level-community-list.component.ts | 3 +- ...top-level-community-list.component.spec.ts | 59 +-- .../top-level-community-list.component.ts | 31 +- .../import-external-page.component.spec.ts | 11 +- .../import-external-page.module.ts | 8 +- .../import-external-routing.module.ts | 1 + ...d-user-agreement-content.component.spec.ts | 11 +- .../end-user-agreement.component.spec.ts | 26 +- .../end-user-agreement.component.ts | 27 +- .../themed-end-user-agreement.component.ts | 1 + .../feedback-form.component.spec.ts | 40 +- .../feedback-form/feedback-form.component.ts | 37 +- .../themed-feedback-form.component.ts | 1 + .../info/feedback/feedback.component.spec.ts | 11 +- .../feedback/themed-feedback.component.ts | 1 + src/app/info/info-routing.module.ts | 17 +- src/app/info/info.module.ts | 13 +- .../privacy-content.component.spec.ts | 11 +- .../info/privacy/privacy.component.spec.ts | 11 +- .../info/privacy/themed-privacy.component.ts | 1 + src/app/init.service.spec.ts | 61 ++- src/app/init.service.ts | 46 +- .../alerts/item-alerts.component.spec.ts | 13 +- .../item-page/alerts/item-alerts.component.ts | 6 +- .../alerts/themed-item-alerts.component.ts | 8 +- ...ream-request-a-copy-page.component.spec.ts | 51 ++- ...bitstream-request-a-copy-page.component.ts | 64 ++- .../upload/upload-bitstream.component.spec.ts | 51 ++- .../upload/upload-bitstream.component.ts | 62 ++- .../abstract-item-update.component.ts | 47 +- .../edit-item-operators.spec.ts | 7 +- .../edit-item-page/edit-item-operators.ts | 3 +- .../edit-item-page.component.spec.ts | 38 +- .../edit-item-page.component.ts | 32 +- .../edit-item-page/edit-item-page.module.ts | 75 ++- .../edit-item-page.routing.module.ts | 61 +-- .../item-access-control.component.spec.ts | 5 +- .../item-access-control.component.ts | 10 +- .../item-authorizations.component.spec.ts | 31 +- .../item-authorizations.component.ts | 45 +- .../item-bitstreams.component.spec.ts | 63 ++- .../item-bitstreams.component.ts | 70 ++- ...em-edit-bitstream-bundle.component.spec.ts | 18 +- .../item-edit-bitstream-bundle.component.ts | 13 +- ...-and-drop-bitstream-list.component.spec.ts | 31 +- ...-drag-and-drop-bitstream-list.component.ts | 26 +- ...em-edit-bitstream-drag-handle.component.ts | 7 +- .../item-edit-bitstream.component.spec.ts | 29 +- .../item-edit-bitstream.component.ts | 30 +- .../item-collection-mapper.component.spec.ts | 48 +- .../item-collection-mapper.component.ts | 52 ++- .../item-curate/item-curate.component.spec.ts | 20 +- .../item-curate/item-curate.component.ts | 18 +- .../item-delete/item-delete.component.spec.ts | 58 ++- .../item-delete/item-delete.component.ts | 69 ++- .../item-move/item-move.component.spec.ts | 21 +- .../item-move/item-move.component.ts | 48 +- .../item-operation.component.spec.ts | 12 +- .../item-operation.component.ts | 6 +- .../item-page-bitstreams.guard.ts | 18 +- .../item-page-collection-mapper.guard.ts | 22 +- .../item-page-metadata.guard.ts | 22 +- .../item-page-register-doi.guard.ts | 18 +- .../item-page-reinstate.guard.ts | 18 +- .../item-page-relationships.guard.ts | 22 +- .../edit-item-page/item-page-status.guard.ts | 20 +- .../item-page-version-history.guard.ts | 22 +- .../item-page-withdraw.guard.ts | 22 +- .../item-private.component.spec.ts | 39 +- .../item-private/item-private.component.ts | 12 +- .../item-public/item-public.component.spec.ts | 37 +- .../item-public/item-public.component.ts | 11 +- .../item-register-doi.component.spec.ts | 39 +- .../item-register-doi.component.ts | 22 +- .../item-reinstate.component.spec.ts | 37 +- .../item-reinstate.component.ts | 11 +- .../edit-relationship-list.component.spec.ts | 54 ++- .../edit-relationship-list.component.ts | 64 ++- .../edit-relationship.component.spec.ts | 17 +- .../edit-relationship.component.ts | 39 +- .../item-relationships.component.spec.ts | 61 ++- .../item-relationships.component.ts | 72 +-- .../item-status/item-status.component.spec.ts | 32 +- .../item-status/item-status.component.ts | 55 ++- .../themed-item-status.component.ts | 1 + .../item-version-history.component.spec.ts | 17 +- .../item-version-history.component.ts | 5 +- .../item-withdraw.component.spec.ts | 39 +- .../item-withdraw/item-withdraw.component.ts | 12 +- .../modify-item-overview.component.spec.ts | 11 +- .../modify-item-overview.component.ts | 7 +- ...tract-simple-item-action.component.spec.ts | 37 +- .../abstract-simple-item-action.component.ts | 30 +- .../virtual-metadata.component.spec.ts | 23 +- .../virtual-metadata.component.ts | 17 +- .../collections/collections.component.spec.ts | 30 +- .../collections/collections.component.ts | 32 +- .../metadata-uri-values.component.spec.ts | 26 +- .../metadata-uri-values.component.ts | 7 +- .../metadata-values.component.spec.ts | 23 +- .../metadata-values.component.ts | 18 +- .../full-file-section.component.spec.ts | 44 +- .../full-file-section.component.ts | 41 +- .../themed-full-file-section.component.ts | 8 +- .../full/full-item-page.component.spec.ts | 57 ++- .../full/full-item-page.component.ts | 48 +- .../full/themed-full-item-page.component.ts | 1 + .../item-page-administrator.guard.ts | 22 +- src/app/item-page/item-page-routing-paths.ts | 2 +- src/app/item-page/item-page-routing.module.ts | 37 +- src/app/item-page/item-page.module.ts | 87 ++-- src/app/item-page/item-page.resolver.spec.ts | 13 +- src/app/item-page/item-page.resolver.ts | 17 +- src/app/item-page/item-shared.module.ts | 21 +- src/app/item-page/item.resolver.ts | 23 +- .../media-viewer-image.component.spec.ts | 13 +- .../media-viewer-image.component.ts | 17 +- .../themed-media-viewer-image.component.ts | 8 +- .../media-viewer-video.component.spec.ts | 18 +- .../media-viewer-video.component.ts | 14 +- .../themed-media-viewer-video.component.ts | 12 +- .../media-viewer.component.spec.ts | 34 +- .../media-viewer/media-viewer.component.ts | 25 +- .../themed-media-viewer.component.ts | 10 +- .../mirador-viewer.component.spec.ts | 28 +- .../mirador-viewer.component.ts | 36 +- .../mirador-viewer/mirador-viewer.service.ts | 31 +- .../orcid-auth/orcid-auth.component.spec.ts | 43 +- .../orcid-auth/orcid-auth.component.ts | 31 +- .../orcid-page/orcid-page.component.spec.ts | 40 +- .../orcid-page/orcid-page.component.ts | 41 +- .../item-page/orcid-page/orcid-page.guard.ts | 12 +- .../orcid-queue/orcid-queue.component.spec.ts | 41 +- .../orcid-queue/orcid-queue.component.ts | 29 +- .../orcid-sync-settings.component.spec.ts | 39 +- .../orcid-sync-settings.component.ts | 11 +- .../abstract-incremental-list.component.ts | 12 +- .../file-section.component.spec.ts | 40 +- .../file-section/file-section.component.ts | 26 +- .../themed-file-section.component.ts | 8 +- ...item-page-abstract-field.component.spec.ts | 25 +- .../item-page-abstract-field.component.ts | 5 +- .../item-page-author-field.component.spec.ts | 25 +- .../item-page-author-field.component.ts | 5 +- .../item-page-date-field.component.spec.ts | 25 +- .../date/item-page-date-field.component.ts | 5 +- .../generic-item-page-field.component.spec.ts | 25 +- .../generic-item-page-field.component.ts | 5 +- .../item-page-field.component.spec.ts | 46 +- .../item-page-field.component.ts | 12 +- .../item-page-title-field.component.spec.ts | 17 +- .../title/item-page-title-field.component.ts | 7 +- .../title/themed-item-page-field.component.ts | 8 +- .../uri/item-page-uri-field.component.spec.ts | 27 +- .../uri/item-page-uri-field.component.ts | 5 +- .../simple/item-page.component.spec.ts | 56 ++- .../item-page/simple/item-page.component.ts | 43 +- .../publication/publication.component.spec.ts | 49 +- .../publication/publication.component.ts | 6 +- .../item-types/shared/item-iiif-utils.ts | 14 +- .../shared/item-relationships-utils.ts | 20 +- .../item-types/shared/item.component.spec.ts | 69 +-- .../item-types/shared/item.component.ts | 25 +- .../untyped-item.component.spec.ts | 51 ++- .../untyped-item/untyped-item.component.ts | 6 +- ...data-representation-list.component.spec.ts | 24 +- .../metadata-representation-list.component.ts | 22 +- ...-metadata-representation-list.component.ts | 8 +- .../related-entities-search.component.spec.ts | 13 +- .../related-entities-search.component.ts | 7 +- ...-related-entities-search.component.spec.ts | 24 +- ...abbed-related-entities-search.component.ts | 14 +- .../related-items/related-items-component.ts | 32 +- .../related-items.component.spec.ts | 26 +- .../simple/themed-item-page.component.ts | 1 + .../version-page.component.spec.ts | 26 +- .../version-page/version-page.component.ts | 33 +- .../version-page/version.resolver.ts | 23 +- ...em-versions-delete-modal.component.spec.ts | 11 +- .../item-versions-delete-modal.component.ts | 6 +- .../item-versions-shared.service.spec.ts | 19 +- .../versions/item-versions-shared.service.ts | 3 +- ...m-versions-summary-modal.component.spec.ts | 11 +- .../item-versions-summary-modal.component.ts | 8 +- .../versions/item-versions.component.spec.ts | 64 ++- .../versions/item-versions.component.ts | 68 +-- .../versions/item-versions.module.ts | 1 + .../item-versions-notice.component.spec.ts | 25 +- .../notice/item-versions-notice.component.ts | 26 +- .../login-page/login-page-routing.module.ts | 1 + .../login-page/login-page.component.spec.ts | 9 +- src/app/login-page/login-page.component.ts | 22 +- src/app/login-page/login-page.module.ts | 1 + .../login-page/themed-login-page.component.ts | 1 + .../logout-page/logout-page-routing.module.ts | 1 + .../logout-page/logout-page.component.spec.ts | 6 +- src/app/logout-page/logout-page.module.ts | 1 + .../themed-logout-page.component.ts | 1 + .../lookup-by-id-routing.module.ts | 8 +- src/app/lookup-by-id/lookup-by-id.module.ts | 5 +- src/app/lookup-by-id/lookup-guard.spec.ts | 1 + src/app/lookup-by-id/lookup-guard.ts | 11 +- .../objectnotfound.component.spec.ts | 16 +- .../objectnotfound.component.ts | 6 +- .../themed-objectnotfound.component.ts | 1 + src/app/menu.resolver.spec.ts | 31 +- src/app/menu.resolver.ts | 80 ++-- .../collection-selector.component.spec.ts | 52 ++- .../collection-selector.component.ts | 1 - .../my-dspace-configuration.service.spec.ts | 24 +- .../my-dspace-configuration.service.ts | 34 +- ...ce-new-external-dropdown.component.spec.ts | 29 +- ...-dspace-new-external-dropdown.component.ts | 25 +- ...-new-submission-dropdown.component.spec.ts | 27 +- ...space-new-submission-dropdown.component.ts | 29 +- ...my-dspace-new-submission.component.spec.ts | 60 ++- .../my-dspace-new-submission.component.ts | 23 +- .../my-dspace-page-routing.module.ts | 3 +- .../my-dspace-page.component.spec.ts | 20 +- .../my-dspace-page.component.ts | 22 +- .../my-dspace-page/my-dspace-page.module.ts | 17 +- .../my-dspace-page/my-dspace-search.module.ts | 37 +- src/app/my-dspace-page/my-dspace.guard.ts | 19 +- .../themed-my-dspace-page.component.ts | 1 + ...xpandable-navbar-section.component.spec.ts | 16 +- .../expandable-navbar-section.component.ts | 16 +- ...med-expandable-navbar-section.component.ts | 5 +- .../navbar-section.component.spec.ts | 16 +- .../navbar-section.component.ts | 12 +- src/app/navbar/navbar.component.spec.ts | 63 ++- src/app/navbar/navbar.component.ts | 27 +- src/app/navbar/navbar.effects.spec.ts | 14 +- src/app/navbar/navbar.effects.ts | 16 +- src/app/navbar/navbar.module.ts | 11 +- src/app/navbar/themed-navbar.component.ts | 1 + .../page-error/page-error.component.spec.ts | 20 +- src/app/page-error/page-error.component.ts | 5 +- .../page-error/themed-page-error.component.ts | 1 + .../page-internal-server-error.component.ts | 6 +- ...ed-page-internal-server-error.component.ts | 1 + .../pagenotfound/pagenotfound.component.ts | 9 +- .../themed-pagenotfound.component.ts | 1 + .../process-detail-field.component.spec.ts | 15 +- .../process-detail-field.component.ts | 5 +- .../detail/process-detail.component.spec.ts | 40 +- .../detail/process-detail.component.ts | 48 +- .../form/process-form.component.spec.ts | 35 +- .../form/process-form.component.ts | 32 +- .../parameter-select.component.spec.ts | 12 +- .../parameter-select.component.ts | 14 +- .../boolean-value-input.component.spec.ts | 6 +- .../boolean-value-input.component.ts | 14 +- .../date-value-input.component.spec.ts | 17 +- .../date-value-input.component.ts | 14 +- .../file-value-input.component.spec.ts | 21 +- .../file-value-input.component.ts | 13 +- .../parameter-value-input.component.spec.ts | 31 +- .../parameter-value-input.component.ts | 16 +- .../string-value-input.component.spec.ts | 17 +- .../string-value-input.component.ts | 14 +- .../value-input.component.ts | 7 +- .../process-parameters.component.spec.ts | 25 +- .../process-parameters.component.ts | 20 +- .../script-help/script-help.component.spec.ts | 23 +- .../form/script-help/script-help.component.ts | 6 +- .../scripts-select.component.spec.ts | 36 +- .../scripts-select.component.ts | 49 +- .../new/new-process.component.spec.ts | 37 +- .../process-page/new/new-process.component.ts | 17 +- .../process-bulk-delete.service.spec.ts | 10 +- .../overview/process-bulk-delete.service.ts | 25 +- .../process-overview.component.spec.ts | 31 +- .../overview/process-overview.component.ts | 41 +- .../process-breadcrumb.resolver.spec.ts | 4 +- .../process-breadcrumb.resolver.ts | 18 +- .../process-breadcrumbs.service.spec.ts | 8 +- .../process-breadcrumbs.service.ts | 8 +- .../process-page-routing.module.ts | 11 +- .../process-page-shared.module.ts | 27 +- src/app/process-page/process-page.module.ts | 1 + src/app/process-page/process-page.resolver.ts | 13 +- .../process-page/processes/process.model.ts | 33 +- src/app/process-page/scripts/script.model.ts | 14 +- ...profile-claim-item-modal.component.spec.ts | 26 +- .../profile-claim-item-modal.component.ts | 28 +- .../profile-claim.service.spec.ts | 17 +- .../profile-claim/profile-claim.service.ts | 17 +- ...ofile-page-metadata-form.component.spec.ts | 25 +- .../profile-page-metadata-form.component.ts | 27 +- ...ile-page-researcher-form.component.spec.ts | 26 +- .../profile-page-researcher-form.component.ts | 39 +- .../profile-page-routing.module.ts | 1 + ...ofile-page-security-form.component.spec.ts | 21 +- .../profile-page-security-form.component.ts | 28 +- .../profile-page.component.spec.ts | 59 ++- .../profile-page/profile-page.component.ts | 51 ++- src/app/profile-page/profile-page.module.ts | 15 +- .../themed-profile-page.component.ts | 1 + .../register-email-form.component.spec.ts | 47 +- .../register-email-form.component.ts | 58 ++- .../register-email-form.module.ts | 3 +- .../registration.resolver.spec.ts | 5 +- .../registration.resolver.ts | 11 +- .../confirmed.validator.spec.ts | 11 +- .../create-profile.component.spec.ts | 41 +- .../create-profile.component.ts | 45 +- .../themed-create-profile.component.ts | 3 +- .../register-email.component.spec.ts | 11 +- .../register-email.component.ts | 1 + .../themed-register-email.component.ts | 1 + .../register-page-routing.module.ts | 5 +- src/app/register-page/register-page.module.ts | 13 +- .../register-page/registration.guard.spec.ts | 17 +- src/app/register-page/registration.guard.ts | 18 +- .../deny-request-copy.component.spec.ts | 41 +- .../deny-request-copy.component.ts | 45 +- .../themed-deny-request-copy.component.ts | 1 - .../email-request-copy.component.spec.ts | 17 +- .../email-request-copy.component.ts | 10 +- .../themed-email-request-copy.component.ts | 7 +- .../grant-deny-request-copy.component.spec.ts | 37 +- .../grant-deny-request-copy.component.ts | 35 +- .../grant-request-copy.component.spec.ts | 39 +- .../grant-request-copy.component.ts | 31 +- .../themed-grant-request-copy.component.ts | 1 + .../request-copy-routing-paths.ts | 2 +- .../request-copy-routing.module.ts | 10 +- src/app/request-copy/request-copy.module.ts | 7 +- src/app/request-copy/request-copy.resolver.ts | 13 +- src/app/root.module.ts | 55 +-- src/app/root/root.component.spec.ts | 53 ++- src/app/root/root.component.ts | 42 +- src/app/root/themed-root.component.ts | 6 +- .../search-navbar.component.spec.ts | 31 +- .../search-navbar/search-navbar.component.ts | 7 +- .../themed-search-navbar.component.ts | 3 +- ...onfiguration-search-page.component.spec.ts | 18 +- .../configuration-search-page.component.ts | 21 +- .../configuration-search-page.guard.ts | 6 +- .../search-page/search-page-routing.module.ts | 4 +- src/app/search-page/search-page.component.ts | 3 +- src/app/search-page/search-page.module.ts | 17 +- ...med-configuration-search-page.component.ts | 10 +- .../themed-search-page.component.ts | 1 + ...ccess-control-array-form.component.spec.ts | 17 +- .../access-control-array-form.component.ts | 8 +- .../access-control-array-form/to-date.pipe.ts | 5 +- ...s-control-form-container.component.spec.ts | 33 +- ...access-control-form-container.component.ts | 42 +- .../access-control-form.module.ts | 13 +- .../bulk-access-control.service.spec.ts | 6 +- .../bulk-access-control.service.ts | 13 +- ...-select-bitstreams-modal.component.spec.ts | 5 +- ...ntrol-select-bitstreams-modal.component.ts | 15 +- src/app/shared/alert/alert.component.spec.ts | 21 +- src/app/shared/alert/alert.component.ts | 14 +- src/app/shared/animations/bgColor.ts | 3 +- src/app/shared/animations/fade.ts | 8 +- src/app/shared/animations/focus.ts | 8 +- src/app/shared/animations/fromBottom.ts | 8 +- src/app/shared/animations/fromLeft.ts | 8 +- src/app/shared/animations/fromRight.ts | 8 +- src/app/shared/animations/fromTop.ts | 8 +- src/app/shared/animations/overlay.ts | 8 +- src/app/shared/animations/push.ts | 8 +- src/app/shared/animations/rotate.ts | 8 +- src/app/shared/animations/scale.ts | 8 +- src/app/shared/animations/shrink.ts | 8 +- src/app/shared/animations/slide.ts | 11 +- .../auth-nav-menu.component.spec.ts | 41 +- .../auth-nav-menu/auth-nav-menu.component.ts | 47 +- .../themed-auth-nav-menu.component.ts | 1 + .../user-menu/user-menu.component.spec.ts | 44 +- .../user-menu/user-menu.component.ts | 23 +- .../browse-by/browse-by.component.spec.ts | 88 ++-- .../shared/browse-by/browse-by.component.ts | 51 ++- .../browse-by/shared-browse-by.module.ts | 11 +- .../collection-dropdown.component.spec.ts | 30 +- .../collection-dropdown.component.ts | 43 +- .../themed-collection-dropdown.component.ts | 13 +- .../comcol-form/comcol-form.component.spec.ts | 25 +- .../comcol-form/comcol-form.component.ts | 43 +- .../create-comcol-page.component.spec.ts | 38 +- .../create-comcol-page.component.ts | 25 +- .../delete-comcol-page.component.spec.ts | 38 +- .../delete-comcol-page.component.ts | 35 +- .../comcol-metadata.component.spec.ts | 16 +- .../comcol-metadata.component.ts | 40 +- .../comcol-role/comcol-role.component.spec.ts | 35 +- .../comcol-role/comcol-role.component.ts | 48 +- .../edit-comcol-page.component.spec.ts | 20 +- .../edit-comcol-page.component.ts | 13 +- .../comcol-page-browse-by.component.ts | 23 +- .../themed-comcol-page-browse-by.component.ts | 8 +- .../comcol-page-content.component.ts | 5 +- .../comcol-page-handle.component.spec.ts | 9 +- .../comcol-page-handle.component.ts | 6 +- .../themed-comcol-page-handle.component.ts | 6 +- .../comcol-page-header.component.ts | 5 +- .../comcol-page-logo.component.ts | 5 +- src/app/shared/comcol/comcol.module.ts | 24 +- .../confirmation-modal.component.spec.ts | 14 +- .../confirmation-modal.component.ts | 10 +- .../context-help-wrapper.component.spec.ts | 32 +- .../context-help-wrapper.component.ts | 31 +- src/app/shared/context-help.actions.ts | 3 +- src/app/shared/context-help.directive.spec.ts | 28 +- src/app/shared/context-help.directive.ts | 5 +- src/app/shared/context-help.reducer.ts | 5 +- src/app/shared/context-help.service.spec.ts | 14 +- src/app/shared/context-help.service.ts | 30 +- .../cookies/browser-klaro.service.spec.ts | 33 +- .../shared/cookies/browser-klaro.service.ts | 46 +- src/app/shared/cookies/klaro-configuration.ts | 10 +- src/app/shared/cookies/klaro.service.ts | 1 - src/app/shared/date.util.spec.ts | 8 +- src/app/shared/date.util.ts | 3 +- .../ds-select/ds-select.component.spec.ts | 9 +- .../shared/ds-select/ds-select.component.ts | 7 +- .../dso-page/dso-edit-menu.resolver.spec.ts | 44 +- .../shared/dso-page/dso-edit-menu.resolver.ts | 46 +- ...-menu-expandable-section.component.spec.ts | 19 +- ...-edit-menu-expandable-section.component.ts | 17 +- .../dso-edit-menu-section.component.spec.ts | 21 +- .../dso-edit-menu-section.component.ts | 10 +- .../dso-edit-menu.component.spec.ts | 30 +- .../dso-edit-menu/dso-edit-menu.component.ts | 10 +- ...page-subscription-button.component.spec.ts | 22 +- .../dso-page-subscription-button.component.ts | 21 +- src/app/shared/dso-page/dso-page.module.ts | 20 +- .../dso-versioning-modal.service.spec.ts | 16 +- .../dso-versioning-modal.service.ts | 38 +- ...ized-collection-selector.component.spec.ts | 21 +- ...uthorized-collection-selector.component.ts | 35 +- .../dso-selector.component.spec.ts | 32 +- .../dso-selector/dso-selector.component.ts | 58 ++- ...llection-parent-selector.component.spec.ts | 23 +- ...te-collection-parent-selector.component.ts | 34 +- ...te-collection-parent-selector.component.ts | 3 +- ...ommunity-parent-selector.component.spec.ts | 23 +- ...ate-community-parent-selector.component.ts | 33 +- ...ate-community-parent-selector.component.ts | 3 +- ...ate-item-parent-selector.component.spec.ts | 23 +- .../create-item-parent-selector.component.ts | 27 +- ...d-create-item-parent-selector.component.ts | 8 +- ...o-selector-modal-wrapper.component.spec.ts | 31 +- .../dso-selector-modal-wrapper.component.ts | 23 +- ...edit-collection-selector.component.spec.ts | 23 +- .../edit-collection-selector.component.ts | 24 +- ...emed-edit-collection-selector.component.ts | 3 +- .../edit-community-selector.component.spec.ts | 23 +- .../edit-community-selector.component.ts | 24 +- ...hemed-edit-community-selector.component.ts | 3 +- .../edit-item-selector.component.spec.ts | 23 +- .../edit-item-selector.component.ts | 22 +- .../themed-edit-item-selector.component.ts | 3 +- .../export-batch-selector.component.spec.ts | 40 +- .../export-batch-selector.component.ts | 50 +- ...export-metadata-selector.component.spec.ts | 40 +- .../export-metadata-selector.component.ts | 50 +- .../import-batch-selector.component.spec.ts | 11 +- .../import-batch-selector.component.ts | 24 +- src/app/shared/empty.util.spec.ts | 9 +- src/app/shared/empty.util.ts | 5 +- .../entity-dropdown.component.spec.ts | 26 +- .../entity-dropdown.component.ts | 21 +- .../eperson-group-list.component.spec.ts | 38 +- .../eperson-group-list.component.ts | 46 +- .../eperson-search-box.component.spec.ts | 21 +- .../eperson-search-box.component.ts | 9 +- .../group-search-box.component.spec.ts | 21 +- .../group-search-box.component.ts | 9 +- src/app/shared/error/error.component.spec.ts | 16 +- src/app/shared/error/error.component.ts | 8 +- .../file-download-link.component.spec.ts | 18 +- .../file-download-link.component.ts | 27 +- .../themed-file-download-link.component.ts | 10 +- ...c-form-control-container.component.spec.ts | 95 ++-- ...ynamic-form-control-container.component.ts | 137 +++--- .../ds-dynamic-form.component.ts | 3 +- ...dynamic-type-bind-relation.service.spec.ts | 32 +- .../ds-dynamic-type-bind-relation.service.ts | 21 +- ...ng-metadata-list-element.component.spec.ts | 37 +- ...xisting-metadata-list-element.component.ts | 39 +- ...ng-relation-list-element.component.spec.ts | 24 +- ...xisting-relation-list-element.component.ts | 33 +- .../dynamic-form-array.component.ts | 9 +- .../custom-switch.component.spec.ts | 22 +- .../custom-switch/custom-switch.component.ts | 13 +- ...namic-date-picker-inline.component.spec.ts | 22 +- .../dynamic-date-picker-inline.component.ts | 13 +- .../date-picker/date-picker.component.spec.ts | 30 +- .../date-picker/date-picker.component.ts | 13 +- .../models/date-picker/date-picker.model.ts | 11 +- .../dynamic-disabled.component.spec.ts | 27 +- .../disabled/dynamic-disabled.component.ts | 14 +- .../models/disabled/dynamic-disabled.model.ts | 11 +- .../models/ds-dynamic-concat.model.ts | 10 +- .../models/ds-dynamic-input.model.ts | 2 +- .../models/ds-dynamic-qualdrop.model.ts | 2 +- .../models/ds-dynamic-row-array-model.ts | 3 +- .../models/ds-dynamic-textarea.model.ts | 12 +- .../models/dynamic-vocabulary.component.ts | 17 +- .../dynamic-form-group.component.ts | 9 +- .../list/dynamic-list-checkbox-group.model.ts | 2 +- .../list/dynamic-list-radio-group.model.ts | 3 +- .../list/dynamic-list.component.spec.ts | 38 +- .../models/list/dynamic-list.component.ts | 33 +- .../lookup/dynamic-lookup-name.model.ts | 11 +- .../lookup/dynamic-lookup.component.spec.ts | 54 ++- .../models/lookup/dynamic-lookup.component.ts | 52 ++- .../models/lookup/dynamic-lookup.model.ts | 12 +- .../onebox/dynamic-onebox.component.spec.ts | 59 ++- .../models/onebox/dynamic-onebox.component.ts | 55 ++- .../models/onebox/dynamic-onebox.model.ts | 12 +- .../dynamic-relation-group.component.spec.ts | 60 ++- .../dynamic-relation-group.components.ts | 57 ++- .../dynamic-relation-group.model.ts | 16 +- ...amic-scrollable-dropdown.component.spec.ts | 43 +- .../dynamic-scrollable-dropdown.component.ts | 49 +- .../dynamic-scrollable-dropdown.model.ts | 12 +- .../models/tag/dynamic-tag.component.spec.ts | 50 +- .../models/tag/dynamic-tag.component.ts | 61 ++- .../models/tag/dynamic-tag.model.ts | 12 +- ...ic-lookup-relation-modal.component.spec.ts | 60 ++- ...dynamic-lookup-relation-modal.component.ts | 69 ++- ...tion-external-source-tab.component.spec.ts | 55 ++- ...-relation-external-source-tab.component.ts | 67 ++- ...ource-entry-import-modal.component.spec.ts | 31 +- ...nal-source-entry-import-modal.component.ts | 59 ++- ...nal-source-entry-import-modal.component.ts | 5 +- ...-relation-external-source-tab.component.ts | 18 +- .../name-variant.actions.ts | 3 +- .../name-variant.reducer.spec.ts | 6 +- .../name-variant.reducer.ts | 6 +- .../relationship.actions.ts | 3 +- .../relationship.effects.spec.ts | 57 ++- .../relationship.effects.ts | 72 ++- ...okup-relation-search-tab.component.spec.ts | 45 +- ...ic-lookup-relation-search-tab.component.ts | 65 ++- ...ic-lookup-relation-search-tab.component.ts | 24 +- ...p-relation-selection-tab.component.spec.ts | 39 +- ...lookup-relation-selection-tab.component.ts | 39 +- .../form/builder/form-builder.service.spec.ts | 52 ++- .../form/builder/form-builder.service.ts | 44 +- .../models/form-field-metadata-value.model.ts | 12 +- .../form/builder/models/form-field.model.ts | 4 +- .../builder/parsers/concat-field-parser.ts | 18 +- .../builder/parsers/date-field-parser.spec.ts | 4 +- .../form/builder/parsers/date-field-parser.ts | 10 +- .../parsers/disabled-field-parser.spec.ts | 6 +- .../builder/parsers/disabled-field-parser.ts | 7 +- .../parsers/dropdown-field-parser.spec.ts | 2 +- .../builder/parsers/dropdown-field-parser.ts | 15 +- .../form/builder/parsers/field-parser.ts | 36 +- .../builder/parsers/list-field-parser.spec.ts | 4 +- .../form/builder/parsers/list-field-parser.ts | 4 +- .../parsers/lookup-field-parser.spec.ts | 2 +- .../builder/parsers/lookup-field-parser.ts | 7 +- .../parsers/lookup-name-field-parser.spec.ts | 2 +- .../parsers/lookup-name-field-parser.ts | 2 +- .../builder/parsers/name-field-parser.spec.ts | 4 +- .../form/builder/parsers/name-field-parser.ts | 8 +- .../parsers/onebox-field-parser.spec.ts | 8 +- .../builder/parsers/onebox-field-parser.ts | 16 +- .../form/builder/parsers/parser-factory.ts | 13 +- .../form/builder/parsers/parser.utils.ts | 11 +- .../relation-group-field-parser.spec.ts | 4 +- .../parsers/relation-group-field-parser.ts | 11 +- .../form/builder/parsers/row-parser.spec.ts | 6 +- .../shared/form/builder/parsers/row-parser.ts | 34 +- .../parsers/series-field-parser.spec.ts | 4 +- .../builder/parsers/series-field-parser.ts | 8 +- .../builder/parsers/tag-field-parser.spec.ts | 4 +- .../form/builder/parsers/tag-field-parser.ts | 7 +- .../parsers/textarea-field-parser.spec.ts | 4 +- .../builder/parsers/textarea-field-parser.ts | 6 +- .../shared/form/chips/chips.component.spec.ts | 31 +- src/app/shared/form/chips/chips.component.ts | 19 +- .../chips/models/chips-item.model.spec.ts | 5 +- .../form/chips/models/chips-item.model.ts | 8 +- .../form/chips/models/chips.model.spec.ts | 2 +- .../shared/form/chips/models/chips.model.ts | 10 +- .../authority-confidence-state.directive.ts | 12 +- src/app/shared/form/form.component.spec.ts | 46 +- src/app/shared/form/form.component.ts | 45 +- src/app/shared/form/form.module.ts | 81 ++-- src/app/shared/form/form.reducer.spec.ts | 2 +- src/app/shared/form/form.reducer.ts | 7 +- src/app/shared/form/form.service.spec.ts | 31 +- src/app/shared/form/form.service.ts | 47 +- .../number-picker.component.spec.ts | 24 +- .../number-picker/number-picker.component.ts | 17 +- src/app/shared/form/selectors.ts | 10 +- ...ocabulary-treeview-modal.component.spec.ts | 9 +- .../vocabulary-treeview-modal.component.ts | 8 +- .../vocabulary-tree-flat-data-source.ts | 13 +- .../vocabulary-tree-flattener.ts | 1 - .../vocabulary-treeview-node.model.ts | 3 +- .../vocabulary-treeview.component.spec.ts | 45 +- .../vocabulary-treeview.component.ts | 46 +- .../vocabulary-treeview.service.spec.ts | 45 +- .../vocabulary-treeview.service.ts | 39 +- .../google-recaptcha.component.spec.ts | 7 +- .../google-recaptcha.component.ts | 16 +- src/app/shared/handle.service.ts | 6 +- src/app/shared/host-window.reducer.spec.ts | 3 +- src/app/shared/host-window.service.spec.ts | 12 +- src/app/shared/host-window.service.ts | 22 +- src/app/shared/hover-class.directive.spec.ts | 13 +- src/app/shared/hover-class.directive.ts | 7 +- .../idle-modal/idle-modal.component.spec.ts | 22 +- .../shared/idle-modal/idle-modal.component.ts | 14 +- .../impersonate-navbar.component.spec.ts | 27 +- .../impersonate-navbar.component.ts | 13 +- .../dso-input-suggestions.component.spec.ts | 20 +- .../dso-input-suggestions.component.ts | 13 +- ...filter-input-suggestions.component.spec.ts | 18 +- .../filter-input-suggestions.component.ts | 7 +- .../input-suggestions.component.spec.ts | 20 +- .../input-suggestions.component.ts | 8 +- .../validation-suggestions.component.spec.ts | 21 +- .../validation-suggestions.component.ts | 15 +- .../lang-switch/lang-switch.component.spec.ts | 30 +- .../lang-switch/lang-switch.component.ts | 6 +- .../shared/loading/loading.component.spec.ts | 16 +- src/app/shared/loading/loading.component.ts | 10 +- .../loading/themed-loading.component.ts | 10 +- .../log-in-container.component.spec.ts | 24 +- .../container/log-in-container.component.ts | 9 +- .../shared/log-in/log-in.component.spec.ts | 51 ++- src/app/shared/log-in/log-in.component.ts | 25 +- ...log-in-external-provider.component.spec.ts | 35 +- .../log-in-external-provider.component.ts | 38 +- .../log-in-password.component.spec.ts | 28 +- .../password/log-in-password.component.ts | 42 +- .../shared/log-out/log-out.component.spec.ts | 32 +- src/app/shared/log-out/log-out.component.ts | 13 +- src/app/shared/menu/initial-menus-state.ts | 2 +- .../external-link-menu-item.component.spec.ts | 14 +- .../external-link-menu-item.component.ts | 11 +- .../link-menu-item.component.spec.ts | 20 +- .../menu-item/link-menu-item.component.ts | 15 +- .../menu/menu-item/models/altmetric.model.ts | 2 +- .../menu-item/models/external-link.model.ts | 2 +- .../menu/menu-item/models/link.model.ts | 5 +- .../menu/menu-item/models/onclick.model.ts | 2 +- .../menu/menu-item/models/search.model.ts | 2 +- .../menu/menu-item/models/text.model.ts | 2 +- .../onclick-menu-item.component.spec.ts | 16 +- .../menu-item/onclick-menu-item.component.ts | 8 +- .../text-menu-item.component.spec.ts | 16 +- .../menu-item/text-menu-item.component.ts | 8 +- src/app/shared/menu/menu-section.decorator.ts | 2 +- .../menu-section.component.spec.ts | 19 +- .../menu-section/menu-section.component.ts | 32 +- src/app/shared/menu/menu-state.model.ts | 2 +- src/app/shared/menu/menu.actions.ts | 3 +- src/app/shared/menu/menu.component.spec.ts | 40 +- src/app/shared/menu/menu.component.ts | 42 +- src/app/shared/menu/menu.module.ts | 17 +- src/app/shared/menu/menu.reducer.spec.ts | 5 +- src/app/shared/menu/menu.reducer.ts | 12 +- src/app/shared/menu/menu.service.spec.ts | 23 +- src/app/shared/menu/menu.service.ts | 51 ++- src/app/shared/menu/menus-state.model.ts | 2 +- .../metadata-field-wrapper.component.spec.ts | 11 +- .../metadata-field-wrapper.component.ts | 5 +- ...ta-representation-loader.component.spec.ts | 20 +- ...etadata-representation-loader.component.ts | 29 +- .../metadata-representation.decorator.spec.ts | 9 +- .../metadata-representation.decorator.ts | 13 +- .../metadata-representation.directive.ts | 5 +- src/app/shared/mocks/active-router.mock.ts | 1 - .../shared/mocks/admin-guard.service.mock.ts | 7 +- src/app/shared/mocks/auth.service.mock.ts | 5 +- .../endpoint-mocking-rest.service.spec.ts | 6 +- .../endpoint-mocking-rest.service.ts | 31 +- .../mocks/find-id-config-data.service.mock.ts | 2 +- .../shared/mocks/form-builder-service.mock.ts | 8 +- src/app/shared/mocks/form-models.mock.ts | 10 +- .../shared/mocks/host-window-service.mock.ts | 5 +- .../mocks/href-only-data.service.mock.ts | 8 +- src/app/shared/mocks/item.mock.ts | 6 +- .../mocks/remote-data-build.service.mock.ts | 13 +- src/app/shared/mocks/request.service.mock.ts | 6 +- src/app/shared/mocks/role-service.mock.ts | 6 +- src/app/shared/mocks/search-service.mock.ts | 1 + .../section-accesses-config.service.mock.ts | 2 +- .../mocks/section-accesses.service.mock.ts | 3 +- .../section-sherpa-policies.service.mock.ts | 4 +- src/app/shared/mocks/theme-service.mock.ts | 3 +- src/app/shared/mocks/translate-loader.mock.ts | 5 +- ...claimed-task-actions-abstract.component.ts | 22 +- ...claimed-task-actions-abstract.component.ts | 27 +- ...med-task-actions-approve.component.spec.ts | 36 +- .../claimed-task-actions-approve.component.ts | 27 +- .../claimed-task-actions.component.spec.ts | 47 +- .../claimed-task-actions.component.ts | 26 +- ...ask-actions-decline-task.component.spec.ts | 36 +- ...med-task-actions-decline-task.component.ts | 25 +- ...sk-actions-edit-metadata.component.spec.ts | 33 +- ...ed-task-actions-edit-metadata.component.ts | 16 +- ...aimed-task-action-rating.component.spec.ts | 37 +- ...ed-claimed-task-action-rating.component.ts | 21 +- ...imed-task-actions-reject.component.spec.ts | 51 ++- .../claimed-task-actions-reject.component.ts | 38 +- ...k-actions-return-to-pool.component.spec.ts | 36 +- ...d-task-actions-return-to-pool.component.ts | 26 +- ...k-action-select-reviewer.component.spec.ts | 45 +- ...d-task-action-select-reviewer.component.ts | 19 +- .../claimed-task-actions-decorator.spec.ts | 5 +- ...imed-task-actions-loader.component.spec.ts | 37 +- .../claimed-task-actions-loader.component.ts | 21 +- .../claimed-task-actions.directive.ts | 5 +- .../item/item-actions.component.spec.ts | 34 +- .../item/item-actions.component.ts | 14 +- .../mydspace-actions-service.factory.ts | 22 +- .../mydspace-actions.module.ts | 7 +- .../mydspace-actions/mydspace-actions.ts | 31 +- .../mydspace-reloadable-actions.spec.ts | 45 +- .../mydspace-reloadable-actions.ts | 31 +- .../pool-task-actions.component.spec.ts | 44 +- .../pool-task/pool-task-actions.component.ts | 31 +- .../workflowitem-actions.component.spec.ts | 50 +- .../workflowitem-actions.component.ts | 15 +- .../workspaceitem-actions.component.spec.ts | 51 ++- .../workspaceitem-actions.component.ts | 39 +- .../shared/ng-for-track-by-id.directive.ts | 5 +- .../ngrx/dspace-router-state-serializer.ts | 7 +- src/app/shared/ngrx/no-op.action.ts | 1 + .../models/notification.model.ts | 10 +- .../notification.component.spec.ts | 44 +- .../notification/notification.component.ts | 66 ++- .../notifications-board.component.spec.ts | 35 +- .../notifications-board.component.ts | 17 +- .../notifications/notifications.actions.ts | 1 + .../notifications/notifications.effects.ts | 1 + .../notifications.reducers.spec.ts | 35 +- .../notifications/notifications.reducers.ts | 6 +- .../notifications.service.spec.ts | 35 +- .../notifications/notifications.service.ts | 21 +- .../object-collection.component.spec.ts | 18 +- .../object-collection.component.ts | 41 +- .../access-status-badge.component.spec.ts | 19 +- .../access-status-badge.component.ts | 22 +- .../access-status.model.ts | 6 +- .../themed-access-status-badge.component.ts | 8 +- .../shared/badges/badges.component.spec.ts | 11 +- .../shared/badges/badges.component.ts | 6 +- .../my-dspace-status-badge.component.spec.ts | 25 +- .../my-dspace-status-badge.component.ts | 6 +- ...themed-my-dspace-status-badge.component.ts | 6 +- .../status-badge.component.spec.ts | 18 +- .../status-badge/status-badge.component.ts | 7 +- .../themed-status-badge.component.ts | 8 +- .../shared/badges/themed-badges.component.ts | 12 +- .../type-badge/themed-type-badge.component.ts | 8 +- .../type-badge/type-badge.component.spec.ts | 20 +- .../badges/type-badge/type-badge.component.ts | 13 +- .../shared/collection-search-result.model.ts | 2 +- .../importable-list-item-control.component.ts | 8 +- .../shared/item-search-result.model.ts | 6 +- ...-object-component-loader.component.spec.ts | 30 +- ...table-object-component-loader.component.ts | 26 +- .../listable-object.decorator.spec.ts | 10 +- .../listable-object.decorator.ts | 19 +- .../listable-object.directive.ts | 5 +- .../item-collection.component.ts | 25 +- .../item-submitter.component.spec.ts | 33 +- .../item-submitter.component.ts | 31 +- .../abstract-listable-element.component.ts | 18 +- ...ctable-list-item-control.component.spec.ts | 20 +- .../selectable-list-item-control.component.ts | 19 +- .../workspace-item-search-result.model.ts | 2 +- ...ch-result-detail-element.component.spec.ts | 26 +- ...-search-result-detail-element.component.ts | 39 +- ...tem-detail-preview-field.component.spec.ts | 31 +- .../item-detail-preview-field.component.ts | 7 +- .../item-detail-preview.component.spec.ts | 25 +- .../item-detail-preview.component.ts | 18 +- ...ch-result-detail-element.component.spec.ts | 20 +- ...-search-result-detail-element.component.ts | 10 +- ...ch-result-detail-element.component.spec.ts | 41 +- ...-search-result-detail-element.component.ts | 41 +- .../search-result-detail-element.component.ts | 7 +- ...ch-result-detail-element.component.spec.ts | 28 +- ...-search-result-detail-element.component.ts | 18 +- ...ch-result-detail-element.component.spec.ts | 32 +- ...-search-result-detail-element.component.ts | 15 +- .../object-detail.component.spec.ts | 29 +- .../object-detail/object-detail.component.ts | 24 +- .../collection-grid-element.component.spec.ts | 18 +- .../collection-grid-element.component.ts | 23 +- .../community-grid-element.component.spec.ts | 18 +- .../community-grid-element.component.ts | 23 +- .../item/item-grid-element.component.spec.ts | 27 +- .../item/item-grid-element.component.ts | 5 +- .../object-grid/object-grid.component.spec.ts | 6 +- .../object-grid/object-grid.component.ts | 38 +- ...arch-result-grid-element.component.spec.ts | 18 +- ...on-search-result-grid-element.component.ts | 29 +- ...arch-result-grid-element.component.spec.ts | 18 +- ...ty-search-result-grid-element.component.ts | 29 +- ...arch-result-grid-element.component.spec.ts | 16 +- ...em-search-result-grid-element.component.ts | 19 +- .../search-result-grid-element.component.ts | 9 +- .../bitstream-list-item.component.spec.ts | 9 +- .../bitstream-list-item.component.ts | 9 +- ...rowse-entry-list-element.component.spec.ts | 23 +- .../browse-entry-list-element.component.ts | 21 +- .../bundle-list-element.component.ts | 7 +- .../collection-list-element.component.spec.ts | 16 +- .../collection-list-element.component.ts | 2 +- .../community-list-element.component.spec.ts | 16 +- .../community-list-element.component.ts | 4 +- .../identifier-data.component.ts | 12 +- .../identifier-data/identifier-data.model.ts | 8 +- .../item/item-list-element.component.spec.ts | 19 +- .../item/item-list-element.component.ts | 3 +- ...able-notification-object.component.spec.ts | 12 +- .../listable-notification-object.component.ts | 9 +- .../listable-notification-object.model.ts | 6 +- ...nk-metadata-list-element.component.spec.ts | 14 +- ...se-link-metadata-list-element.component.ts | 7 +- ...em-metadata-list-element.component.spec.ts | 14 +- .../item-metadata-list-element.component.ts | 5 +- ...a-representation-list-element.component.ts | 9 +- ...resentation-list-element.component.spec.ts | 12 +- ...a-representation-list-element.component.ts | 8 +- ...xt-metadata-list-element.component.spec.ts | 16 +- ...in-text-metadata-list-element.component.ts | 7 +- ...arch-result-list-element.component.spec.ts | 38 +- ...ed-search-result-list-element.component.ts | 29 +- ...arch-result-list-element.component.spec.ts | 38 +- ...ed-search-result-list-element.component.ts | 30 +- ...arch-result-list-element.component.spec.ts | 38 +- ...sk-search-result-list-element.component.ts | 30 +- ...arch-result-list-element.component.spec.ts | 32 +- ...ed-search-result-list-element.component.ts | 54 ++- .../item-list-preview.component.spec.ts | 27 +- .../item-list-preview.component.ts | 18 +- .../themed-item-list-preview.component.ts | 14 +- ...-list-element-submission.component.spec.ts | 28 +- ...esult-list-element-submission.component.ts | 9 +- ...arch-result-list-element.component.spec.ts | 32 +- ...ol-search-result-list-element.component.ts | 47 +- ...arch-result-list-element.component.spec.ts | 26 +- ...em-search-result-list-element.component.ts | 25 +- ...arch-result-list-element.component.spec.ts | 26 +- ...em-search-result-list-element.component.ts | 27 +- .../object-list/object-list.component.spec.ts | 16 +- .../object-list/object-list.component.ts | 21 +- ...arch-result-list-element.component.spec.ts | 28 +- ...on-search-result-list-element.component.ts | 5 +- ...arch-result-list-element.component.spec.ts | 28 +- ...ty-search-result-list-element.component.ts | 5 +- ...arch-result-list-element.component.spec.ts | 29 +- ...em-search-result-list-element.component.ts | 9 +- .../search-result-list-element.component.ts | 17 +- .../selectable-list.actions.ts | 1 + .../selectable-list.reducer.spec.ts | 4 +- .../selectable-list.reducer.ts | 7 +- .../selectable-list.service.spec.ts | 12 +- .../selectable-list.service.ts | 24 +- ...ebar-search-list-element.component.spec.ts | 4 +- ...n-sidebar-search-list-element.component.ts | 5 +- ...ebar-search-list-element.component.spec.ts | 2 +- ...y-sidebar-search-list-element.component.ts | 7 +- ...ebar-search-list-element.component.spec.ts | 6 +- ...n-sidebar-search-list-element.component.ts | 7 +- ...ebar-search-list-element.component.spec.ts | 25 +- .../sidebar-search-list-element.component.ts | 34 +- .../themed-object-list.component.ts | 25 +- .../collection-select.component.spec.ts | 45 +- .../collection-select.component.ts | 7 +- .../item-select/item-select.component.spec.ts | 43 +- .../item-select/item-select.component.ts | 23 +- .../object-select/object-select.actions.ts | 3 +- .../object-select/object-select.reducer.ts | 5 +- .../object-select.service.spec.ts | 10 +- .../object-select/object-select.service.ts | 27 +- .../object-select/object-select.component.ts | 30 +- src/app/shared/object.util.spec.ts | 6 +- src/app/shared/object.util.ts | 3 +- .../page-size-selector.component.spec.ts | 33 +- .../page-size-selector.component.ts | 25 +- ...nated-drag-and-drop-list.component.spec.ts | 24 +- ...-paginated-drag-and-drop-list.component.ts | 55 ++- .../pagination-component-options.model.ts | 2 +- .../pagination/pagination.component.spec.ts | 69 +-- .../shared/pagination/pagination.component.ts | 33 +- src/app/shared/pagination/pagination.utils.ts | 2 +- .../paginationChangeEvent.interface.ts | 2 +- src/app/shared/remote-data.utils.ts | 8 +- .../resource-policy-create.component.spec.ts | 60 ++- .../resource-policy-create.component.ts | 33 +- .../resource-policy-edit.component.spec.ts | 56 ++- .../edit/resource-policy-edit.component.ts | 31 +- .../resource-policy-entry.component.spec.ts | 37 +- .../entry/resource-policy-entry.component.ts | 39 +- .../resource-policy-form.component.spec.ts | 75 +-- .../form/resource-policy-form.component.ts | 67 ++- .../form/resource-policy-form.model.ts | 4 +- .../resource-policy-target.resolver.ts | 25 +- .../resolvers/resource-policy.resolver.ts | 12 +- .../resource-policies.component.spec.ts | 74 ++- .../resource-policies.component.ts | 47 +- .../resource-policies.module.ts | 17 +- .../responsive-table-sizes.ts | 2 +- .../results-back-button.component.spec.ts | 14 +- .../results-back-button.component.ts | 9 +- .../results-back-button.module.ts | 3 +- .../themed-results-back-button.component.ts | 8 +- src/app/shared/roles/role.directive.ts | 15 +- src/app/shared/rss-feed/rss.component.spec.ts | 22 +- src/app/shared/rss-feed/rss.component.ts | 28 +- .../sass-helper/css-variable.actions.ts | 3 +- .../sass-helper/css-variable.reducer.ts | 5 +- .../sass-helper/css-variable.service.spec.ts | 8 +- .../sass-helper/css-variable.service.ts | 33 +- .../scope-selector-modal.component.spec.ts | 21 +- .../scope-selector-modal.component.ts | 21 +- .../search-form/search-form.component.spec.ts | 25 +- .../search-form/search-form.component.ts | 29 +- .../themed-search-form.component.ts | 8 +- src/app/shared/search/host-window.reducer.ts | 5 +- .../models/facet-config-response.model.ts | 9 +- .../shared/search/models/facet-value.model.ts | 7 +- .../search/models/facet-values.model.ts | 17 +- .../paginated-search-options.model.spec.ts | 7 +- .../models/paginated-search-options.model.ts | 8 +- .../models/search-filter-config.model.ts | 15 +- .../search/models/search-objects.model.ts | 14 +- .../models/search-options.model.spec.ts | 4 +- .../search/models/search-options.model.ts | 9 +- .../models/search-query-response.model.ts | 3 +- .../search/models/search-result.model.ts | 15 +- .../search-export-csv.component.spec.ts | 36 +- .../search-export-csv.component.ts | 37 +- .../search-authority-filter.component.ts | 11 +- .../search-boolean-filter.component.ts | 11 +- .../search-facet-option.component.spec.ts | 22 +- .../search-facet-option.component.ts | 24 +- ...earch-facet-range-option.component.spec.ts | 42 +- .../search-facet-range-option.component.ts | 27 +- ...ch-facet-selected-option.component.spec.ts | 20 +- .../search-facet-selected-option.component.ts | 22 +- .../search-facet-filter-wrapper.component.ts | 18 +- .../search-facet-filter.component.spec.ts | 45 +- .../search-facet-filter.component.ts | 54 ++- .../search-filter.component.spec.ts | 32 +- .../search-filter/search-filter.component.ts | 32 +- .../search-filter.reducer.spec.ts | 1 + .../search-filter/search-filter.reducer.ts | 6 +- .../search-hierarchy-filter.component.spec.ts | 45 +- .../search-hierarchy-filter.component.ts | 59 ++- .../search-range-filter.component.spec.ts | 47 +- .../search-range-filter.component.ts | 41 +- .../search-text-filter.component.ts | 13 +- .../search-filters.component.spec.ts | 19 +- .../search-filters.component.ts | 20 +- .../themed-search-filters.component.ts | 14 +- .../search-label.component.spec.ts | 40 +- .../search-label/search-label.component.ts | 21 +- .../search-labels.component.spec.ts | 26 +- .../search-labels/search-labels.component.ts | 16 +- .../search-results.component.spec.ts | 18 +- .../search-results.component.ts | 32 +- .../themed-search-results.component.ts | 29 +- .../search-settings.component.spec.ts | 38 +- .../search-settings.component.ts | 19 +- .../themed-search-settings.component.ts | 8 +- .../search-sidebar.component.spec.ts | 15 +- .../search-sidebar.component.ts | 18 +- .../themed-search-sidebar.component.ts | 23 +- ...rch-switch-configuration.component.spec.ts | 34 +- .../search-switch-configuration.component.ts | 26 +- .../shared/search/search.component.spec.ts | 72 ++- src/app/shared/search/search.component.ts | 95 ++-- src/app/shared/search/search.module.ts | 58 +-- src/app/shared/search/search.utils.ts | 2 +- .../shared/search/themed-search.component.ts | 22 +- src/app/shared/shared.module.ts | 431 +++++++----------- .../page-with-sidebar.component.spec.ts | 13 +- .../sidebar/page-with-sidebar.component.ts | 14 +- .../sidebar/sidebar-dropdown.component.ts | 7 +- .../shared/sidebar/sidebar-effects.service.ts | 14 +- .../shared/sidebar/sidebar.reducer.spec.ts | 6 +- src/app/shared/sidebar/sidebar.reducer.ts | 5 +- .../shared/sidebar/sidebar.service.spec.ts | 15 +- src/app/shared/sidebar/sidebar.service.ts | 21 +- .../date/starts-with-date.component.spec.ts | 29 +- .../date/starts-with-date.component.ts | 19 +- .../starts-with-abstract.component.ts | 20 +- .../starts-with/starts-with-decorator.spec.ts | 5 +- .../text/starts-with-text.component.spec.ts | 22 +- .../text/starts-with-text.component.ts | 8 +- .../models/subscription.model.ts | 19 +- .../subscription-modal.component.spec.ts | 48 +- .../subscription-modal.component.ts | 52 ++- .../subscription-view.component.spec.ts | 51 ++- .../subscription-view.component.ts | 29 +- .../subscriptions-data.service.spec.ts | 28 +- .../subscriptions-data.service.ts | 46 +- .../subscriptions/subscriptions.module.ts | 12 +- src/app/shared/testing/active-router.stub.ts | 8 +- .../testing/auth-request-service.stub.ts | 10 +- src/app/shared/testing/auth-service.stub.ts | 12 +- .../testing/authorization-service.stub.ts | 6 +- .../shared/testing/base-data-service.stub.ts | 6 +- .../testing/bitstream-data-service.stub.ts | 10 +- .../browse-definition-data-service.stub.ts | 20 +- .../shared/testing/browser-only-mock.pipe.ts | 5 +- .../testing/claimed-task-data-service.stub.ts | 10 +- .../testing/css-variable-service.stub.ts | 6 +- src/app/shared/testing/form-event.stub.ts | 10 +- src/app/shared/testing/group-mock.ts | 2 +- .../testing/hal-endpoint-service.stub.ts | 1 + .../testing/host-window-service.stub.ts | 5 +- .../testing/identifiable-data-service.stub.ts | 10 +- src/app/shared/testing/menu-service.stub.ts | 8 +- .../ng-component-outlet-directive.stub.ts | 5 +- .../testing/object-select-service.stub.ts | 5 +- .../shared/testing/pagination-service.stub.ts | 8 +- .../testing/query-params-directive.stub.ts | 5 +- .../shared/testing/request-service.stub.ts | 5 +- src/app/shared/testing/route-service.stub.ts | 5 +- .../testing/router-link-directive.stub.ts | 5 +- src/app/shared/testing/router.stub.ts | 1 + .../search-configuration-service.stub.ts | 11 +- src/app/shared/testing/search-service.stub.ts | 7 +- src/app/shared/testing/special-group.mock.ts | 16 +- src/app/shared/testing/store.mock.ts | 7 +- .../testing/submission-rest-service.stub.ts | 4 +- .../shared/testing/subscriptions-data.mock.ts | 2 +- .../shared/testing/supervision-order.mock.ts | 14 +- src/app/shared/testing/test-module.ts | 8 +- .../shared/testing/translate-loader.mock.ts | 5 +- src/app/shared/testing/utils.test.ts | 22 +- .../shared/testing/vocabulary-service.stub.ts | 18 +- .../workflow-action-data-service.stub.ts | 10 +- src/app/shared/theme-support/theme.actions.ts | 1 + .../theme-support/theme.effects.spec.ts | 12 +- src/app/shared/theme-support/theme.effects.ts | 14 +- src/app/shared/theme-support/theme.reducer.ts | 5 +- .../theme-support/theme.service.spec.ts | 42 +- src/app/shared/theme-support/theme.service.ts | 75 ++- .../theme-support/themed.component.spec.ts | 22 +- .../shared/theme-support/themed.component.ts | 43 +- .../abstract-trackable.component.spec.ts | 26 +- .../trackable/abstract-trackable.component.ts | 7 +- .../translate/missing-translation.helper.ts | 5 +- .../truncatable-part.component.spec.ts | 33 +- .../truncatable-part.component.ts | 13 +- .../shared/truncatable/truncatable.actions.ts | 1 + .../truncatable/truncatable.component.spec.ts | 14 +- .../truncatable/truncatable.component.ts | 9 +- .../truncatable/truncatable.reducer.spec.ts | 6 +- .../shared/truncatable/truncatable.reducer.ts | 5 +- .../truncatable/truncatable.service.spec.ts | 15 +- .../shared/truncatable/truncatable.service.ts | 21 +- .../file-dropzone-no-uploader.component.ts | 15 +- src/app/shared/upload/upload.module.ts | 7 +- .../uploader/uploader.component.spec.ts | 26 +- .../upload/uploader/uploader.component.ts | 40 +- src/app/shared/utils/auto-focus.directive.ts | 8 +- src/app/shared/utils/browser-only.pipe.ts | 7 +- src/app/shared/utils/capitalize.pipe.ts | 5 +- .../shared/utils/click-outside.directive.ts | 8 +- src/app/shared/utils/console.pipe.ts | 5 +- src/app/shared/utils/debounce.directive.ts | 16 +- src/app/shared/utils/drag-click.directive.ts | 7 +- src/app/shared/utils/emphasize.pipe.ts | 5 +- src/app/shared/utils/enum-keys-pipe.ts | 5 +- src/app/shared/utils/file-size-pipe.ts | 5 +- .../utils/file-value-accessor.directive.ts | 5 +- .../shared/utils/follow-link-config.model.ts | 2 +- .../utils/in-list-validator.directive.ts | 13 +- src/app/shared/utils/markdown.pipe.spec.ts | 3 +- src/app/shared/utils/markdown.pipe.ts | 14 +- .../metadatafield-validator.directive.ts | 25 +- src/app/shared/utils/object-keys-pipe.ts | 5 +- src/app/shared/utils/object-ngfor.pipe.ts | 5 +- src/app/shared/utils/object-values-pipe.ts | 6 +- .../shared/utils/relation-query.utils.spec.ts | 5 +- src/app/shared/utils/relation-query.utils.ts | 5 +- .../shared/utils/require-file.validator.ts | 6 +- src/app/shared/utils/route.utils.ts | 8 +- src/app/shared/utils/safe-url-pipe.ts | 5 +- src/app/shared/utils/short-number.pipe.ts | 6 +- src/app/shared/utils/truncate.pipe.ts | 6 +- src/app/shared/utils/validator.functions.ts | 6 +- src/app/shared/utils/var.directive.ts | 7 +- .../view-mode-switch.component.spec.ts | 24 +- .../view-mode-switch.component.ts | 19 +- ...llection-statistics-page.component.spec.ts | 34 +- .../collection-statistics-page.component.ts | 14 +- ...ed-collection-statistics-page.component.ts | 1 + ...ommunity-statistics-page.component.spec.ts | 34 +- .../community-statistics-page.component.ts | 14 +- ...med-community-statistics-page.component.ts | 1 + .../item-statistics-page.component.spec.ts | 34 +- .../item-statistics-page.component.ts | 14 +- .../themed-item-statistics-page.component.ts | 1 + .../site-statistics-page.component.spec.ts | 34 +- .../site-statistics-page.component.ts | 16 +- .../themed-site-statistics-page.component.ts | 1 + .../statistics-page-routing.module.ts | 11 +- .../statistics-page/statistics-page.module.ts | 12 +- .../statistics-page.component.ts | 37 +- .../statistics-table.component.spec.ts | 14 +- .../statistics-table.component.ts | 28 +- .../angulartics/dspace-provider.spec.ts | 7 +- .../statistics/angulartics/dspace-provider.ts | 1 + .../dspace/view-tracker.component.ts | 12 +- .../google-analytics.service.spec.ts | 7 +- .../statistics/google-analytics.service.ts | 8 +- .../statistics/statistics-endpoint.model.ts | 14 +- src/app/statistics/statistics.module.ts | 6 +- src/app/statistics/statistics.service.spec.ts | 13 +- src/app/statistics/statistics.service.ts | 21 +- src/app/store.actions.ts | 3 +- src/app/store.effects.ts | 15 +- .../edit/submission-edit.component.spec.ts | 43 +- .../edit/submission-edit.component.ts | 46 +- .../edit/themed-submission-edit.component.ts | 1 + ...bmission-form-collection.component.spec.ts | 53 ++- .../submission-form-collection.component.ts | 26 +- .../submission-form-footer.component.spec.ts | 42 +- .../submission-form-footer.component.ts | 17 +- ...mission-form-section-add.component.spec.ts | 36 +- .../submission-form-section-add.component.ts | 11 +- .../form/submission-form.component.spec.ts | 34 +- .../form/submission-form.component.ts | 45 +- .../submission-upload-files.component.spec.ts | 45 +- .../submission-upload-files.component.ts | 34 +- ...port-external-collection.component.spec.ts | 20 +- ...on-import-external-collection.component.ts | 9 +- ...-import-external-preview.component.spec.ts | 38 +- ...ssion-import-external-preview.component.ts | 19 +- ...mport-external-searchbar.component.spec.ts | 45 +- ...ion-import-external-searchbar.component.ts | 44 +- ...bmission-import-external.component.spec.ts | 42 +- .../submission-import-external.component.ts | 60 ++- ...ed-submission-import-external.component.ts | 1 + .../objects/submission-objects.actions.ts | 8 +- .../submission-objects.effects.spec.ts | 92 ++-- .../objects/submission-objects.effects.ts | 49 +- .../submission-objects.reducer.spec.ts | 21 +- .../objects/submission-objects.reducer.ts | 10 +- .../submission-section-object.model.ts | 2 +- .../section-accesses.component.spec.ts | 66 +-- .../accesses/section-accesses.component.ts | 72 +-- .../accesses/section-accesses.service.ts | 12 +- ...sion-section-cc-licenses.component.spec.ts | 29 +- ...ubmission-section-cc-licenses.component.ts | 46 +- .../section-container.component.spec.ts | 34 +- .../container/section-container.component.ts | 14 +- .../section-form-operations.service.spec.ts | 27 +- .../form/section-form-operations.service.ts | 43 +- .../form/section-form.component.spec.ts | 99 ++-- .../sections/form/section-form.component.ts | 87 ++-- .../section-identifiers.component.spec.ts | 80 ++-- .../section-identifiers.component.ts | 28 +- .../license/section-license.component.spec.ts | 71 +-- .../license/section-license.component.ts | 41 +- .../sections/models/section-data.model.ts | 2 +- .../sections/models/section.model.ts | 25 +- .../submission/sections/sections.directive.ts | 30 +- .../sections/sections.service.spec.ts | 56 ++- .../submission/sections/sections.service.ts | 58 ++- .../content-accordion.component.spec.ts | 19 +- .../content-accordion.component.ts | 5 +- .../metadata-information.component.spec.ts | 17 +- .../metadata-information.component.ts | 5 +- .../publication-information.component.spec.ts | 16 +- .../publication-information.component.ts | 5 +- .../publisher-policy.component.spec.ts | 14 +- .../publisher-policy.component.ts | 5 +- .../section-sherpa-policies.component.spec.ts | 45 +- .../section-sherpa-policies.component.ts | 30 +- ...tion-upload-access-conditions.component.ts | 13 +- ...section-upload-file-edit.component.spec.ts | 67 +-- .../section-upload-file-edit.component.ts | 68 +-- .../section-upload-file.component.spec.ts | 54 ++- .../file/section-upload-file.component.ts | 39 +- .../themed-section-upload-file.component.ts | 6 +- ...section-upload-file-view.component.spec.ts | 21 +- .../section-upload-file-view.component.ts | 13 +- .../upload/section-upload.component.spec.ts | 58 ++- .../upload/section-upload.component.ts | 65 ++- .../sections/upload/section-upload.service.ts | 20 +- src/app/submission/selectors.ts | 11 +- .../submission/server-submission.service.ts | 10 +- src/app/submission/submission.module.ts | 113 +++-- src/app/submission/submission.reducers.ts | 5 +- src/app/submission/submission.service.spec.ts | 74 +-- src/app/submission/submission.service.ts | 76 +-- .../submission-submit.component.spec.ts | 40 +- .../submit/submission-submit.component.ts | 43 +- .../themed-submission-submit.component.ts | 1 + .../submission/utils/parseSectionErrors.ts | 5 +- .../submit-page/submit-page-routing.module.ts | 2 +- src/app/submit-page/submit-page.module.ts | 7 +- .../subscriptions-page-routing.module.ts | 3 +- .../subscriptions-page.component.spec.ts | 40 +- .../subscriptions-page.component.ts | 41 +- .../subscriptions-page.module.ts | 5 +- ...system-wide-alert-banner.component.spec.ts | 26 +- .../system-wide-alert-banner.component.ts | 39 +- .../system-wide-alert-form.component.spec.ts | 33 +- .../system-wide-alert-form.component.ts | 47 +- .../system-wide-alert-routing.module.ts | 5 +- .../system-wide-alert.model.ts | 6 +- .../system-wide-alert.module.ts | 12 +- .../thumbnail/themed-thumbnail.component.ts | 12 +- src/app/thumbnail/thumbnail.component.spec.ts | 29 +- src/app/thumbnail/thumbnail.component.ts | 26 +- ...ced-workflow-action-page.component.spec.ts | 8 +- ...advanced-workflow-action-page.component.ts | 5 +- ...d-workflow-action-rating.component.spec.ts | 67 +-- ...vanced-workflow-action-rating.component.ts | 18 +- ...w-action-select-reviewer.component.spec.ts | 57 ++- ...rkflow-action-select-reviewer.component.ts | 39 +- .../reviewers-list.component.spec.ts | 73 ++- .../reviewers-list.component.ts | 39 +- ...advanced-workflow-action.component.spec.ts | 38 +- .../advanced-workflow-action.component.ts | 37 +- ...-workflow-actions-loader.component.spec.ts | 21 +- ...anced-workflow-actions-loader.component.ts | 15 +- .../advanced-workflow-actions.directive.ts | 5 +- .../item-from-workflow.resolver.spec.ts | 1 + .../item-from-workflow.resolver.ts | 5 +- ...orkflow-item-action-page.component.spec.ts | 60 ++- .../workflow-item-action-page.component.ts | 41 +- .../themed-workflow-item-delete.component.ts | 5 +- .../workflow-item-delete.component.spec.ts | 42 +- .../workflow-item-delete.component.ts | 20 +- .../workflow-item-page.resolver.spec.ts | 3 +- .../workflow-item-page.resolver.ts | 13 +- ...hemed-workflow-item-send-back.component.ts | 3 +- .../workflow-item-send-back.component.spec.ts | 42 +- .../workflow-item-send-back.component.ts | 22 +- .../workflowitems-edit-page-routing-paths.ts | 5 +- .../workflowitems-edit-page-routing.module.ts | 18 +- .../workflowitems-edit-page.module.ts | 49 +- .../item-from-workspace.resolver.spec.ts | 1 + .../item-from-workspace.resolver.ts | 3 +- .../workspace-item-page.resolver.spec.ts | 3 +- .../workspace-item-page.resolver.ts | 13 +- ...ed-workspaceitems-delete-page.component.ts | 3 +- ...rkspaceitems-delete-page.component.spec.ts | 46 +- .../workspaceitems-delete-page.component.ts | 39 +- ...workspaceitems-edit-page-routing.module.ts | 4 +- .../workspaceitems-edit-page.module.ts | 5 +- src/backend/api.ts | 19 +- src/config/app-config.interface.ts | 37 +- src/config/cache-config.interface.ts | 2 +- src/config/config.server.ts | 17 +- src/config/config.util.ts | 6 +- src/config/default-app-config.ts | 16 +- src/config/notifications-config.interfaces.ts | 2 +- src/config/theme.model.spec.ts | 13 +- src/config/theme.model.ts | 15 +- src/environments/environment.test.ts | 1 + src/main.browser.ts | 7 +- src/main.server.ts | 6 +- src/modules/app/browser-app.module.ts | 53 ++- src/modules/app/browser-init.service.ts | 62 ++- src/modules/app/server-app.module.ts | 52 ++- src/modules/app/server-init.service.ts | 32 +- .../translate-browser.loader.ts | 15 +- .../translate-server.loader.ts | 15 +- src/polyfills.ts | 3 - src/test.ts | 3 +- .../admin-sidebar/admin-sidebar.component.ts | 1 + .../edit-bitstream-page.component.ts | 6 +- .../app/breadcrumbs/breadcrumbs.component.ts | 1 + .../browse-by-date-page.component.ts | 1 + .../browse-by-metadata-page.component.ts | 1 + .../browse-by-switcher.component.ts | 1 + .../browse-by-taxonomy-page.component.ts | 1 + .../browse-by-title-page.component.ts | 1 + .../collection-page.component.ts | 11 +- .../edit-item-template-page.component.ts | 5 +- .../community-list-page.component.ts | 1 + .../community-list.component.ts | 1 + .../community-page.component.ts | 6 +- ...nity-page-sub-collection-list.component.ts | 4 +- ...unity-page-sub-community-list.component.ts | 4 +- .../dso-edit-metadata.component.ts | 3 +- .../journal-issue/journal-issue.component.ts | 11 +- .../journal-volume.component.ts | 11 +- .../item-pages/journal/journal.component.ts | 11 +- .../custom/app/footer/footer.component.ts | 1 + .../app/forbidden/forbidden.component.ts | 1 + .../forgot-email.component.ts | 1 + .../forgot-password-form.component.ts | 1 + .../header-navbar-wrapper.component.ts | 1 + .../custom/app/header/header.component.ts | 1 + .../home-news/home-news.component.ts | 1 + .../app/home-page/home-page.component.ts | 1 + .../top-level-community-list.component.ts | 1 + .../end-user-agreement.component.ts | 1 + .../feedback-form/feedback-form.component.ts | 5 +- .../app/info/feedback/feedback.component.ts | 1 + .../app/info/privacy/privacy.component.ts | 1 + .../item-page/alerts/item-alerts.component.ts | 1 + .../item-status/item-status.component.ts | 11 +- .../full-file-section.component.ts | 5 +- .../full/full-item-page.component.ts | 8 +- .../media-viewer-image.component.ts | 5 +- .../media-viewer-video.component.ts | 5 +- .../media-viewer/media-viewer.component.ts | 5 +- .../file-section/file-section.component.ts | 3 +- .../title/item-page-title-field.component.ts | 5 +- .../item-page/simple/item-page.component.ts | 6 +- .../publication/publication.component.ts | 10 +- .../untyped-item/untyped-item.component.ts | 16 +- .../metadata-representation-list.component.ts | 3 +- .../app/login-page/login-page.component.ts | 1 + .../app/logout-page/logout-page.component.ts | 1 + .../objectnotfound.component.ts | 6 +- .../my-dspace-page.component.ts | 13 +- .../expandable-navbar-section.component.ts | 7 +- .../custom/app/navbar/navbar.component.ts | 1 + .../pagenotfound/pagenotfound.component.ts | 6 +- .../profile-page/profile-page.component.ts | 1 + .../create-profile.component.ts | 1 + .../register-email.component.ts | 1 + .../deny-request-copy.component.ts | 4 +- .../email-request-copy.component.ts | 4 +- .../grant-request-copy.component.ts | 4 +- src/themes/custom/app/root/root.component.ts | 3 +- .../search-navbar/search-navbar.component.ts | 1 + .../configuration-search-page.component.ts | 10 +- .../app/search-page/search-page.component.ts | 5 +- .../auth-nav-menu/auth-nav-menu.component.ts | 8 +- .../collection-dropdown.component.ts | 5 +- .../comcol-page-browse-by.component.ts | 1 + .../comcol-page-handle.component.ts | 1 + ...te-collection-parent-selector.component.ts | 5 +- ...ate-community-parent-selector.component.ts | 5 +- .../create-item-parent-selector.component.ts | 5 +- .../edit-collection-selector.component.ts | 5 +- .../edit-community-selector.component.ts | 5 +- .../edit-item-selector.component.ts | 4 +- .../file-download-link.component.ts | 5 +- ...-relation-external-source-tab.component.ts | 10 +- ...nal-source-entry-import-modal.component.ts | 5 +- ...ic-lookup-relation-search-tab.component.ts | 5 +- .../app/shared/loading/loading.component.ts | 1 + .../collection-list-element.component.ts | 10 +- .../community-list-element.component.ts | 6 +- .../object-list/object-list.component.ts | 1 + ...em-search-result-list-element.component.ts | 15 +- ...n-sidebar-search-list-element.component.ts | 9 +- .../results-back-button.component.ts | 5 +- .../search-form/search-form.component.ts | 5 +- .../search-filters.component.ts | 7 +- .../search-results.component.ts | 8 +- .../search-settings.component.ts | 7 +- .../search-sidebar.component.ts | 7 +- .../date/starts-with-date.component.ts | 8 +- .../text/starts-with-text.component.ts | 8 +- .../collection-statistics-page.component.ts | 1 + .../community-statistics-page.component.ts | 1 + .../item-statistics-page.component.ts | 1 + .../site-statistics-page.component.ts | 1 + .../edit/submission-edit.component.ts | 1 + .../submission-import-external.component.ts | 1 + .../file/section-upload-file.component.ts | 4 +- .../submit/submission-submit.component.ts | 1 + .../app/thumbnail/thumbnail.component.ts | 1 + .../workflow-item-delete.component.ts | 1 + .../workflow-item-send-back.component.ts | 1 + .../workspace-items-delete.component.ts | 1 + src/themes/custom/eager-theme.module.ts | 73 ++- src/themes/custom/lazy-theme.module.ts | 231 +++++----- .../header-navbar-wrapper.component.ts | 1 + .../dspace/app/header/header.component.ts | 1 + .../home-news/home-news.component.ts | 1 + .../dspace/app/navbar/navbar.component.ts | 1 + src/themes/dspace/eager-theme.module.ts | 15 +- src/themes/dspace/lazy-theme.module.ts | 93 ++-- src/themes/eager-themes.module.ts | 1 + 2234 files changed, 30059 insertions(+), 15612 deletions(-) diff --git a/src/app/access-control/access-control-routing-paths.ts b/src/app/access-control/access-control-routing-paths.ts index 259aa311e7..ead6f697ca 100644 --- a/src/app/access-control/access-control-routing-paths.ts +++ b/src/app/access-control/access-control-routing-paths.ts @@ -1,5 +1,5 @@ -import { URLCombiner } from '../core/url-combiner/url-combiner'; import { getAccessControlModuleRoute } from '../app-routing-paths'; +import { URLCombiner } from '../core/url-combiner/url-combiner'; export const GROUP_EDIT_PATH = 'groups'; diff --git a/src/app/access-control/access-control-routing.module.ts b/src/app/access-control/access-control-routing.module.ts index 4366a7cd10..8a2f76542b 100644 --- a/src/app/access-control/access-control-routing.module.ts +++ b/src/app/access-control/access-control-routing.module.ts @@ -1,18 +1,15 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { GroupAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/group-administrator.guard'; +import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; +import { GROUP_EDIT_PATH } from './access-control-routing-paths'; +import { BulkAccessComponent } from './bulk-access/bulk-access.component'; import { EPeopleRegistryComponent } from './epeople-registry/epeople-registry.component'; import { GroupFormComponent } from './group-registry/group-form/group-form.component'; -import { GroupsRegistryComponent } from './group-registry/groups-registry.component'; -import { GROUP_EDIT_PATH } from './access-control-routing-paths'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { GroupPageGuard } from './group-registry/group-page.guard'; -import { - GroupAdministratorGuard, -} from '../core/data/feature-authorization/feature-authorization-guard/group-administrator.guard'; -import { - SiteAdministratorGuard, -} from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; -import { BulkAccessComponent } from './bulk-access/bulk-access.component'; +import { GroupsRegistryComponent } from './group-registry/groups-registry.component'; @NgModule({ imports: [ diff --git a/src/app/access-control/access-control.module.ts b/src/app/access-control/access-control.module.ts index a880bf2d34..87737987e0 100644 --- a/src/app/access-control/access-control.module.ts +++ b/src/app/access-control/access-control.module.ts @@ -1,23 +1,27 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; +import { AbstractControl } from '@angular/forms'; import { RouterModule } from '@angular/router'; +import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; +import { + DYNAMIC_ERROR_MESSAGES_MATCHER, + DynamicErrorMessagesMatcher, +} from '@ng-dynamic-forms/core'; + +import { AccessControlFormModule } from '../shared/access-control-form-container/access-control-form.module'; +import { FormModule } from '../shared/form/form.module'; +import { SearchModule } from '../shared/search/search.module'; import { SharedModule } from '../shared/shared.module'; import { AccessControlRoutingModule } from './access-control-routing.module'; +import { BulkAccessBrowseComponent } from './bulk-access/browse/bulk-access-browse.component'; +import { BulkAccessComponent } from './bulk-access/bulk-access.component'; +import { BulkAccessSettingsComponent } from './bulk-access/settings/bulk-access-settings.component'; import { EPeopleRegistryComponent } from './epeople-registry/epeople-registry.component'; import { EPersonFormComponent } from './epeople-registry/eperson-form/eperson-form.component'; import { GroupFormComponent } from './group-registry/group-form/group-form.component'; import { MembersListComponent } from './group-registry/group-form/members-list/members-list.component'; import { SubgroupsListComponent } from './group-registry/group-form/subgroup-list/subgroups-list.component'; import { GroupsRegistryComponent } from './group-registry/groups-registry.component'; -import { FormModule } from '../shared/form/form.module'; -import { DYNAMIC_ERROR_MESSAGES_MATCHER, DynamicErrorMessagesMatcher } from '@ng-dynamic-forms/core'; -import { AbstractControl } from '@angular/forms'; -import { BulkAccessComponent } from './bulk-access/bulk-access.component'; -import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; -import { BulkAccessBrowseComponent } from './bulk-access/browse/bulk-access-browse.component'; -import { BulkAccessSettingsComponent } from './bulk-access/settings/bulk-access-settings.component'; -import { SearchModule } from '../shared/search/search.module'; -import { AccessControlFormModule } from '../shared/access-control-form-container/access-control-form.module'; /** * Condition for displaying error messages on email form field diff --git a/src/app/access-control/bulk-access/browse/bulk-access-browse.component.spec.ts b/src/app/access-control/bulk-access/browse/bulk-access-browse.component.spec.ts index 6d41c88678..e99c25a195 100644 --- a/src/app/access-control/bulk-access/browse/bulk-access-browse.component.spec.ts +++ b/src/app/access-control/bulk-access/browse/bulk-access-browse.component.spec.ts @@ -1,16 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; - -import { of } from 'rxjs'; -import { NgbAccordionModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + NgbAccordionModule, + NgbNavModule, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; -import { BulkAccessBrowseComponent } from './bulk-access-browse.component'; +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; import { SelectableListService } from '../../../shared/object-list/selectable-list/selectable-list.service'; import { SelectableObject } from '../../../shared/object-list/selectable-list/selectable-list.service.spec'; -import { PageInfo } from '../../../core/shared/page-info.model'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { BulkAccessBrowseComponent } from './bulk-access-browse.component'; describe('BulkAccessBrowseComponent', () => { let component: BulkAccessBrowseComponent; diff --git a/src/app/access-control/bulk-access/browse/bulk-access-browse.component.ts b/src/app/access-control/bulk-access/browse/bulk-access-browse.component.ts index a7bbe6f232..6b221f107e 100644 --- a/src/app/access-control/bulk-access/browse/bulk-access-browse.component.ts +++ b/src/app/access-control/bulk-access/browse/bulk-access-browse.component.ts @@ -1,19 +1,32 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + map, +} from 'rxjs/operators'; -import { BehaviorSubject, Subscription } from 'rxjs'; -import { distinctUntilChanged, map } from 'rxjs/operators'; - -import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; -import { SelectableListService } from '../../../shared/object-list/selectable-list/selectable-list.service'; -import { SelectableListState } from '../../../shared/object-list/selectable-list/selectable-list.reducer'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; import { RemoteData } from '../../../core/data/remote-data'; -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; -import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model'; -import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; import { PageInfo } from '../../../core/shared/page-info.model'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; +import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; import { hasValue } from '../../../shared/empty.util'; +import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model'; +import { SelectableListState } from '../../../shared/object-list/selectable-list/selectable-list.reducer'; +import { SelectableListService } from '../../../shared/object-list/selectable-list/selectable-list.service'; +import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; @Component({ selector: 'ds-bulk-access-browse', diff --git a/src/app/access-control/bulk-access/bulk-access.component.spec.ts b/src/app/access-control/bulk-access/bulk-access.component.spec.ts index afc469ba80..e7ec28c132 100644 --- a/src/app/access-control/bulk-access/bulk-access.component.spec.ts +++ b/src/app/access-control/bulk-access/bulk-access.component.spec.ts @@ -1,18 +1,20 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; - +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { of } from 'rxjs'; -import { BulkAccessComponent } from './bulk-access.component'; -import { BulkAccessControlService } from '../../shared/access-control-form-container/bulk-access-control.service'; -import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; -import { SelectableListState } from '../../shared/object-list/selectable-list/selectable-list.reducer'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { Process } from '../../process-page/processes/process.model'; -import { RouterTestingModule } from '@angular/router/testing'; +import { BulkAccessControlService } from '../../shared/access-control-form-container/bulk-access-control.service'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { SelectableListState } from '../../shared/object-list/selectable-list/selectable-list.reducer'; +import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { BulkAccessComponent } from './bulk-access.component'; describe('BulkAccessComponent', () => { let component: BulkAccessComponent; diff --git a/src/app/access-control/bulk-access/bulk-access.component.ts b/src/app/access-control/bulk-access/bulk-access.component.ts index e7095142ca..52faa97dbc 100644 --- a/src/app/access-control/bulk-access/bulk-access.component.ts +++ b/src/app/access-control/bulk-access/bulk-access.component.ts @@ -1,12 +1,21 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; +import { + Component, + OnInit, + ViewChild, +} from '@angular/core'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + map, +} from 'rxjs/operators'; -import { BehaviorSubject, Subscription } from 'rxjs'; -import { distinctUntilChanged, map } from 'rxjs/operators'; - -import { BulkAccessSettingsComponent } from './settings/bulk-access-settings.component'; import { BulkAccessControlService } from '../../shared/access-control-form-container/bulk-access-control.service'; import { SelectableListState } from '../../shared/object-list/selectable-list/selectable-list.reducer'; import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { BulkAccessSettingsComponent } from './settings/bulk-access-settings.component'; @Component({ selector: 'ds-bulk-access', diff --git a/src/app/access-control/bulk-access/settings/bulk-access-settings.component.spec.ts b/src/app/access-control/bulk-access/settings/bulk-access-settings.component.spec.ts index d09607522e..f3c1cad04a 100644 --- a/src/app/access-control/bulk-access/settings/bulk-access-settings.component.spec.ts +++ b/src/app/access-control/bulk-access/settings/bulk-access-settings.component.spec.ts @@ -1,8 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; + import { BulkAccessSettingsComponent } from './bulk-access-settings.component'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; describe('BulkAccessSettingsComponent', () => { let component: BulkAccessSettingsComponent; diff --git a/src/app/access-control/bulk-access/settings/bulk-access-settings.component.ts b/src/app/access-control/bulk-access/settings/bulk-access-settings.component.ts index a46d670e52..d0f95377eb 100644 --- a/src/app/access-control/bulk-access/settings/bulk-access-settings.component.ts +++ b/src/app/access-control/bulk-access/settings/bulk-access-settings.component.ts @@ -1,7 +1,9 @@ -import { Component, ViewChild } from '@angular/core'; import { - AccessControlFormContainerComponent, -} from '../../../shared/access-control-form-container/access-control-form-container.component'; + Component, + ViewChild, +} from '@angular/core'; + +import { AccessControlFormContainerComponent } from '../../../shared/access-control-form-container/access-control-form-container.component'; @Component({ selector: 'ds-bulk-access-settings', diff --git a/src/app/access-control/epeople-registry/epeople-registry.actions.ts b/src/app/access-control/epeople-registry/epeople-registry.actions.ts index a07ea37df2..e6e7608ba3 100644 --- a/src/app/access-control/epeople-registry/epeople-registry.actions.ts +++ b/src/app/access-control/epeople-registry/epeople-registry.actions.ts @@ -1,5 +1,6 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { EPerson } from '../../core/eperson/models/eperson.model'; import { type } from '../../shared/ngrx/type'; diff --git a/src/app/access-control/epeople-registry/epeople-registry.component.spec.ts b/src/app/access-control/epeople-registry/epeople-registry.component.spec.ts index b5a7efc0c9..a3350e7265 100644 --- a/src/app/access-control/epeople-registry/epeople-registry.component.spec.ts +++ b/src/app/access-control/epeople-registry/epeople-registry.component.spec.ts @@ -1,32 +1,61 @@ -import { Router } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; import { CommonModule } from '@angular/common'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { RequestService } from '../../core/data/request.service'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { PageInfo } from '../../core/shared/page-info.model'; import { FormBuilderService } from '../../shared/form/builder/form-builder.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { EPeopleRegistryComponent } from './epeople-registry.component'; -import { EPersonMock, EPersonMock2 } from '../../shared/testing/eperson.mock'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { getMockFormBuilderService } from '../../shared/mocks/form-builder-service.mock'; import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + EPersonMock, + EPersonMock2, +} from '../../shared/testing/eperson.mock'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { RequestService } from '../../core/data/request.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { FindListOptions } from '../../core/data/find-list-options.model'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { EPeopleRegistryComponent } from './epeople-registry.component'; describe('EPeopleRegistryComponent', () => { let component: EPeopleRegistryComponent; diff --git a/src/app/access-control/epeople-registry/epeople-registry.component.ts b/src/app/access-control/epeople-registry/epeople-registry.component.ts index d7da87505c..2368ccd781 100644 --- a/src/app/access-control/epeople-registry/epeople-registry.component.ts +++ b/src/app/access-control/epeople-registry/epeople-registry.component.ts @@ -1,27 +1,47 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; import { Router } from '@angular/router'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; -import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'; -import { map, switchMap, take } from 'rxjs/operators'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; +import { + BehaviorSubject, + combineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { RequestService } from '../../core/data/request.service'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; +import { EpersonDtoModel } from '../../core/eperson/models/eperson-dto.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { NoContent } from '../../core/shared/NoContent.model'; +import { + getAllSucceededRemoteData, + getFirstCompletedRemoteData, +} from '../../core/shared/operators'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { ConfirmationModalComponent } from '../../shared/confirmation-modal/confirmation-modal.component'; import { hasValue } from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { EpersonDtoModel } from '../../core/eperson/models/eperson-dto.model'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { getAllSucceededRemoteData, getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { ConfirmationModalComponent } from '../../shared/confirmation-modal/confirmation-modal.component'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { RequestService } from '../../core/data/request.service'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { NoContent } from '../../core/shared/NoContent.model'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-epeople-registry', diff --git a/src/app/access-control/epeople-registry/epeople-registry.reducers.spec.ts b/src/app/access-control/epeople-registry/epeople-registry.reducers.spec.ts index 7158acc79b..6bee3f84e2 100644 --- a/src/app/access-control/epeople-registry/epeople-registry.reducers.spec.ts +++ b/src/app/access-control/epeople-registry/epeople-registry.reducers.spec.ts @@ -1,6 +1,12 @@ -import { EPeopleRegistryCancelEPersonAction, EPeopleRegistryEditEPersonAction } from './epeople-registry.actions'; -import { ePeopleRegistryReducer, EPeopleRegistryState } from './epeople-registry.reducers'; import { EPersonMock } from '../../shared/testing/eperson.mock'; +import { + EPeopleRegistryCancelEPersonAction, + EPeopleRegistryEditEPersonAction, +} from './epeople-registry.actions'; +import { + ePeopleRegistryReducer, + EPeopleRegistryState, +} from './epeople-registry.reducers'; const initialState: EPeopleRegistryState = { editEPerson: null, diff --git a/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.spec.ts b/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.spec.ts index 1be0fd711c..f8664de8be 100644 --- a/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.spec.ts +++ b/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.spec.ts @@ -1,36 +1,62 @@ -import { Observable, of as observableOf } from 'rxjs'; import { CommonModule } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../../../core/auth/auth.service'; +import { EpersonRegistrationService } from '../../../core/data/eperson-registration.service'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; import { EPersonDataService } from '../../../core/eperson/eperson-data.service'; +import { GroupDataService } from '../../../core/eperson/group-data.service'; import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { PaginationService } from '../../../core/pagination/pagination.service'; import { PageInfo } from '../../../core/shared/page-info.model'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { AuthServiceStub } from '../../../shared/testing/auth-service.stub'; +import { + EPersonMock, + EPersonMock2, +} from '../../../shared/testing/eperson.mock'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; import { EPeopleRegistryComponent } from '../epeople-registry.component'; import { EPersonFormComponent } from './eperson-form.component'; -import { EPersonMock, EPersonMock2 } from '../../../shared/testing/eperson.mock'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; -import { AuthService } from '../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../shared/testing/auth-service.stub'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { RequestService } from '../../../core/data/request.service'; -import { PaginationService } from '../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; -import { FindListOptions } from '../../../core/data/find-list-options.model'; import { ValidateEmailNotTaken } from './validators/email-taken.validator'; -import { EpersonRegistrationService } from '../../../core/data/eperson-registration.service'; describe('EPersonFormComponent', () => { let component: EPersonFormComponent; diff --git a/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts b/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts index e222917d01..c73dd85ce9 100644 --- a/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts +++ b/src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts @@ -1,5 +1,13 @@ -import { ChangeDetectorRef, Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { DynamicCheckboxModel, DynamicFormControlModel, @@ -7,38 +15,49 @@ import { DynamicInputModel, } from '@ng-dynamic-forms/core'; import { TranslateService } from '@ngx-translate/core'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf, Subscription } from 'rxjs'; -import { debounceTime, finalize, map, switchMap, take } from 'rxjs/operators'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + debounceTime, + finalize, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { AuthService } from '../../../core/auth/auth.service'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { EpersonRegistrationService } from '../../../core/data/eperson-registration.service'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; import { EPersonDataService } from '../../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../../core/eperson/group-data.service'; import { EPerson } from '../../../core/eperson/models/eperson.model'; import { Group } from '../../../core/eperson/models/group.model'; +import { PaginationService } from '../../../core/pagination/pagination.service'; +import { NoContent } from '../../../core/shared/NoContent.model'; import { getFirstCompletedRemoteData, getFirstSucceededRemoteData, getRemoteDataPayload, } from '../../../core/shared/operators'; +import { PageInfo } from '../../../core/shared/page-info.model'; +import { Registration } from '../../../core/shared/registration.model'; +import { TYPE_REQUEST_FORGOT } from '../../../register-email-form/register-email-form.component'; +import { ConfirmationModalComponent } from '../../../shared/confirmation-modal/confirmation-modal.component'; import { hasValue } from '../../../shared/empty.util'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { AuthService } from '../../../core/auth/auth.service'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; -import { ConfirmationModalComponent } from '../../../shared/confirmation-modal/confirmation-modal.component'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { RequestService } from '../../../core/data/request.service'; -import { NoContent } from '../../../core/shared/NoContent.model'; -import { PaginationService } from '../../../core/pagination/pagination.service'; import { followLink } from '../../../shared/utils/follow-link-config.model'; import { ValidateEmailNotTaken } from './validators/email-taken.validator'; -import { Registration } from '../../../core/shared/registration.model'; -import { EpersonRegistrationService } from '../../../core/data/eperson-registration.service'; -import { TYPE_REQUEST_FORGOT } from '../../../register-email-form/register-email-form.component'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { PageInfo } from '../../../core/shared/page-info.model'; @Component({ selector: 'ds-eperson-form', diff --git a/src/app/access-control/epeople-registry/eperson-form/validators/email-taken.validator.ts b/src/app/access-control/epeople-registry/eperson-form/validators/email-taken.validator.ts index 0cef96df85..2a689c0d72 100644 --- a/src/app/access-control/epeople-registry/eperson-form/validators/email-taken.validator.ts +++ b/src/app/access-control/epeople-registry/eperson-form/validators/email-taken.validator.ts @@ -1,4 +1,7 @@ -import { AbstractControl, ValidationErrors } from '@angular/forms'; +import { + AbstractControl, + ValidationErrors, +} from '@angular/forms'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; diff --git a/src/app/access-control/group-registry/group-form/group-form.component.spec.ts b/src/app/access-control/group-registry/group-form/group-form.component.spec.ts index c0bdee1a33..aca6da2a74 100644 --- a/src/app/access-control/group-registry/group-form/group-form.component.spec.ts +++ b/src/app/access-control/group-registry/group-form/group-form.component.spec.ts @@ -1,43 +1,73 @@ import { CommonModule } from '@angular/common'; import { HttpClient } from '@angular/common/http'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { Operation } from 'fast-json-patch'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { RemoteDataBuildService } from '../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../core/cache/object-cache.service'; import { DSOChangeAnalyzer } from '../../../core/data/dso-change-analyzer.service'; import { DSpaceObjectDataService } from '../../../core/data/dspace-object-data.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; import { RemoteData } from '../../../core/data/remote-data'; import { EPersonDataService } from '../../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../../core/eperson/group-data.service'; import { Group } from '../../../core/eperson/models/group.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { HALEndpointService } from '../../../core/shared/hal-endpoint.service'; +import { NoContent } from '../../../core/shared/NoContent.model'; import { PageInfo } from '../../../core/shared/page-info.model'; import { UUIDService } from '../../../core/shared/uuid.service'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { GroupMock, GroupMock2 } from '../../../shared/testing/group-mock'; -import { GroupFormComponent } from './group-form.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; -import { getMockTranslateService } from '../../../shared/mocks/translate.service.mock'; -import { TranslateLoaderMock } from '../../../shared/testing/translate-loader.mock'; -import { RouterMock } from '../../../shared/mocks/router.mock'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { Operation } from 'fast-json-patch'; -import { ValidateGroupExists } from './validators/group-exists.validator'; -import { NoContent } from '../../../core/shared/NoContent.model'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; +import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; +import { RouterMock } from '../../../shared/mocks/router.mock'; +import { getMockTranslateService } from '../../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { + GroupMock, + GroupMock2, +} from '../../../shared/testing/group-mock'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { TranslateLoaderMock } from '../../../shared/testing/translate-loader.mock'; +import { GroupFormComponent } from './group-form.component'; +import { ValidateGroupExists } from './validators/group-exists.validator'; describe('GroupFormComponent', () => { let component: GroupFormComponent; diff --git a/src/app/access-control/group-registry/group-form/group-form.component.ts b/src/app/access-control/group-registry/group-form/group-form.component.ts index b1e3916ec0..32e8c14ad2 100644 --- a/src/app/access-control/group-registry/group-form/group-form.component.ts +++ b/src/app/access-control/group-registry/group-form/group-form.component.ts @@ -1,6 +1,17 @@ -import { Component, EventEmitter, HostListener, OnDestroy, OnInit, Output, ChangeDetectorRef } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + HostListener, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { DynamicFormControlModel, @@ -9,16 +20,27 @@ import { DynamicTextAreaModel, } from '@ng-dynamic-forms/core'; import { TranslateService } from '@ngx-translate/core'; +import { Operation } from 'fast-json-patch'; import { - ObservedValueOf, combineLatest as observableCombineLatest, Observable, + ObservedValueOf, of as observableOf, Subscription, } from 'rxjs'; -import { catchError, map, switchMap, take, filter, debounceTime } from 'rxjs/operators'; +import { + catchError, + debounceTime, + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { environment } from '../../../../environments/environment'; import { getCollectionEditRolesRoute } from '../../../collection-page/collection-page-routing-paths'; import { getCommunityEditRolesRoute } from '../../../community-page/community-page-routing-paths'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { DSpaceObjectDataService } from '../../../core/data/dspace-object-data.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; @@ -31,23 +53,24 @@ import { Group } from '../../../core/eperson/models/group.model'; import { Collection } from '../../../core/shared/collection.model'; import { Community } from '../../../core/shared/community.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { NoContent } from '../../../core/shared/NoContent.model'; import { - getRemoteDataPayload, - getFirstSucceededRemoteData, getFirstCompletedRemoteData, + getFirstSucceededRemoteData, getFirstSucceededRemoteDataPayload, + getRemoteDataPayload, } from '../../../core/shared/operators'; import { AlertType } from '../../../shared/alert/aletr-type'; import { ConfirmationModalComponent } from '../../../shared/confirmation-modal/confirmation-modal.component'; -import { hasValue, isNotEmpty, hasValueOperator } from '../../../shared/empty.util'; +import { + hasValue, + hasValueOperator, + isNotEmpty, +} from '../../../shared/empty.util'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { NoContent } from '../../../core/shared/NoContent.model'; -import { Operation } from 'fast-json-patch'; import { ValidateGroupExists } from './validators/group-exists.validator'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { environment } from '../../../../environments/environment'; @Component({ selector: 'ds-group-form', diff --git a/src/app/access-control/group-registry/group-form/members-list/members-list.component.spec.ts b/src/app/access-control/group-registry/group-form/members-list/members-list.component.spec.ts index 5f165cc7c1..e6b3747714 100644 --- a/src/app/access-control/group-registry/group-form/members-list/members-list.component.spec.ts +++ b/src/app/access-control/group-registry/group-form/members-list/members-list.component.spec.ts @@ -1,35 +1,69 @@ import { CommonModule } from '@angular/common'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, flush, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + flush, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { Router } from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { RestResponse } from '../../../../core/cache/response.models'; -import { buildPaginatedList, PaginatedList } from '../../../../core/data/paginated-list.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { EPersonDataService } from '../../../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../../../core/eperson/group-data.service'; import { EPerson } from '../../../../core/eperson/models/eperson.model'; import { Group } from '../../../../core/eperson/models/group.model'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; import { PageInfo } from '../../../../core/shared/page-info.model'; import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { GroupMock, GroupMock2 } from '../../../../shared/testing/group-mock'; -import { MembersListComponent } from './members-list.component'; -import { EPersonMock, EPersonMock2 } from '../../../../shared/testing/eperson.mock'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { getMockTranslateService } from '../../../../shared/mocks/translate.service.mock'; -import { getMockFormBuilderService } from '../../../../shared/mocks/form-builder-service.mock'; -import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; -import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; -import { RouterMock } from '../../../../shared/mocks/router.mock'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { getMockFormBuilderService } from '../../../../shared/mocks/form-builder-service.mock'; +import { RouterMock } from '../../../../shared/mocks/router.mock'; +import { getMockTranslateService } from '../../../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { + EPersonMock, + EPersonMock2, +} from '../../../../shared/testing/eperson.mock'; +import { + GroupMock, + GroupMock2, +} from '../../../../shared/testing/group-mock'; +import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; +import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; +import { MembersListComponent } from './members-list.component'; describe('MembersListComponent', () => { let component: MembersListComponent; diff --git a/src/app/access-control/group-registry/group-form/members-list/members-list.component.ts b/src/app/access-control/group-registry/group-form/members-list/members-list.component.ts index 8b03909006..0c97b08b35 100644 --- a/src/app/access-control/group-registry/group-form/members-list/members-list.component.ts +++ b/src/app/access-control/group-registry/group-form/members-list/members-list.component.ts @@ -1,33 +1,48 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { - Observable, - of as observableOf, - Subscription, BehaviorSubject, combineLatest as observableCombineLatest, + Observable, ObservedValueOf, + of as observableOf, + Subscription, } from 'rxjs'; -import { defaultIfEmpty, map, mergeMap, switchMap, take } from 'rxjs/operators'; -import { buildPaginatedList, PaginatedList } from '../../../../core/data/paginated-list.model'; +import { + defaultIfEmpty, + map, + mergeMap, + switchMap, + take, +} from 'rxjs/operators'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { EPersonDataService } from '../../../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../../../core/eperson/group-data.service'; import { EPerson } from '../../../../core/eperson/models/eperson.model'; +import { EpersonDtoModel } from '../../../../core/eperson/models/eperson-dto.model'; import { Group } from '../../../../core/eperson/models/group.model'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; import { - getFirstSucceededRemoteData, - getFirstCompletedRemoteData, getAllCompletedRemoteData, + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, getRemoteDataPayload, } from '../../../../core/shared/operators'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model'; -import { EpersonDtoModel } from '../../../../core/eperson/models/eperson-dto.model'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * Keys to keep track of specific subscriptions diff --git a/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.spec.ts b/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.spec.ts index 6667b3f0c3..233cc16e84 100644 --- a/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.spec.ts +++ b/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.spec.ts @@ -1,36 +1,68 @@ import { CommonModule } from '@angular/common'; -import { NO_ERRORS_SCHEMA, DebugElement } from '@angular/core'; -import { ComponentFixture, fakeAsync, flush, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + flush, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { Router } from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf, BehaviorSubject } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + BehaviorSubject, + Observable, + of as observableOf, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { RestResponse } from '../../../../core/cache/response.models'; -import { buildPaginatedList, PaginatedList } from '../../../../core/data/paginated-list.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { GroupDataService } from '../../../../core/eperson/group-data.service'; import { Group } from '../../../../core/eperson/models/group.model'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; import { PageInfo } from '../../../../core/shared/page-info.model'; import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { GroupMock, GroupMock2 } from '../../../../shared/testing/group-mock'; -import { SubgroupsListComponent } from './subgroups-list.component'; -import { - createSuccessfulRemoteDataObject$, - createSuccessfulRemoteDataObject, -} from '../../../../shared/remote-data.utils'; -import { RouterMock } from '../../../../shared/mocks/router.mock'; -import { getMockFormBuilderService } from '../../../../shared/mocks/form-builder-service.mock'; -import { getMockTranslateService } from '../../../../shared/mocks/translate.service.mock'; -import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; -import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; -import { map } from 'rxjs/operators'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { getMockFormBuilderService } from '../../../../shared/mocks/form-builder-service.mock'; +import { RouterMock } from '../../../../shared/mocks/router.mock'; +import { getMockTranslateService } from '../../../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../../shared/remote-data.utils'; +import { + GroupMock, + GroupMock2, +} from '../../../../shared/testing/group-mock'; +import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; +import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; +import { SubgroupsListComponent } from './subgroups-list.component'; describe('SubgroupsListComponent', () => { let component: SubgroupsListComponent; diff --git a/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.ts b/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.ts index bbdd2a8fb9..107188f3d0 100644 --- a/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.ts +++ b/src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.ts @@ -1,25 +1,41 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { BehaviorSubject, Observable, of as observableOf, Subscription } from 'rxjs'; -import { map, mergeMap, switchMap, take } from 'rxjs/operators'; +import { + BehaviorSubject, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + map, + mergeMap, + switchMap, + take, +} from 'rxjs/operators'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { GroupDataService } from '../../../../core/eperson/group-data.service'; import { Group } from '../../../../core/eperson/models/group.model'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; +import { NoContent } from '../../../../core/shared/NoContent.model'; import { getFirstCompletedRemoteData, getFirstSucceededRemoteData, getRemoteDataPayload, } from '../../../../core/shared/operators'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model'; -import { NoContent } from '../../../../core/shared/NoContent.model'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; import { followLink } from '../../../../shared/utils/follow-link-config.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { PageInfo } from '../../../../core/shared/page-info.model'; /** * Keys to keep track of specific subscriptions diff --git a/src/app/access-control/group-registry/group-form/validators/group-exists.validator.ts b/src/app/access-control/group-registry/group-form/validators/group-exists.validator.ts index 02e7b7079f..40fa416ae9 100644 --- a/src/app/access-control/group-registry/group-form/validators/group-exists.validator.ts +++ b/src/app/access-control/group-registry/group-form/validators/group-exists.validator.ts @@ -1,10 +1,13 @@ -import { AbstractControl, ValidationErrors } from '@angular/forms'; +import { + AbstractControl, + ValidationErrors, +} from '@angular/forms'; import { Observable } from 'rxjs'; import { map} from 'rxjs/operators'; import { GroupDataService } from '../../../../core/eperson/group-data.service'; -import { getFirstSucceededRemoteListPayload } from '../../../../core/shared/operators'; import { Group } from '../../../../core/eperson/models/group.model'; +import { getFirstSucceededRemoteListPayload } from '../../../../core/shared/operators'; export class ValidateGroupExists { diff --git a/src/app/access-control/group-registry/group-page.guard.spec.ts b/src/app/access-control/group-registry/group-page.guard.spec.ts index 172fafc894..fcb4882626 100644 --- a/src/app/access-control/group-registry/group-page.guard.spec.ts +++ b/src/app/access-control/group-registry/group-page.guard.spec.ts @@ -1,10 +1,14 @@ -import { GroupPageGuard } from './group-page.guard'; -import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ActivatedRouteSnapshot, Router } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Router, +} from '@angular/router'; import { of as observableOf } from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; +import { GroupPageGuard } from './group-page.guard'; describe('GroupPageGuard', () => { const groupsEndpointUrl = 'https://test.org/api/eperson/groups'; diff --git a/src/app/access-control/group-registry/group-page.guard.ts b/src/app/access-control/group-registry/group-page.guard.ts index d7bdf509c3..928271887c 100644 --- a/src/app/access-control/group-registry/group-page.guard.ts +++ b/src/app/access-control/group-registry/group-page.guard.ts @@ -1,13 +1,21 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { AuthService } from '../../core/auth/auth.service'; -import { SomeFeatureAuthorizationGuard } from '../../core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard'; -import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { map } from 'rxjs/operators'; +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { SomeFeatureAuthorizationGuard } from '../../core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; + @Injectable({ providedIn: 'root', }) diff --git a/src/app/access-control/group-registry/group-registry.actions.ts b/src/app/access-control/group-registry/group-registry.actions.ts index 8144bd0599..d1bc62a95c 100644 --- a/src/app/access-control/group-registry/group-registry.actions.ts +++ b/src/app/access-control/group-registry/group-registry.actions.ts @@ -1,5 +1,6 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { Group } from '../../core/eperson/models/group.model'; import { type } from '../../shared/ngrx/type'; diff --git a/src/app/access-control/group-registry/group-registry.reducers.spec.ts b/src/app/access-control/group-registry/group-registry.reducers.spec.ts index de5b65f5ba..83a6df580d 100644 --- a/src/app/access-control/group-registry/group-registry.reducers.spec.ts +++ b/src/app/access-control/group-registry/group-registry.reducers.spec.ts @@ -1,6 +1,12 @@ import { GroupMock } from '../../shared/testing/group-mock'; -import { GroupRegistryCancelGroupAction, GroupRegistryEditGroupAction } from './group-registry.actions'; -import { groupRegistryReducer, GroupRegistryState } from './group-registry.reducers'; +import { + GroupRegistryCancelGroupAction, + GroupRegistryEditGroupAction, +} from './group-registry.actions'; +import { + groupRegistryReducer, + GroupRegistryState, +} from './group-registry.reducers'; const initialState: GroupRegistryState = { editGroup: null, diff --git a/src/app/access-control/group-registry/group-registry.reducers.ts b/src/app/access-control/group-registry/group-registry.reducers.ts index 9bebda5db2..0bb3ad4b5c 100644 --- a/src/app/access-control/group-registry/group-registry.reducers.ts +++ b/src/app/access-control/group-registry/group-registry.reducers.ts @@ -1,5 +1,9 @@ import { Group } from '../../core/eperson/models/group.model'; -import { GroupRegistryAction, GroupRegistryActionTypes, GroupRegistryEditGroupAction } from './group-registry.actions'; +import { + GroupRegistryAction, + GroupRegistryActionTypes, + GroupRegistryEditGroupAction, +} from './group-registry.actions'; /** * The metadata registry state. diff --git a/src/app/access-control/group-registry/groups-registry.component.spec.ts b/src/app/access-control/group-registry/groups-registry.component.spec.ts index 4a0ef67038..73bb2fe80a 100644 --- a/src/app/access-control/group-registry/groups-registry.component.spec.ts +++ b/src/app/access-control/group-registry/groups-registry.component.spec.ts @@ -1,39 +1,71 @@ import { CommonModule } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { Router } from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; import { RequestService } from '../../core/data/request.service'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../core/eperson/group-data.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { Group } from '../../core/eperson/models/group.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { RouteService } from '../../core/services/route.service'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { GroupMock, GroupMock2 } from '../../shared/testing/group-mock'; -import { GroupsRegistryComponent } from './groups-registry.component'; -import { EPersonMock, EPersonMock2 } from '../../shared/testing/eperson.mock'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { TranslateLoaderMock } from '../../shared/testing/translate-loader.mock'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { routeServiceStub } from '../../shared/testing/route-service.stub'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; import { NoContent } from '../../core/shared/NoContent.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock, UNDEFINED_NAME } from '../../shared/mocks/dso-name.service.mock'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { + DSONameServiceMock, + UNDEFINED_NAME, +} from '../../shared/mocks/dso-name.service.mock'; +import { RouterMock } from '../../shared/mocks/router.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + EPersonMock, + EPersonMock2, +} from '../../shared/testing/eperson.mock'; +import { + GroupMock, + GroupMock2, +} from '../../shared/testing/group-mock'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { routeServiceStub } from '../../shared/testing/route-service.stub'; +import { TranslateLoaderMock } from '../../shared/testing/translate-loader.mock'; +import { GroupsRegistryComponent } from './groups-registry.component'; describe('GroupsRegistryComponent', () => { let component: GroupsRegistryComponent; diff --git a/src/app/access-control/group-registry/groups-registry.component.ts b/src/app/access-control/group-registry/groups-registry.component.ts index 3afc5571c4..f56e710a0e 100644 --- a/src/app/access-control/group-registry/groups-registry.component.ts +++ b/src/app/access-control/group-registry/groups-registry.component.ts @@ -1,4 +1,8 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; @@ -10,20 +14,33 @@ import { of as observableOf, Subscription, } from 'rxjs'; -import { catchError, defaultIfEmpty, map, switchMap, tap } from 'rxjs/operators'; +import { + catchError, + defaultIfEmpty, + map, + switchMap, + tap, +} from 'rxjs/operators'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; import { RequestService } from '../../core/data/request.service'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../core/eperson/group-data.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; -import { GroupDtoModel } from '../../core/eperson/models/group-dto.model'; import { Group } from '../../core/eperson/models/group.model'; +import { GroupDtoModel } from '../../core/eperson/models/group-dto.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { RouteService } from '../../core/services/route.service'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { NoContent } from '../../core/shared/NoContent.model'; import { getAllSucceededRemoteData, getFirstCompletedRemoteData, @@ -34,10 +51,7 @@ import { PageInfo } from '../../core/shared/page-info.model'; import { hasValue } from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { NoContent } from '../../core/shared/NoContent.model'; -import { PaginationService } from '../../core/pagination/pagination.service'; import { followLink } from '../../shared/utils/follow-link-config.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-groups-registry', diff --git a/src/app/admin/admin-curation-tasks/admin-curation-tasks.component.spec.ts b/src/app/admin/admin-curation-tasks/admin-curation-tasks.component.spec.ts index 33c0f86a10..5aabe0fda0 100644 --- a/src/app/admin/admin-curation-tasks/admin-curation-tasks.component.spec.ts +++ b/src/app/admin/admin-curation-tasks/admin-curation-tasks.component.spec.ts @@ -1,7 +1,12 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { AdminCurationTasksComponent } from './admin-curation-tasks.component'; -import { TranslateModule } from '@ngx-translate/core'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { AdminCurationTasksComponent } from './admin-curation-tasks.component'; describe('AdminCurationTasksComponent', () => { let comp: AdminCurationTasksComponent; diff --git a/src/app/admin/admin-import-batch-page/batch-import-page.component.spec.ts b/src/app/admin/admin-import-batch-page/batch-import-page.component.spec.ts index 2c0819b091..752bd52e4d 100644 --- a/src/app/admin/admin-import-batch-page/batch-import-page.component.spec.ts +++ b/src/app/admin/admin-import-batch-page/batch-import-page.component.spec.ts @@ -1,22 +1,31 @@ -import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; -import { BatchImportPageComponent } from './batch-import-page.component'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { Location } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { TranslateModule } from '@ngx-translate/core'; +import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { FileValueAccessorDirective } from '../../shared/utils/file-value-accessor.directive'; -import { FileValidator } from '../../shared/utils/require-file.validator'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { TranslateModule } from '@ngx-translate/core'; + import { BATCH_IMPORT_SCRIPT_NAME, ScriptDataService, } from '../../core/data/processes/script-data.service'; -import { Router } from '@angular/router'; -import { Location } from '@angular/common'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { By } from '@angular/platform-browser'; import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { FileValueAccessorDirective } from '../../shared/utils/file-value-accessor.directive'; +import { FileValidator } from '../../shared/utils/require-file.validator'; +import { BatchImportPageComponent } from './batch-import-page.component'; describe('BatchImportPageComponent', () => { let component: BatchImportPageComponent; diff --git a/src/app/admin/admin-import-batch-page/batch-import-page.component.ts b/src/app/admin/admin-import-batch-page/batch-import-page.component.ts index 585aeac4e4..2712610fd1 100644 --- a/src/app/admin/admin-import-batch-page/batch-import-page.component.ts +++ b/src/app/admin/admin-import-batch-page/batch-import-page.component.ts @@ -1,22 +1,27 @@ -import { Component } from '@angular/core'; import { Location } from '@angular/common'; -import { TranslateService } from '@ngx-translate/core'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { BATCH_IMPORT_SCRIPT_NAME, ScriptDataService } from '../../core/data/processes/script-data.service'; +import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { Process } from '../../process-page/processes/process.model'; -import { isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { getProcessDetailRoute } from '../../process-page/process-page-routing.paths'; -import { - ImportBatchSelectorComponent, -} from '../../shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; import { take } from 'rxjs/operators'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { + BATCH_IMPORT_SCRIPT_NAME, + ScriptDataService, +} from '../../core/data/processes/script-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { getProcessDetailRoute } from '../../process-page/process-page-routing.paths'; +import { Process } from '../../process-page/processes/process.model'; +import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; +import { ImportBatchSelectorComponent } from '../../shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component'; +import { + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; @Component({ selector: 'ds-batch-import-page', diff --git a/src/app/admin/admin-import-metadata-page/metadata-import-page.component.spec.ts b/src/app/admin/admin-import-metadata-page/metadata-import-page.component.spec.ts index fd1c805595..131b4561c1 100644 --- a/src/app/admin/admin-import-metadata-page/metadata-import-page.component.spec.ts +++ b/src/app/admin/admin-import-metadata-page/metadata-import-page.component.spec.ts @@ -1,19 +1,31 @@ import { Location } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; import { Router } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { METADATA_IMPORT_SCRIPT_NAME, ScriptDataService } from '../../core/data/processes/script-data.service'; + +import { + METADATA_IMPORT_SCRIPT_NAME, + ScriptDataService, +} from '../../core/data/processes/script-data.service'; import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; import { FileValueAccessorDirective } from '../../shared/utils/file-value-accessor.directive'; import { FileValidator } from '../../shared/utils/require-file.validator'; import { MetadataImportPageComponent } from './metadata-import-page.component'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; describe('MetadataImportPageComponent', () => { let comp: MetadataImportPageComponent; diff --git a/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts b/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts index 7633773317..e554459286 100644 --- a/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts +++ b/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts @@ -2,14 +2,18 @@ import { Location } from '@angular/common'; import { Component } from '@angular/core'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { METADATA_IMPORT_SCRIPT_NAME, ScriptDataService } from '../../core/data/processes/script-data.service'; + +import { + METADATA_IMPORT_SCRIPT_NAME, + ScriptDataService, +} from '../../core/data/processes/script-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { getProcessDetailRoute } from '../../process-page/process-page-routing.paths'; +import { Process } from '../../process-page/processes/process.model'; import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; import { isNotEmpty } from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { RemoteData } from '../../core/data/remote-data'; -import { Process } from '../../process-page/processes/process.model'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { getProcessDetailRoute } from '../../process-page/process-page-routing.paths'; @Component({ selector: 'ds-metadata-import-page', diff --git a/src/app/admin/admin-registries/admin-registries-routing.module.ts b/src/app/admin/admin-registries/admin-registries-routing.module.ts index 9c566c92c8..0e4ac7fc95 100644 --- a/src/app/admin/admin-registries/admin-registries-routing.module.ts +++ b/src/app/admin/admin-registries/admin-registries-routing.module.ts @@ -1,9 +1,10 @@ -import { MetadataRegistryComponent } from './metadata-registry/metadata-registry.component'; -import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; -import { MetadataSchemaComponent } from './metadata-schema/metadata-schema.component'; +import { RouterModule } from '@angular/router'; + import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; import { BITSTREAMFORMATS_MODULE_PATH } from './admin-registries-routing-paths'; +import { MetadataRegistryComponent } from './metadata-registry/metadata-registry.component'; +import { MetadataSchemaComponent } from './metadata-schema/metadata-schema.component'; @NgModule({ imports: [ diff --git a/src/app/admin/admin-registries/admin-registries.module.ts b/src/app/admin/admin-registries/admin-registries.module.ts index 9c03dc30b0..42432a90ed 100644 --- a/src/app/admin/admin-registries/admin-registries.module.ts +++ b/src/app/admin/admin-registries/admin-registries.module.ts @@ -1,14 +1,15 @@ -import { NgModule } from '@angular/core'; -import { MetadataRegistryComponent } from './metadata-registry/metadata-registry.component'; -import { AdminRegistriesRoutingModule } from './admin-registries-routing.module'; import { CommonModule } from '@angular/common'; -import { MetadataSchemaComponent } from './metadata-schema/metadata-schema.component'; +import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + +import { FormModule } from '../../shared/form/form.module'; import { SharedModule } from '../../shared/shared.module'; +import { AdminRegistriesRoutingModule } from './admin-registries-routing.module'; +import { BitstreamFormatsModule } from './bitstream-formats/bitstream-formats.module'; +import { MetadataRegistryComponent } from './metadata-registry/metadata-registry.component'; import { MetadataSchemaFormComponent } from './metadata-registry/metadata-schema-form/metadata-schema-form.component'; import { MetadataFieldFormComponent } from './metadata-schema/metadata-field-form/metadata-field-form.component'; -import { BitstreamFormatsModule } from './bitstream-formats/bitstream-formats.module'; -import { FormModule } from '../../shared/form/form.module'; +import { MetadataSchemaComponent } from './metadata-schema/metadata-schema.component'; @NgModule({ imports: [ diff --git a/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.spec.ts b/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.spec.ts index 7ce8a7a6ad..72d2795170 100644 --- a/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.spec.ts +++ b/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.spec.ts @@ -1,19 +1,27 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Router } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; -import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-format-support-level'; import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; +import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-format-support-level'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../../shared/remote-data.utils'; import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; import { RouterStub } from '../../../../shared/testing/router.stub'; import { AddBitstreamFormatComponent } from './add-bitstream-format.component'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; describe('AddBitstreamFormatComponent', () => { let comp: AddBitstreamFormatComponent; diff --git a/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.ts b/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.ts index 788c0a8f24..4dc43480c0 100644 --- a/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.ts +++ b/src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.ts @@ -1,12 +1,13 @@ -import { Router } from '@angular/router'; import { Component } from '@angular/core'; -import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; -import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths'; + +import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths'; /** * This component renders the page to create a new bitstream format. diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts index 7230518d31..874274af8b 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts @@ -1,7 +1,8 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; -import { type } from '../../../shared/ngrx/type'; + import { BitstreamFormat } from '../../../core/shared/bitstream-format.model'; +import { type } from '../../../shared/ngrx/type'; /** * For each action type in an action group, make a simple diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-format.reducers.spec.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-format.reducers.spec.ts index 268839446f..09c867bc72 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-format.reducers.spec.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-format.reducers.spec.ts @@ -1,11 +1,15 @@ import { Action } from '@ngrx/store'; + import { BitstreamFormat } from '../../../core/shared/bitstream-format.model'; -import { bitstreamFormatReducer, BitstreamFormatRegistryState } from './bitstream-format.reducers'; import { BitstreamFormatsRegistryDeselectAction, BitstreamFormatsRegistryDeselectAllAction, BitstreamFormatsRegistrySelectAction, } from './bitstream-format.actions'; +import { + bitstreamFormatReducer, + BitstreamFormatRegistryState, +} from './bitstream-format.reducers'; const bitstreamFormat1: BitstreamFormat = new BitstreamFormat(); bitstreamFormat1.id = 'test-uuid-1'; diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats-routing.module.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats-routing.module.ts index 6ed822f774..78f5fe6bb9 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats-routing.module.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats-routing.module.ts @@ -1,10 +1,11 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + +import { I18nBreadcrumbResolver } from '../../../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { AddBitstreamFormatComponent } from './add-bitstream-format/add-bitstream-format.component'; +import { BitstreamFormatsComponent } from './bitstream-formats.component'; import { BitstreamFormatsResolver } from './bitstream-formats.resolver'; import { EditBitstreamFormatComponent } from './edit-bitstream-format/edit-bitstream-format.component'; -import { BitstreamFormatsComponent } from './bitstream-formats.component'; -import { AddBitstreamFormatComponent } from './add-bitstream-format/add-bitstream-format.component'; -import { I18nBreadcrumbResolver } from '../../../core/breadcrumbs/i18n-breadcrumb.resolver'; const BITSTREAMFORMAT_EDIT_PATH = ':id/edit'; const BITSTREAMFORMAT_ADD_PATH = 'add'; diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts index 6d28d363cd..b63a6213eb 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts @@ -1,31 +1,40 @@ -import { BitstreamFormatsComponent } from './bitstream-formats.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { PaginationComponent } from '../../../shared/pagination/pagination.component'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; -import { HostWindowService } from '../../../shared/host-window.service'; -import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; +import { TranslateModule } from '@ngx-translate/core'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + import { BitstreamFormatDataService } from '../../../core/data/bitstream-format-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { PaginationService } from '../../../core/pagination/pagination.service'; import { BitstreamFormat } from '../../../core/shared/bitstream-format.model'; import { BitstreamFormatSupportLevel } from '../../../core/shared/bitstream-format-support-level'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; +import { HostWindowService } from '../../../shared/host-window.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { PaginationComponent } from '../../../shared/pagination/pagination.component'; import { + createFailedRemoteDataObject$, createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, - createFailedRemoteDataObject$, } from '../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { PaginationService } from '../../../core/pagination/pagination.service'; +import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; +import { BitstreamFormatsComponent } from './bitstream-formats.component'; describe('BitstreamFormatsComponent', () => { let comp: BitstreamFormatsComponent; diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.ts index bb3980b764..171c8fca8c 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.ts @@ -1,18 +1,32 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable} from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { BitstreamFormat } from '../../../core/shared/bitstream-format.model'; -import { BitstreamFormatDataService } from '../../../core/data/bitstream-format-data.service'; -import { map, mergeMap, switchMap, take, toArray } from 'rxjs/operators'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { NoContent } from '../../../core/shared/NoContent.model'; -import { PaginationService } from '../../../core/pagination/pagination.service'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, + switchMap, + take, + toArray, +} from 'rxjs/operators'; + +import { BitstreamFormatDataService } from '../../../core/data/bitstream-format-data.service'; import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { PaginationService } from '../../../core/pagination/pagination.service'; +import { BitstreamFormat } from '../../../core/shared/bitstream-format.model'; +import { NoContent } from '../../../core/shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; /** * This component renders a list of bitstream formats diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.module.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.module.ts index c7d21c74ba..4c8b3284b0 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.module.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.module.ts @@ -1,13 +1,14 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { BitstreamFormatsComponent } from './bitstream-formats.component'; -import { SharedModule } from '../../../shared/shared.module'; -import { FormatFormComponent } from './format-form/format-form.component'; -import { EditBitstreamFormatComponent } from './edit-bitstream-format/edit-bitstream-format.component'; -import { BitstreamFormatsRoutingModule } from './bitstream-formats-routing.module'; -import { AddBitstreamFormatComponent } from './add-bitstream-format/add-bitstream-format.component'; + import { FormModule } from '../../../shared/form/form.module'; +import { SharedModule } from '../../../shared/shared.module'; +import { AddBitstreamFormatComponent } from './add-bitstream-format/add-bitstream-format.component'; +import { BitstreamFormatsComponent } from './bitstream-formats.component'; +import { BitstreamFormatsRoutingModule } from './bitstream-formats-routing.module'; +import { EditBitstreamFormatComponent } from './edit-bitstream-format/edit-bitstream-format.component'; +import { FormatFormComponent } from './format-form/format-form.component'; @NgModule({ imports: [ diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.resolver.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.resolver.ts index 0f38044593..4ab186cdc6 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.resolver.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-formats.resolver.ts @@ -1,9 +1,14 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; + +import { BitstreamFormatDataService } from '../../../core/data/bitstream-format-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { BitstreamFormat } from '../../../core/shared/bitstream-format.model'; -import { BitstreamFormatDataService } from '../../../core/data/bitstream-format-data.service'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; /** diff --git a/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.spec.ts b/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.spec.ts index 17854c2182..5df6f74c13 100644 --- a/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.spec.ts +++ b/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.spec.ts @@ -1,24 +1,32 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; -import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-format-support-level'; import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; +import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-format-support-level'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; -import { RouterStub } from '../../../../shared/testing/router.stub'; -import { EditBitstreamFormatComponent } from './edit-bitstream-format.component'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../../shared/testing/router.stub'; +import { EditBitstreamFormatComponent } from './edit-bitstream-format.component'; describe('EditBitstreamFormatComponent', () => { let comp: EditBitstreamFormatComponent; diff --git a/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.ts b/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.ts index c48c1c12cf..e7d1d501af 100644 --- a/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.ts +++ b/src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.ts @@ -1,14 +1,21 @@ -import { map } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { Component, OnInit } from '@angular/core'; +import { map } from 'rxjs/operators'; + +import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; -import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths'; import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths'; /** * This component renders the edit page of a bitstream format. diff --git a/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.spec.ts b/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.spec.ts index 843d696eba..ceeb313a9d 100644 --- a/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.spec.ts +++ b/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.spec.ts @@ -1,17 +1,29 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { RouterStub } from '../../../../shared/testing/router.stub'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { Router } from '@angular/router'; -import { FormatFormComponent } from './format-form.component'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicCheckboxModel, + DynamicFormArrayModel, + DynamicInputModel, +} from '@ng-dynamic-forms/core'; +import { TranslateModule } from '@ngx-translate/core'; + import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-format-support-level'; -import { DynamicCheckboxModel, DynamicFormArrayModel, DynamicInputModel } from '@ng-dynamic-forms/core'; -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { isEmpty } from '../../../../shared/empty.util'; +import { RouterStub } from '../../../../shared/testing/router.stub'; +import { FormatFormComponent } from './format-form.component'; describe('FormatFormComponent', () => { let comp: FormatFormComponent; diff --git a/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.ts b/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.ts index 043ed17da1..624641ff11 100644 --- a/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.ts +++ b/src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.ts @@ -1,6 +1,11 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; -import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-format-support-level'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { Router } from '@angular/router'; import { DynamicCheckboxModel, DynamicFormArrayModel, @@ -11,11 +16,16 @@ import { DynamicSelectModel, DynamicTextAreaModel, } from '@ng-dynamic-forms/core'; -import { Router } from '@angular/router'; -import { hasValue, isEmpty } from '../../../../shared/empty.util'; import { TranslateService } from '@ngx-translate/core'; -import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths'; + import { environment } from '../../../../../environments/environment'; +import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; +import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-format-support-level'; +import { + hasValue, + isEmpty, +} from '../../../../shared/empty.util'; +import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths'; /** * The component responsible for rendering the form to create/edit a bitstream format diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts b/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts index be87d6ae39..2e06d168ce 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts @@ -1,8 +1,9 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; -import { type } from '../../../shared/ngrx/type'; -import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; + import { MetadataField } from '../../../core/metadata/metadata-field.model'; +import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; +import { type } from '../../../shared/ngrx/type'; /** * For each action type in an action group, make a simple diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts b/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts index 23baafa4e1..63acf0f258 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts @@ -1,25 +1,34 @@ -import { MetadataRegistryComponent } from './metadata-registry.component'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; -import { TranslateModule } from '@ngx-translate/core'; -import { By } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { RegistryService } from '../../../core/registry/registry.service'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; -import { PaginationComponent } from '../../../shared/pagination/pagination.component'; -import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; -import { HostWindowService } from '../../../shared/host-window.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { RestResponse } from '../../../core/cache/response.models'; +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; import { PaginationService } from '../../../core/pagination/pagination.service'; +import { RegistryService } from '../../../core/registry/registry.service'; +import { HostWindowService } from '../../../shared/host-window.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { PaginationComponent } from '../../../shared/pagination/pagination.component'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; +import { MetadataRegistryComponent } from './metadata-registry.component'; describe('MetadataRegistryComponent', () => { let comp: MetadataRegistryComponent; diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.ts b/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.ts index 346394201b..7801bda1b4 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.ts @@ -1,19 +1,30 @@ import { Component } from '@angular/core'; -import { RegistryService } from '../../../core/registry/registry.service'; -import { BehaviorSubject, combineLatest as observableCombineLatest, Observable, zip } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { filter, map, switchMap, take } from 'rxjs/operators'; -import { hasValue } from '../../../shared/empty.util'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, + zip, +} from 'rxjs'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; -import { toFindListOptions } from '../../../shared/pagination/pagination.utils'; +import { PaginationService } from '../../../core/pagination/pagination.service'; +import { RegistryService } from '../../../core/registry/registry.service'; import { NoContent } from '../../../core/shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; -import { PaginationService } from '../../../core/pagination/pagination.service'; +import { hasValue } from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { toFindListOptions } from '../../../shared/pagination/pagination.utils'; +import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; @Component({ selector: 'ds-metadata-registry', diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.spec.ts b/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.spec.ts index 931f16a907..07d01b8dc3 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.spec.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.spec.ts @@ -1,3 +1,5 @@ +import { MetadataField } from '../../../core/metadata/metadata-field.model'; +import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; import { MetadataRegistryCancelFieldAction, MetadataRegistryCancelSchemaAction, @@ -10,9 +12,10 @@ import { MetadataRegistrySelectFieldAction, MetadataRegistrySelectSchemaAction, } from './metadata-registry.actions'; -import { metadataRegistryReducer, MetadataRegistryState } from './metadata-registry.reducers'; -import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; -import { MetadataField } from '../../../core/metadata/metadata-field.model'; +import { + metadataRegistryReducer, + MetadataRegistryState, +} from './metadata-registry.reducers'; class NullAction extends MetadataRegistryEditSchemaAction { type = null; diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.ts b/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.ts index 4d3638fd99..6cb72a0a8b 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-registry.reducers.ts @@ -1,3 +1,5 @@ +import { MetadataField } from '../../../core/metadata/metadata-field.model'; +import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; import { MetadataRegistryAction, MetadataRegistryActionTypes, @@ -8,8 +10,6 @@ import { MetadataRegistrySelectFieldAction, MetadataRegistrySelectSchemaAction, } from './metadata-registry.actions'; -import { MetadataField } from '../../../core/metadata/metadata-field.model'; -import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; /** * The metadata registry state. diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts b/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts index dc82923b3a..17fdb6cd3d 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts @@ -1,15 +1,21 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { MetadataSchemaFormComponent } from './metadata-schema-form.component'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../../../shared/utils/enum-keys-pipe'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model'; import { RegistryService } from '../../../../core/registry/registry.service'; import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; -import { of as observableOf } from 'rxjs'; -import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model'; +import { EnumKeysPipe } from '../../../../shared/utils/enum-keys-pipe'; +import { MetadataSchemaFormComponent } from './metadata-schema-form.component'; describe('MetadataSchemaFormComponent', () => { let component: MetadataSchemaFormComponent; diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.ts b/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.ts index 6c59d810e4..6a858f0496 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.ts @@ -1,17 +1,24 @@ -import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; import { DynamicFormControlModel, DynamicFormGroupModel, DynamicFormLayout, DynamicInputModel, } from '@ng-dynamic-forms/core'; -import { UntypedFormGroup } from '@angular/forms'; -import { RegistryService } from '../../../../core/registry/registry.service'; -import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; -import { take } from 'rxjs/operators'; import { TranslateService } from '@ngx-translate/core'; import { combineLatest } from 'rxjs'; +import { take } from 'rxjs/operators'; + import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model'; +import { RegistryService } from '../../../../core/registry/registry.service'; +import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; @Component({ selector: 'ds-metadata-schema-form', diff --git a/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts b/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts index 6f631640e4..fb9037b582 100644 --- a/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts @@ -1,17 +1,22 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { MetadataFieldFormComponent } from './metadata-field-form.component'; -import { RegistryService } from '../../../../core/registry/registry.service'; -import { of as observableOf } from 'rxjs'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../../../shared/utils/enum-keys-pipe'; -import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { MetadataField } from '../../../../core/metadata/metadata-field.model'; import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model'; +import { RegistryService } from '../../../../core/registry/registry.service'; +import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; +import { EnumKeysPipe } from '../../../../shared/utils/enum-keys-pipe'; +import { MetadataFieldFormComponent } from './metadata-field-form.component'; describe('MetadataFieldFormComponent', () => { let component: MetadataFieldFormComponent; diff --git a/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.ts b/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.ts index 3765c7bf21..ae6491a2b0 100644 --- a/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.ts +++ b/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.ts @@ -1,18 +1,26 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; import { DynamicFormControlModel, DynamicFormGroupModel, DynamicFormLayout, DynamicInputModel, } from '@ng-dynamic-forms/core'; -import { UntypedFormGroup } from '@angular/forms'; -import { RegistryService } from '../../../../core/registry/registry.service'; -import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; -import { take } from 'rxjs/operators'; import { TranslateService } from '@ngx-translate/core'; import { combineLatest } from 'rxjs'; -import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model'; +import { take } from 'rxjs/operators'; + import { MetadataField } from '../../../../core/metadata/metadata-field.model'; +import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model'; +import { RegistryService } from '../../../../core/registry/registry.service'; +import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; @Component({ selector: 'ds-metadata-field-form', diff --git a/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts b/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts index 7f560d737e..6c4e62e45f 100644 --- a/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts @@ -1,30 +1,39 @@ -import { MetadataSchemaComponent } from './metadata-schema.component'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; -import { TranslateModule } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; -import { ActivatedRoute, Router } from '@angular/router'; -import { By } from '@angular/platform-browser'; -import { RegistryService } from '../../../core/registry/registry.service'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; -import { PaginationComponent } from '../../../shared/pagination/pagination.component'; -import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; -import { HostWindowService } from '../../../shared/host-window.service'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { RestResponse } from '../../../core/cache/response.models'; -import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { MetadataField } from '../../../core/metadata/metadata-field.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { VarDirective } from '../../../shared/utils/var.directive'; +import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; import { PaginationService } from '../../../core/pagination/pagination.service'; +import { RegistryService } from '../../../core/registry/registry.service'; +import { HostWindowService } from '../../../shared/host-window.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { PaginationComponent } from '../../../shared/pagination/pagination.component'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; +import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { MetadataSchemaComponent } from './metadata-schema.component'; describe('MetadataSchemaComponent', () => { let comp: MetadataSchemaComponent; diff --git a/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.ts b/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.ts index 1175d3b3be..6fe305bf34 100644 --- a/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.ts +++ b/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.ts @@ -1,27 +1,41 @@ -import { Component, OnInit } from '@angular/core'; -import { RegistryService } from '../../../core/registry/registry.service'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, - combineLatest as observableCombineLatest, combineLatest, + combineLatest as observableCombineLatest, Observable, of as observableOf, zip, } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { map, switchMap, take } from 'rxjs/operators'; -import { hasValue } from '../../../shared/empty.util'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; +import { RemoteData } from '../../../core/data/remote-data'; import { MetadataField } from '../../../core/metadata/metadata-field.model'; import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { toFindListOptions } from '../../../shared/pagination/pagination.utils'; -import { NoContent } from '../../../core/shared/NoContent.model'; import { PaginationService } from '../../../core/pagination/pagination.service'; +import { RegistryService } from '../../../core/registry/registry.service'; +import { NoContent } from '../../../core/shared/NoContent.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { hasValue } from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { toFindListOptions } from '../../../shared/pagination/pagination.utils'; +import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; @Component({ selector: 'ds-metadata-schema', diff --git a/src/app/admin/admin-routing-paths.ts b/src/app/admin/admin-routing-paths.ts index 3168ea93c9..d0f046c6be 100644 --- a/src/app/admin/admin-routing-paths.ts +++ b/src/app/admin/admin-routing-paths.ts @@ -1,5 +1,5 @@ -import { URLCombiner } from '../core/url-combiner/url-combiner'; import { getAdminModuleRoute } from '../app-routing-paths'; +import { URLCombiner } from '../core/url-combiner/url-combiner'; export const REGISTRIES_MODULE_PATH = 'registries'; diff --git a/src/app/admin/admin-routing.module.ts b/src/app/admin/admin-routing.module.ts index 7f602b7179..6a2e8e8178 100644 --- a/src/app/admin/admin-routing.module.ts +++ b/src/app/admin/admin-routing.module.ts @@ -1,13 +1,14 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { MetadataImportPageComponent } from './admin-import-metadata-page/metadata-import-page.component'; -import { AdminSearchPageComponent } from './admin-search-page/admin-search-page.component'; + import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { AdminWorkflowPageComponent } from './admin-workflow-page/admin-workflow-page.component'; import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component'; -import { REGISTRIES_MODULE_PATH } from './admin-routing-paths'; import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component'; +import { MetadataImportPageComponent } from './admin-import-metadata-page/metadata-import-page.component'; +import { REGISTRIES_MODULE_PATH } from './admin-routing-paths'; +import { AdminSearchPageComponent } from './admin-search-page/admin-search-page.component'; +import { AdminWorkflowPageComponent } from './admin-workflow-page/admin-workflow-page.component'; @NgModule({ imports: [ diff --git a/src/app/admin/admin-search-page/admin-search-page.component.spec.ts b/src/app/admin/admin-search-page/admin-search-page.component.spec.ts index 15b52a7470..43c7d86a08 100644 --- a/src/app/admin/admin-search-page/admin-search-page.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-page.component.spec.ts @@ -1,7 +1,11 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { AdminSearchPageComponent } from './admin-search-page.component'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; describe('AdminSearchPageComponent', () => { let component: AdminSearchPageComponent; diff --git a/src/app/admin/admin-search-page/admin-search-page.component.ts b/src/app/admin/admin-search-page/admin-search-page.component.ts index dcb97cf8d8..6508b20efa 100644 --- a/src/app/admin/admin-search-page/admin-search-page.component.ts +++ b/src/app/admin/admin-search-page/admin-search-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { Context } from '../../core/shared/context.model'; @Component({ diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.spec.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.spec.ts index 29c45a9b60..249c6b15bb 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.spec.ts @@ -1,27 +1,32 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; -import { SharedModule } from '../../../../../shared/shared.module'; -import { CollectionAdminSearchResultGridElementComponent } from './collection-admin-search-result-grid-element.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; -import { Collection } from '../../../../../core/shared/collection.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; import { AuthService } from '../../../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../../../shared/testing/auth-service.stub'; -import { FileService } from '../../../../../core/shared/file.service'; -import { FileServiceStub } from '../../../../../shared/testing/file-service.stub'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service'; -import { AuthorizationDataServiceStub } from '../../../../../shared/testing/authorization-service.stub'; -import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { Collection } from '../../../../../core/shared/collection.model'; +import { FileService } from '../../../../../core/shared/file.service'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { AuthServiceStub } from '../../../../../shared/testing/auth-service.stub'; +import { AuthorizationDataServiceStub } from '../../../../../shared/testing/authorization-service.stub'; +import { FileServiceStub } from '../../../../../shared/testing/file-service.stub'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { CollectionAdminSearchResultGridElementComponent } from './collection-admin-search-result-grid-element.component'; describe('CollectionAdminSearchResultGridElementComponent', () => { let component: CollectionAdminSearchResultGridElementComponent; diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.ts index afbea43e58..5d39b79da5 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.ts @@ -1,11 +1,12 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; -import { Collection } from '../../../../../core/shared/collection.model'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; + import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; +import { Collection } from '../../../../../core/shared/collection.model'; +import { Context } from '../../../../../core/shared/context.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; @listableObjectComponent(CollectionSearchResult, ViewMode.GridElement, Context.AdminSearch) @Component({ diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.spec.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.spec.ts index 7c867606b4..137f5be5f2 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.spec.ts @@ -1,29 +1,33 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; -import { SharedModule } from '../../../../../shared/shared.module'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; -import { CommunityAdminSearchResultGridElementComponent } from './community-admin-search-result-grid-element.component'; -import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; -import { Community } from '../../../../../core/shared/community.model'; +import { TranslateModule } from '@ngx-translate/core'; + import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; import { AuthService } from '../../../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../../../shared/testing/auth-service.stub'; -import { FileService } from '../../../../../core/shared/file.service'; -import { FileServiceStub } from '../../../../../shared/testing/file-service.stub'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service'; -import { AuthorizationDataServiceStub } from '../../../../../shared/testing/authorization-service.stub'; -import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { Community } from '../../../../../core/shared/community.model'; +import { FileService } from '../../../../../core/shared/file.service'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { AuthServiceStub } from '../../../../../shared/testing/auth-service.stub'; +import { AuthorizationDataServiceStub } from '../../../../../shared/testing/authorization-service.stub'; +import { FileServiceStub } from '../../../../../shared/testing/file-service.stub'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { CommunityAdminSearchResultGridElementComponent } from './community-admin-search-result-grid-element.component'; describe('CommunityAdminSearchResultGridElementComponent', () => { let component: CommunityAdminSearchResultGridElementComponent; diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.ts index b5d161ed8b..9dd672e54c 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.ts @@ -1,11 +1,12 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; -import { Community } from '../../../../../core/shared/community.model'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; + import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; +import { Community } from '../../../../../core/shared/community.model'; +import { Context } from '../../../../../core/shared/context.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; @listableObjectComponent(CommunitySearchResult, ViewMode.GridElement, Context.AdminSearch) @Component({ diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts index b14f09eb1b..80bd4469f6 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts @@ -1,31 +1,36 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { Observable } from 'rxjs'; + +import { AuthService } from '../../../../../core/auth/auth.service'; +import { AccessStatusDataService } from '../../../../../core/data/access-status-data.service'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; +import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service'; import { RemoteData } from '../../../../../core/data/remote-data'; import { Bitstream } from '../../../../../core/shared/bitstream.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; -import { SharedModule } from '../../../../../shared/shared.module'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { ItemAdminSearchResultGridElementComponent } from './item-admin-search-result-grid-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; -import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; -import { ThemeService } from '../../../../../shared/theme-support/theme.service'; -import { AccessStatusDataService } from '../../../../../core/data/access-status-data.service'; -import { AccessStatusObject } from '../../../../../shared/object-collection/shared/badges/access-status-badge/access-status.model'; -import { AuthService } from '../../../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../../../shared/testing/auth-service.stub'; import { FileService } from '../../../../../core/shared/file.service'; -import { FileServiceStub } from '../../../../../shared/testing/file-service.stub'; -import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; +import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { AccessStatusObject } from '../../../../../shared/object-collection/shared/badges/access-status-badge/access-status.model'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { SharedModule } from '../../../../../shared/shared.module'; +import { AuthServiceStub } from '../../../../../shared/testing/auth-service.stub'; import { AuthorizationDataServiceStub } from '../../../../../shared/testing/authorization-service.stub'; +import { FileServiceStub } from '../../../../../shared/testing/file-service.stub'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { ItemAdminSearchResultGridElementComponent } from './item-admin-search-result-grid-element.component'; describe('ItemAdminSearchResultGridElementComponent', () => { let component: ItemAdminSearchResultGridElementComponent; diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts index 95432217d2..b613582cf7 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts @@ -1,19 +1,26 @@ -import { Component, ComponentFactoryResolver, ElementRef, OnInit, ViewChild } from '@angular/core'; +import { + Component, + ComponentFactoryResolver, + ElementRef, + OnInit, + ViewChild, +} from '@angular/core'; + +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; +import { Context } from '../../../../../core/shared/context.model'; +import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; import { Item } from '../../../../../core/shared/item.model'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { getListableObjectComponent, listableObjectComponent, } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; import { ListableObjectDirective } from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; +import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; import { ThemeService } from '../../../../../shared/theme-support/theme.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; @listableObjectComponent(ItemSearchResult, ViewMode.GridElement, Context.AdminSearch) @Component({ diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts index 69372607a8..cd7e7a237b 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts @@ -1,20 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { CollectionAdminSearchResultListElementComponent } from './collection-admin-search-result-list-element.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; -import { Collection } from '../../../../../core/shared/collection.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { TranslateModule } from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; +import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Collection } from '../../../../../core/shared/collection.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { CollectionAdminSearchResultListElementComponent } from './collection-admin-search-result-list-element.component'; describe('CollectionAdminSearchResultListElementComponent', () => { let component: CollectionAdminSearchResultListElementComponent; diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.ts index 7e6f904549..4ca4c3af4d 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.ts @@ -1,11 +1,12 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; -import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; -import { Collection } from '../../../../../core/shared/collection.model'; + import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; +import { Collection } from '../../../../../core/shared/collection.model'; +import { Context } from '../../../../../core/shared/context.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { CollectionSearchResult } from '../../../../../shared/object-collection/shared/collection-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; @listableObjectComponent(CollectionSearchResult, ViewMode.ListElement, Context.AdminSearch) @Component({ diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts index aeffe22d4c..3c1315cc64 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts @@ -1,20 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { CommunityAdminSearchResultListElementComponent } from './community-admin-search-result-list-element.component'; -import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; -import { Community } from '../../../../../core/shared/community.model'; -import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { TranslateModule } from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; +import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Community } from '../../../../../core/shared/community.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { CommunityAdminSearchResultListElementComponent } from './community-admin-search-result-list-element.component'; describe('CommunityAdminSearchResultListElementComponent', () => { let component: CommunityAdminSearchResultListElementComponent; diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.ts index 59b096b436..a3f8b42a13 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.ts @@ -1,11 +1,12 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; -import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; -import { Community } from '../../../../../core/shared/community.model'; + import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; +import { Community } from '../../../../../core/shared/community.model'; +import { Context } from '../../../../../core/shared/context.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement, Context.AdminSearch) @Component({ diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts index 9713925337..f34c2709d8 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts @@ -1,17 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { ItemAdminSearchResultListElementComponent } from './item-admin-search-result-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { TranslateModule } from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { ItemAdminSearchResultListElementComponent } from './item-admin-search-result-list-element.component'; describe('ItemAdminSearchResultListElementComponent', () => { let component: ItemAdminSearchResultListElementComponent; diff --git a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.ts b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.ts index 2b735bc6e2..c181640c2c 100644 --- a/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.ts +++ b/src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.ts @@ -1,9 +1,10 @@ import { Component } from '@angular/core'; + +import { Context } from '../../../../../core/shared/context.model'; import { Item } from '../../../../../core/shared/item.model'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; @listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.AdminSearch) diff --git a/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts b/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts index 6e86802b57..33a2cacb80 100644 --- a/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts +++ b/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts @@ -1,13 +1,15 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { ItemAdminSearchResultActionsComponent } from './item-admin-search-result-actions.component'; +import { TranslateModule } from '@ngx-translate/core'; + import { Item } from '../../../core/shared/item.model'; import { URLCombiner } from '../../../core/url-combiner/url-combiner'; -import { getItemEditRoute } from '../../../item-page/item-page-routing-paths'; import { ITEM_EDIT_DELETE_PATH, ITEM_EDIT_MOVE_PATH, @@ -16,6 +18,8 @@ import { ITEM_EDIT_REINSTATE_PATH, ITEM_EDIT_WITHDRAW_PATH, } from '../../../item-page/edit-item-page/edit-item-page.routing-paths'; +import { getItemEditRoute } from '../../../item-page/item-page-routing-paths'; +import { ItemAdminSearchResultActionsComponent } from './item-admin-search-result-actions.component'; describe('ItemAdminSearchResultActionsComponent', () => { let component: ItemAdminSearchResultActionsComponent; diff --git a/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts b/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts index 676c51bc36..54f6c82f3b 100644 --- a/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts +++ b/src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts @@ -1,15 +1,19 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + import { Item } from '../../../core/shared/item.model'; import { URLCombiner } from '../../../core/url-combiner/url-combiner'; -import { getItemEditRoute } from '../../../item-page/item-page-routing-paths'; import { - ITEM_EDIT_MOVE_PATH, ITEM_EDIT_DELETE_PATH, - ITEM_EDIT_PUBLIC_PATH, + ITEM_EDIT_MOVE_PATH, ITEM_EDIT_PRIVATE_PATH, + ITEM_EDIT_PUBLIC_PATH, ITEM_EDIT_REINSTATE_PATH, ITEM_EDIT_WITHDRAW_PATH, } from '../../../item-page/edit-item-page/edit-item-page.routing-paths'; +import { getItemEditRoute } from '../../../item-page/item-page-routing-paths'; @Component({ selector: 'ds-item-admin-search-result-actions-element', diff --git a/src/app/admin/admin-search-page/admin-search.module.ts b/src/app/admin/admin-search-page/admin-search.module.ts index 7046688cdf..01dbf20d30 100644 --- a/src/app/admin/admin-search-page/admin-search.module.ts +++ b/src/app/admin/admin-search-page/admin-search.module.ts @@ -1,16 +1,17 @@ import { NgModule } from '@angular/core'; -import { SharedModule } from '../../shared/shared.module'; -import { AdminSearchPageComponent } from './admin-search-page.component'; -import { ItemAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component'; -import { CommunityAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component'; -import { CollectionAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component'; -import { ItemAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component'; -import { CommunityAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component'; -import { CollectionAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component'; -import { ItemAdminSearchResultActionsComponent } from './admin-search-results/item-admin-search-result-actions.component'; + import { JournalEntitiesModule } from '../../entity-groups/journal-entities/journal-entities.module'; import { ResearchEntitiesModule } from '../../entity-groups/research-entities/research-entities.module'; import { SearchModule } from '../../shared/search/search.module'; +import { SharedModule } from '../../shared/shared.module'; +import { AdminSearchPageComponent } from './admin-search-page.component'; +import { CollectionAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component'; +import { CommunityAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component'; +import { ItemAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component'; +import { CollectionAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component'; +import { CommunityAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component'; +import { ItemAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component'; +import { ItemAdminSearchResultActionsComponent } from './admin-search-results/item-admin-search-result-actions.component'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.spec.ts b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.spec.ts index 914003be0c..f480e6f31a 100644 --- a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.spec.ts +++ b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.spec.ts @@ -1,15 +1,19 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { Component } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { MenuService } from '../../../shared/menu/menu.service'; -import { MenuServiceStub } from '../../../shared/testing/menu-service.stub'; import { CSSVariableService } from '../../../shared/sass-helper/css-variable.service'; import { CSSVariableServiceStub } from '../../../shared/testing/css-variable-service.stub'; -import { Component } from '@angular/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { MenuServiceStub } from '../../../shared/testing/menu-service.stub'; import { AdminSidebarSectionComponent } from './admin-sidebar-section.component'; -import { RouterTestingModule } from '@angular/router/testing'; -import { By } from '@angular/platform-browser'; -import { TranslateModule } from '@ngx-translate/core'; describe('AdminSidebarSectionComponent', () => { let component: AdminSidebarSectionComponent; diff --git a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts index d6cd803622..86a7b8de5e 100644 --- a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts +++ b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts @@ -1,13 +1,19 @@ -import { Component, Inject, Injector, OnInit } from '@angular/core'; -import { MenuSectionComponent } from '../../../shared/menu/menu-section/menu-section.component'; -import { MenuService } from '../../../shared/menu/menu.service'; -import { rendersSectionForMenu } from '../../../shared/menu/menu-section.decorator'; -import { LinkMenuItemModel } from '../../../shared/menu/menu-item/models/link.model'; -import { MenuSection } from '../../../shared/menu/menu-section.model'; -import { MenuID } from '../../../shared/menu/menu-id.model'; -import { isEmpty } from '../../../shared/empty.util'; +import { + Component, + Inject, + Injector, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; +import { isEmpty } from '../../../shared/empty.util'; +import { MenuService } from '../../../shared/menu/menu.service'; +import { MenuID } from '../../../shared/menu/menu-id.model'; +import { LinkMenuItemModel } from '../../../shared/menu/menu-item/models/link.model'; +import { rendersSectionForMenu } from '../../../shared/menu/menu-section.decorator'; +import { MenuSection } from '../../../shared/menu/menu-section.model'; +import { MenuSectionComponent } from '../../../shared/menu/menu-section/menu-section.component'; + /** * Represents a non-expandable section in the admin sidebar */ diff --git a/src/app/admin/admin-sidebar/admin-sidebar.component.spec.ts b/src/app/admin/admin-sidebar/admin-sidebar.component.spec.ts index 901d4954b1..557314ef3f 100644 --- a/src/app/admin/admin-sidebar/admin-sidebar.component.spec.ts +++ b/src/app/admin/admin-sidebar/admin-sidebar.component.spec.ts @@ -1,26 +1,37 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ScriptDataService } from '../../core/data/processes/script-data.service'; -import { AdminSidebarComponent } from './admin-sidebar.component'; -import { MenuService } from '../../shared/menu/menu.service'; -import { MenuServiceStub } from '../../shared/testing/menu-service.stub'; -import { CSSVariableService } from '../../shared/sass-helper/css-variable.service'; -import { CSSVariableServiceStub } from '../../shared/testing/css-variable-service.stub'; -import { AuthServiceStub } from '../../shared/testing/auth-service.stub'; -import { AuthService } from '../../core/auth/auth.service'; -import { of as observableOf } from 'rxjs'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { RouterTestingModule } from '@angular/router/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { ScriptDataService } from '../../core/data/processes/script-data.service'; +import { MenuService } from '../../shared/menu/menu.service'; +import { CSSVariableService } from '../../shared/sass-helper/css-variable.service'; +import { AuthServiceStub } from '../../shared/testing/auth-service.stub'; +import { CSSVariableServiceStub } from '../../shared/testing/css-variable-service.stub'; +import { MenuServiceStub } from '../../shared/testing/menu-service.stub'; +import { AdminSidebarComponent } from './admin-sidebar.component'; import createSpy = jasmine.createSpy; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { Item } from '../../core/shared/item.model'; -import { ThemeService } from '../../shared/theme-support/theme.service'; import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { ThemeService } from '../../shared/theme-support/theme.service'; describe('AdminSidebarComponent', () => { let comp: AdminSidebarComponent; diff --git a/src/app/admin/admin-sidebar/admin-sidebar.component.ts b/src/app/admin/admin-sidebar/admin-sidebar.component.ts index e8e3e63361..926a662c2d 100644 --- a/src/app/admin/admin-sidebar/admin-sidebar.component.ts +++ b/src/app/admin/admin-sidebar/admin-sidebar.component.ts @@ -1,14 +1,30 @@ -import { Component, HostListener, Injector, OnInit } from '@angular/core'; -import { BehaviorSubject, combineLatest, Observable } from 'rxjs'; -import { debounceTime, distinctUntilChanged, first, map, withLatestFrom } from 'rxjs/operators'; +import { + Component, + HostListener, + Injector, + OnInit, +} from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { + BehaviorSubject, + combineLatest, + Observable, +} from 'rxjs'; +import { + debounceTime, + distinctUntilChanged, + first, + map, + withLatestFrom, +} from 'rxjs/operators'; + import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { slideSidebar } from '../../shared/animations/slide'; import { MenuComponent } from '../../shared/menu/menu.component'; import { MenuService } from '../../shared/menu/menu.service'; -import { CSSVariableService } from '../../shared/sass-helper/css-variable.service'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { MenuID } from '../../shared/menu/menu-id.model'; -import { ActivatedRoute } from '@angular/router'; +import { CSSVariableService } from '../../shared/sass-helper/css-variable.service'; import { ThemeService } from '../../shared/theme-support/theme.service'; /** diff --git a/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.spec.ts b/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.spec.ts index 5975fb5d73..af93341f26 100644 --- a/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.spec.ts +++ b/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.spec.ts @@ -1,17 +1,21 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { Component } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Router } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; -import { ExpandableAdminSidebarSectionComponent } from './expandable-admin-sidebar-section.component'; import { MenuService } from '../../../shared/menu/menu.service'; -import { MenuServiceStub } from '../../../shared/testing/menu-service.stub'; import { CSSVariableService } from '../../../shared/sass-helper/css-variable.service'; import { CSSVariableServiceStub } from '../../../shared/testing/css-variable-service.stub'; -import { of as observableOf } from 'rxjs'; -import { Component } from '@angular/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { By } from '@angular/platform-browser'; -import { TranslateModule } from '@ngx-translate/core'; -import { Router } from '@angular/router'; +import { MenuServiceStub } from '../../../shared/testing/menu-service.stub'; import { RouterStub } from '../../../shared/testing/router.stub'; +import { ExpandableAdminSidebarSectionComponent } from './expandable-admin-sidebar-section.component'; describe('ExpandableAdminSidebarSectionComponent', () => { let component: ExpandableAdminSidebarSectionComponent; diff --git a/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts b/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts index f3e464e2f0..9c088bfdf0 100644 --- a/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts +++ b/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts @@ -1,15 +1,24 @@ -import { Component, Inject, Injector, OnInit } from '@angular/core'; -import { rotate } from '../../../shared/animations/rotate'; -import { AdminSidebarSectionComponent } from '../admin-sidebar-section/admin-sidebar-section.component'; -import { slide } from '../../../shared/animations/slide'; -import { CSSVariableService } from '../../../shared/sass-helper/css-variable.service'; -import { bgColor } from '../../../shared/animations/bgColor'; -import { MenuService } from '../../../shared/menu/menu.service'; -import { combineLatest as combineLatestObservable, Observable } from 'rxjs'; -import { map } from 'rxjs/operators'; -import { rendersSectionForMenu } from '../../../shared/menu/menu-section.decorator'; -import { MenuID } from '../../../shared/menu/menu-id.model'; +import { + Component, + Inject, + Injector, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; +import { + combineLatest as combineLatestObservable, + Observable, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { bgColor } from '../../../shared/animations/bgColor'; +import { rotate } from '../../../shared/animations/rotate'; +import { slide } from '../../../shared/animations/slide'; +import { MenuService } from '../../../shared/menu/menu.service'; +import { MenuID } from '../../../shared/menu/menu-id.model'; +import { rendersSectionForMenu } from '../../../shared/menu/menu-section.decorator'; +import { CSSVariableService } from '../../../shared/sass-helper/css-variable.service'; +import { AdminSidebarSectionComponent } from '../admin-sidebar-section/admin-sidebar-section.component'; /** * Represents a expandable section in the sidebar diff --git a/src/app/admin/admin-sidebar/themed-admin-sidebar.component.ts b/src/app/admin/admin-sidebar/themed-admin-sidebar.component.ts index f2f35725e8..0345bd15ca 100644 --- a/src/app/admin/admin-sidebar/themed-admin-sidebar.component.ts +++ b/src/app/admin/admin-sidebar/themed-admin-sidebar.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { AdminSidebarComponent } from './admin-sidebar.component'; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-page.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-page.component.spec.ts index 834cc0acc5..b422cfd7c7 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-page.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-page.component.spec.ts @@ -1,7 +1,11 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { AdminWorkflowPageComponent } from './admin-workflow-page.component'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; describe('AdminSearchPageComponent', () => { let component: AdminWorkflowPageComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-page.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-page.component.ts index 434255827f..0b66fe711c 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-page.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { Context } from '../../core/shared/context.model'; @Component({ diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.spec.ts index ea23c5666f..8aaec2bbf8 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.spec.ts @@ -1,20 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { URLCombiner } from '../../../../../core/url-combiner/url-combiner'; -import { WorkflowItemAdminWorkflowActionsComponent } from './workflow-item-admin-workflow-actions.component'; +import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; + +import { RemoteData } from '../../../../../core/data/remote-data'; +import { RequestEntryState } from '../../../../../core/data/request-entry-state.model'; +import { Item } from '../../../../../core/shared/item.model'; import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { URLCombiner } from '../../../../../core/url-combiner/url-combiner'; import { getWorkflowItemDeleteRoute, getWorkflowItemSendBackRoute, } from '../../../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; -import { of } from 'rxjs'; -import { Item } from '../../../../../core/shared/item.model'; -import { RemoteData } from '../../../../../core/data/remote-data'; -import { RequestEntryState } from '../../../../../core/data/request-entry-state.model'; +import { WorkflowItemAdminWorkflowActionsComponent } from './workflow-item-admin-workflow-actions.component'; describe('WorkflowItemAdminWorkflowActionsComponent', () => { let component: WorkflowItemAdminWorkflowActionsComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.ts index e1c5b9dd2a..1f724c351e 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; import { diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.spec.ts index 7748c66011..9415c4f9fb 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.spec.ts @@ -1,13 +1,21 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { SupervisionOrderGroupSelectorComponent } from './supervision-order-group-selector.component'; -import { SupervisionOrderDataService } from '../../../../../../core/supervision-order/supervision-order-data.service'; -import { NotificationsService } from '../../../../../../shared/notifications/notifications.service'; +import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; + import { Group } from '../../../../../../core/eperson/models/group.model'; import { SupervisionOrder } from '../../../../../../core/supervision-order/models/supervision-order.model'; -import { of } from 'rxjs'; +import { SupervisionOrderDataService } from '../../../../../../core/supervision-order/supervision-order-data.service'; +import { NotificationsService } from '../../../../../../shared/notifications/notifications.service'; +import { SupervisionOrderGroupSelectorComponent } from './supervision-order-group-selector.component'; describe('SupervisionOrderGroupSelectorComponent', () => { let component: SupervisionOrderGroupSelectorComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.ts index 8cfdcdc523..0ddc588c1a 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.ts @@ -1,13 +1,18 @@ -import { Component, EventEmitter, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Output, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; import { getFirstCompletedRemoteData } from 'src/app/core/shared/operators'; import { NotificationsService } from 'src/app/shared/notifications/notifications.service'; + import { DSONameService } from '../../../../../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../../../../../core/data/remote-data'; import { Group } from '../../../../../../core/eperson/models/group.model'; import { SupervisionOrder } from '../../../../../../core/supervision-order/models/supervision-order.model'; import { SupervisionOrderDataService } from '../../../../../../core/supervision-order/supervision-order-data.service'; -import { RemoteData } from '../../../../../../core/data/remote-data'; /** * Component to wrap a dropdown - for type of order - diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.spec.ts index 2e3e6c64ea..1a30bff969 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.spec.ts @@ -1,14 +1,22 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { NO_ERRORS_SCHEMA, SimpleChange } from '@angular/core'; +import { + NO_ERRORS_SCHEMA, + SimpleChange, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { SupervisionOrderStatusComponent } from './supervision-order-status.component'; -import { VarDirective } from '../../../../../../shared/utils/var.directive'; import { TranslateLoaderMock } from '../../../../../../shared/mocks/translate-loader.mock'; import { supervisionOrderListMock } from '../../../../../../shared/testing/supervision-order.mock'; +import { VarDirective } from '../../../../../../shared/utils/var.directive'; +import { SupervisionOrderStatusComponent } from './supervision-order-status.component'; describe('SupervisionOrderStatusComponent', () => { let component: SupervisionOrderStatusComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.ts index 5a4fe34fc0..37b5903f0c 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.ts @@ -1,14 +1,28 @@ -import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnChanges, + Output, + SimpleChanges, +} from '@angular/core'; +import { + BehaviorSubject, + from, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, + reduce, +} from 'rxjs/operators'; -import { BehaviorSubject, from, Observable } from 'rxjs'; -import { map, mergeMap, reduce } from 'rxjs/operators'; - -import { SupervisionOrder } from '../../../../../../core/supervision-order/models/supervision-order.model'; +import { DSONameService } from '../../../../../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../../../../../core/data/remote-data'; import { Group } from '../../../../../../core/eperson/models/group.model'; import { getFirstCompletedRemoteData } from '../../../../../../core/shared/operators'; +import { SupervisionOrder } from '../../../../../../core/supervision-order/models/supervision-order.model'; import { isNotEmpty } from '../../../../../../shared/empty.util'; -import { RemoteData } from '../../../../../../core/data/remote-data'; -import { DSONameService } from '../../../../../../core/breadcrumbs/dso-name.service'; export interface SupervisionOrderListEntry { supervisionOrder: SupervisionOrder; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.spec.ts index 0a6e0ba6ec..ee5aaa40af 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.spec.ts @@ -1,31 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; - -import { of } from 'rxjs'; import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; -import { URLCombiner } from '../../../../../core/url-combiner/url-combiner'; -import { WorkspaceItemAdminWorkflowActionsComponent } from './workspace-item-admin-workflow-actions.component'; -import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; -import { - getWorkspaceItemDeleteRoute, -} from '../../../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; -import { Item } from '../../../../../core/shared/item.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { RemoteData } from '../../../../../core/data/remote-data'; import { RequestEntryState } from '../../../../../core/data/request-entry-state.model'; -import { NotificationsServiceStub } from '../../../../../shared/testing/notifications-service.stub'; -import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { Item } from '../../../../../core/shared/item.model'; +import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; +import { URLCombiner } from '../../../../../core/url-combiner/url-combiner'; import { ConfirmationModalComponent } from '../../../../../shared/confirmation-modal/confirmation-modal.component'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; +import { NotificationsServiceStub } from '../../../../../shared/testing/notifications-service.stub'; import { supervisionOrderEntryMock } from '../../../../../shared/testing/supervision-order.mock'; -import { - SupervisionOrderGroupSelectorComponent, -} from './supervision-order-group-selector/supervision-order-group-selector.component'; +import { getWorkspaceItemDeleteRoute } from '../../../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; +import { SupervisionOrderGroupSelectorComponent } from './supervision-order-group-selector/supervision-order-group-selector.component'; +import { WorkspaceItemAdminWorkflowActionsComponent } from './workspace-item-admin-workflow-actions.component'; describe('WorkspaceItemAdminWorkflowActionsComponent', () => { let component: WorkspaceItemAdminWorkflowActionsComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.ts index b51e2abeab..e7cb0502d9 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.ts @@ -1,29 +1,40 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; - -import { map, Observable } from 'rxjs'; -import { switchMap, take, tap } from 'rxjs/operators'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; +import { + map, + Observable, +} from 'rxjs'; +import { + switchMap, + take, + tap, +} from 'rxjs/operators'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { Item } from '../../../../../core/shared/item.model'; import { getFirstSucceededRemoteDataPayload } from '../../../../../core/shared/operators'; -import { - SupervisionOrderGroupSelectorComponent, -} from './supervision-order-group-selector/supervision-order-group-selector.component'; -import { - getWorkspaceItemDeleteRoute, -} from '../../../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; -import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../../../item-page/edit-item-page/edit-item-page.routing-paths'; import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; import { SupervisionOrder } from '../../../../../core/supervision-order/models/supervision-order.model'; -import { SupervisionOrderListEntry } from './supervision-order-status/supervision-order-status.component'; +import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; +import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../../../item-page/edit-item-page/edit-item-page.routing-paths'; import { ConfirmationModalComponent } from '../../../../../shared/confirmation-modal/confirmation-modal.component'; import { hasValue } from '../../../../../shared/empty.util'; import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; -import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { getSearchResultFor } from '../../../../../shared/search/search-result-element-decorator'; +import { getWorkspaceItemDeleteRoute } from '../../../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; +import { SupervisionOrderGroupSelectorComponent } from './supervision-order-group-selector/supervision-order-group-selector.component'; +import { SupervisionOrderListEntry } from './supervision-order-status/supervision-order-status.component'; @Component({ selector: 'ds-workspace-item-admin-workflow-actions-element', diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts index 8a7c4246a9..fe02faa4b5 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts @@ -1,34 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { RouterTestingModule } from '@angular/router/testing'; -import { - WorkflowItemSearchResultAdminWorkflowGridElementComponent, -} from './workflow-item-search-result-admin-workflow-grid-element.component'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { - ItemGridElementComponent, -} from '../../../../../shared/object-grid/item-grid-element/item-types/item/item-grid-element.component'; -import { - ListableObjectDirective, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; -import { - WorkflowItemSearchResult, -} from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; -import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; -import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { ListableObjectDirective } from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; +import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { ItemGridElementComponent } from '../../../../../shared/object-grid/item-grid-element/item-types/item/item-grid-element.component'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { WorkflowItemSearchResultAdminWorkflowGridElementComponent } from './workflow-item-search-result-admin-workflow-grid-element.component'; describe('WorkflowItemSearchResultAdminWorkflowGridElementComponent', () => { let component: WorkflowItemSearchResultAdminWorkflowGridElementComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts index 3d7e33efe0..8abb17d7f8 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts @@ -1,29 +1,35 @@ -import { Component, ComponentFactoryResolver, ElementRef, ViewChild } from '@angular/core'; -import { Item } from '../../../../../core/shared/item.model'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { - getListableObjectComponent, - listableObjectComponent, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; -import { ListableObjectDirective } from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; + Component, + ComponentFactoryResolver, + ElementRef, + ViewChild, +} from '@angular/core'; import { Observable } from 'rxjs'; +import { take } from 'rxjs/operators'; + +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; import { RemoteData } from '../../../../../core/data/remote-data'; +import { Context } from '../../../../../core/shared/context.model'; +import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; +import { Item } from '../../../../../core/shared/item.model'; import { getAllSucceededRemoteData, getRemoteDataPayload, } from '../../../../../core/shared/operators'; -import { take } from 'rxjs/operators'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { + getListableObjectComponent, + listableObjectComponent, +} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ListableObjectDirective } from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; import { ThemeService } from '../../../../../shared/theme-support/theme.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; @listableObjectComponent(WorkflowItemSearchResult, ViewMode.GridElement, Context.AdminWorkflowSearch) @Component({ diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.spec.ts index 74f9baa1e6..a9e86b27f0 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.spec.ts @@ -1,41 +1,36 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - -import { of as observableOf } from 'rxjs'; +import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { - WorkspaceItemSearchResultAdminWorkflowGridElementComponent, -} from './workspace-item-search-result-admin-workflow-grid-element.component'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { - ItemGridElementComponent, -} from '../../../../../shared/object-grid/item-grid-element/item-types/item/item-grid-element.component'; -import { - ListableObjectDirective, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; -import { - WorkflowItemSearchResult, -} from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; -import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { ListableObjectDirective } from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; +import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { ItemGridElementComponent } from '../../../../../shared/object-grid/item-grid-element/item-types/item/item-grid-element.component'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { supervisionOrderPaginatedListRD, supervisionOrderPaginatedListRD$, } from '../../../../../shared/testing/supervision-order.mock'; -import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { WorkspaceItemSearchResultAdminWorkflowGridElementComponent } from './workspace-item-search-result-admin-workflow-grid-element.component'; describe('WorkspaceItemSearchResultAdminWorkflowGridElementComponent', () => { let component: WorkspaceItemSearchResultAdminWorkflowGridElementComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.ts index 4ebc8ac6d9..8033418ff1 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.ts @@ -1,42 +1,49 @@ -import { Component, ComponentFactoryResolver, ElementRef, ViewChild, OnInit } from '@angular/core'; +import { + Component, + ComponentFactoryResolver, + ElementRef, + OnInit, + ViewChild, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, + take, + tap, +} from 'rxjs/operators'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { map, mergeMap, take, tap } from 'rxjs/operators'; - -import { Item } from '../../../../../core/shared/item.model'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { - getListableObjectComponent, - listableObjectComponent, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { - SearchResultGridElementComponent, -} from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; -import { - ListableObjectDirective, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; -import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; +import { PaginatedList } from '../../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../../core/data/remote-data'; +import { Context } from '../../../../../core/shared/context.model'; +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; +import { Item } from '../../../../../core/shared/item.model'; import { getAllSucceededRemoteData, getFirstCompletedRemoteData, getRemoteDataPayload, } from '../../../../../core/shared/operators'; -import { - WorkspaceItemSearchResult, -} from '../../../../../shared/object-collection/shared/workspace-item-search-result.model'; -import { ThemeService } from '../../../../../shared/theme-support/theme.service'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; import { SupervisionOrder } from '../../../../../core/supervision-order/models/supervision-order.model'; -import { PaginatedList } from '../../../../../core/data/paginated-list.model'; import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { + getListableObjectComponent, + listableObjectComponent, +} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ListableObjectDirective } from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; +import { WorkspaceItemSearchResult } from '../../../../../shared/object-collection/shared/workspace-item-search-result.model'; +import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; @listableObjectComponent(WorkspaceItemSearchResult, ViewMode.GridElement, Context.AdminWorkflowSearch) @Component({ diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts index 98e3d3fb78..5b79a2ff8c 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts @@ -1,29 +1,29 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { RouterTestingModule } from '@angular/router/testing'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; -import { - WorkflowItemSearchResultAdminWorkflowListElementComponent, -} from './workflow-item-search-result-admin-workflow-list-element.component'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { - WorkflowItemSearchResult, -} from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; -import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { TranslateModule } from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; +import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { WorkflowItemSearchResultAdminWorkflowListElementComponent } from './workflow-item-search-result-admin-workflow-list-element.component'; describe('WorkflowItemSearchResultAdminWorkflowListElementComponent', () => { let component: WorkflowItemSearchResultAdminWorkflowListElementComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts index 43e8bfc1c4..247ba9f354 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts @@ -1,25 +1,30 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { - listableObjectComponent, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; + Component, + Inject, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; import { RemoteData } from '../../../../../core/data/remote-data'; -import { getAllSucceededRemoteData, getRemoteDataPayload } from '../../../../../core/shared/operators'; +import { Context } from '../../../../../core/shared/context.model'; import { Item } from '../../../../../core/shared/item.model'; import { - SearchResultListElementComponent, -} from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; + getAllSucceededRemoteData, + getRemoteDataPayload, +} from '../../../../../core/shared/operators'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { - WorkflowItemSearchResult, -} from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; @listableObjectComponent(WorkflowItemSearchResult, ViewMode.ListElement, Context.AdminWorkflowSearch) @Component({ diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.spec.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.spec.ts index d8dc114f76..e196ab30d3 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.spec.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.spec.ts @@ -1,36 +1,35 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - +import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; -import { - WorkspaceItemSearchResultAdminWorkflowListElementComponent, -} from './workspace-item-search-result-admin-workflow-list-element.component'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { - WorkflowItemSearchResult, -} from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; -import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; +import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service'; +import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type'; +import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { supervisionOrderPaginatedListRD, supervisionOrderPaginatedListRD$, } from '../../../../../shared/testing/supervision-order.mock'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { WorkspaceItemSearchResultAdminWorkflowListElementComponent } from './workspace-item-search-result-admin-workflow-list-element.component'; describe('WorkspaceItemSearchResultAdminWorkflowListElementComponent', () => { let component: WorkspaceItemSearchResultAdminWorkflowListElementComponent; diff --git a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.ts b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.ts index 43f6bc9af7..aa3c601da6 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.ts @@ -1,36 +1,44 @@ -import { Component, Inject, OnInit } from '@angular/core'; - -import { BehaviorSubject, Observable } from 'rxjs'; -import { map, mergeMap, take, tap } from 'rxjs/operators'; - -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { - listableObjectComponent, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../core/shared/context.model'; -import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; + Component, + Inject, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, + take, + tap, +} from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { PaginatedList } from '../../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../../core/data/remote-data'; +import { Context } from '../../../../../core/shared/context.model'; +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { Item } from '../../../../../core/shared/item.model'; import { getAllSucceededRemoteData, getFirstCompletedRemoteData, getRemoteDataPayload, } from '../../../../../core/shared/operators'; -import { Item } from '../../../../../core/shared/item.model'; -import { - SearchResultListElementComponent, -} from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; -import { - WorkspaceItemSearchResult, -} from '../../../../../shared/object-collection/shared/workspace-item-search-result.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; import { SupervisionOrder } from '../../../../../core/supervision-order/models/supervision-order.model'; import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service'; -import { PaginatedList } from '../../../../../core/data/paginated-list.model'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { WorkspaceItemSearchResult } from '../../../../../shared/object-collection/shared/workspace-item-search-result.model'; +import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; @listableObjectComponent(WorkspaceItemSearchResult, ViewMode.ListElement, Context.AdminWorkflowSearch) @Component({ diff --git a/src/app/admin/admin-workflow-page/admin-workflow.module.ts b/src/app/admin/admin-workflow-page/admin-workflow.module.ts index 9191740f67..988f0aab5d 100644 --- a/src/app/admin/admin-workflow-page/admin-workflow.module.ts +++ b/src/app/admin/admin-workflow-page/admin-workflow.module.ts @@ -1,32 +1,16 @@ import { NgModule } from '@angular/core'; -import { SharedModule } from '../../shared/shared.module'; -import { - WorkflowItemSearchResultAdminWorkflowGridElementComponent, -} from './admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component'; -import { - WorkflowItemAdminWorkflowActionsComponent, -} from './admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component'; -import { - WorkflowItemSearchResultAdminWorkflowListElementComponent, -} from './admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component'; -import { AdminWorkflowPageComponent } from './admin-workflow-page.component'; import { SearchModule } from '../../shared/search/search.module'; -import { - WorkspaceItemAdminWorkflowActionsComponent, -} from './admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component'; -import { - WorkspaceItemSearchResultAdminWorkflowListElementComponent, -} from './admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component'; -import { - WorkspaceItemSearchResultAdminWorkflowGridElementComponent, -} from './admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component'; -import { - SupervisionOrderGroupSelectorComponent, -} from './admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component'; -import { - SupervisionOrderStatusComponent, -} from './admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component'; +import { SharedModule } from '../../shared/shared.module'; +import { AdminWorkflowPageComponent } from './admin-workflow-page.component'; +import { WorkflowItemAdminWorkflowActionsComponent } from './admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component'; +import { SupervisionOrderGroupSelectorComponent } from './admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component'; +import { SupervisionOrderStatusComponent } from './admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component'; +import { WorkspaceItemAdminWorkflowActionsComponent } from './admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component'; +import { WorkflowItemSearchResultAdminWorkflowGridElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component'; +import { WorkspaceItemSearchResultAdminWorkflowGridElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component'; +import { WorkflowItemSearchResultAdminWorkflowListElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component'; +import { WorkspaceItemSearchResultAdminWorkflowListElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/admin/admin.module.ts b/src/app/admin/admin.module.ts index 500cc0406d..efaed60950 100644 --- a/src/app/admin/admin.module.ts +++ b/src/app/admin/admin.module.ts @@ -1,17 +1,18 @@ import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; +import { UiSwitchModule } from 'ngx-ui-switch'; + import { AccessControlModule } from '../access-control/access-control.module'; +import { SharedModule } from '../shared/shared.module'; +import { UploadModule } from '../shared/upload/upload.module'; +import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component'; +import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component'; import { MetadataImportPageComponent } from './admin-import-metadata-page/metadata-import-page.component'; import { AdminRegistriesModule } from './admin-registries/admin-registries.module'; import { AdminRoutingModule } from './admin-routing.module'; -import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component'; -import { AdminWorkflowModuleModule } from './admin-workflow-page/admin-workflow.module'; import { AdminSearchModule } from './admin-search-page/admin-search.module'; import { AdminSidebarSectionComponent } from './admin-sidebar/admin-sidebar-section/admin-sidebar-section.component'; import { ExpandableAdminSidebarSectionComponent } from './admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component'; -import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component'; -import { UiSwitchModule } from 'ngx-ui-switch'; -import { UploadModule } from '../shared/upload/upload.module'; +import { AdminWorkflowModuleModule } from './admin-workflow-page/admin-workflow.module'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/app-routing-paths.ts b/src/app/app-routing-paths.ts index bf7f47032b..f20697826f 100644 --- a/src/app/app-routing-paths.ts +++ b/src/app/app-routing-paths.ts @@ -1,12 +1,15 @@ -import { DSpaceObject } from './core/shared/dspace-object.model'; -import { Community } from './core/shared/community.model'; -import { Collection } from './core/shared/collection.model'; -import { Item } from './core/shared/item.model'; -import { getCommunityPageRoute } from './community-page/community-page-routing-paths'; import { getCollectionPageRoute } from './collection-page/collection-page-routing-paths'; -import { getItemModuleRoute, getItemPageRoute } from './item-page/item-page-routing-paths'; -import { hasValue } from './shared/empty.util'; +import { getCommunityPageRoute } from './community-page/community-page-routing-paths'; +import { Collection } from './core/shared/collection.model'; +import { Community } from './core/shared/community.model'; +import { DSpaceObject } from './core/shared/dspace-object.model'; +import { Item } from './core/shared/item.model'; import { URLCombiner } from './core/url-combiner/url-combiner'; +import { + getItemModuleRoute, + getItemPageRoute, +} from './item-page/item-page-routing-paths'; +import { hasValue } from './shared/empty.util'; export const BITSTREAM_MODULE_PATH = 'bitstreams'; diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 53e50586ac..8d1e3523a8 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,11 +1,9 @@ import { NgModule } from '@angular/core'; -import { RouterModule, NoPreloading } from '@angular/router'; -import { AuthBlockingGuard } from './core/auth/auth-blocking.guard'; - -import { AuthenticatedGuard } from './core/auth/authenticated.guard'; import { - SiteAdministratorGuard, -} from './core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; + NoPreloading, + RouterModule, +} from '@angular/router'; + import { ACCESS_CONTROL_MODULE_PATH, ADMIN_MODULE_PATH, @@ -24,22 +22,21 @@ import { } from './app-routing-paths'; import { COLLECTION_MODULE_PATH } from './collection-page/collection-page-routing-paths'; import { COMMUNITY_MODULE_PATH } from './community-page/community-page-routing-paths'; -import { ITEM_MODULE_PATH } from './item-page/item-page-routing-paths'; -import { PROCESS_MODULE_PATH } from './process-page/process-page-routing.paths'; -import { ReloadGuard } from './core/reload/reload.guard'; -import { EndUserAgreementCurrentUserGuard } from './core/end-user-agreement/end-user-agreement-current-user.guard'; +import { AuthBlockingGuard } from './core/auth/auth-blocking.guard'; +import { AuthenticatedGuard } from './core/auth/authenticated.guard'; +import { GroupAdministratorGuard } from './core/data/feature-authorization/feature-authorization-guard/group-administrator.guard'; +import { SiteAdministratorGuard } from './core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; import { SiteRegisterGuard } from './core/data/feature-authorization/feature-authorization-guard/site-register.guard'; -import { ThemedPageNotFoundComponent } from './pagenotfound/themed-pagenotfound.component'; -import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component'; -import { - GroupAdministratorGuard, -} from './core/data/feature-authorization/feature-authorization-guard/group-administrator.guard'; -import { - ThemedPageInternalServerErrorComponent, -} from './page-internal-server-error/themed-page-internal-server-error.component'; +import { EndUserAgreementCurrentUserGuard } from './core/end-user-agreement/end-user-agreement-current-user.guard'; +import { ReloadGuard } from './core/reload/reload.guard'; import { ServerCheckGuard } from './core/server-check/server-check.guard'; +import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component'; +import { ITEM_MODULE_PATH } from './item-page/item-page-routing-paths'; import { MenuResolver } from './menu.resolver'; import { ThemedPageErrorComponent } from './page-error/themed-page-error.component'; +import { ThemedPageInternalServerErrorComponent } from './page-internal-server-error/themed-page-internal-server-error.component'; +import { ThemedPageNotFoundComponent } from './pagenotfound/themed-pagenotfound.component'; +import { PROCESS_MODULE_PATH } from './process-page/process-page-routing.paths'; @NgModule({ imports: [ diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index b4aaeb12e5..70694a1fbb 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,41 +1,57 @@ -import { Store, StoreModule } from '@ngrx/store'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { ActivatedRoute, Router } from '@angular/router'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; - -// Load the implementations that should be tested -import { AppComponent } from './app.component'; -import { HostWindowState } from './shared/search/host-window.reducer'; -import { HostWindowResizeAction } from './shared/host-window.actions'; -import { MetadataService } from './core/metadata/metadata.service'; - -import { NativeWindowRef, NativeWindowService } from './core/services/window.service'; -import { TranslateLoaderMock } from './shared/mocks/translate-loader.mock'; -import { MetadataServiceMock } from './shared/mocks/metadata-service.mock'; -import { AngularticsProviderMock } from './shared/mocks/angulartics-provider.service.mock'; -import { AuthServiceMock } from './shared/mocks/auth.service.mock'; -import { AuthService } from './core/auth/auth.service'; -import { MenuService } from './shared/menu/menu.service'; -import { CSSVariableService } from './shared/sass-helper/css-variable.service'; -import { CSSVariableServiceStub } from './shared/testing/css-variable-service.stub'; -import { MenuServiceStub } from './shared/testing/menu-service.stub'; -import { HostWindowService } from './shared/host-window.service'; -import { HostWindowServiceStub } from './shared/testing/host-window-service.stub'; -import { RouteService } from './core/services/route.service'; -import { MockActivatedRoute } from './shared/mocks/active-router.mock'; -import { RouterMock } from './shared/mocks/router.mock'; -import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; -import { storeModuleConfig } from './app.reducer'; -import { LocaleService } from './core/locale/locale.service'; -import { authReducer } from './core/auth/auth.reducer'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; -import { ThemeService } from './shared/theme-support/theme.service'; -import { getMockThemeService } from './shared/mocks/theme-service.mock'; -import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../config/app-config.interface'; import { environment } from '../environments/environment'; +// Load the implementations that should be tested +import { AppComponent } from './app.component'; +import { storeModuleConfig } from './app.reducer'; +import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service'; +import { authReducer } from './core/auth/auth.reducer'; +import { AuthService } from './core/auth/auth.service'; +import { LocaleService } from './core/locale/locale.service'; +import { MetadataService } from './core/metadata/metadata.service'; +import { RouteService } from './core/services/route.service'; +import { + NativeWindowRef, + NativeWindowService, +} from './core/services/window.service'; +import { HostWindowResizeAction } from './shared/host-window.actions'; +import { HostWindowService } from './shared/host-window.service'; +import { MenuService } from './shared/menu/menu.service'; +import { MockActivatedRoute } from './shared/mocks/active-router.mock'; +import { AngularticsProviderMock } from './shared/mocks/angulartics-provider.service.mock'; +import { AuthServiceMock } from './shared/mocks/auth.service.mock'; +import { MetadataServiceMock } from './shared/mocks/metadata-service.mock'; +import { RouterMock } from './shared/mocks/router.mock'; +import { getMockThemeService } from './shared/mocks/theme-service.mock'; +import { TranslateLoaderMock } from './shared/mocks/translate-loader.mock'; +import { CSSVariableService } from './shared/sass-helper/css-variable.service'; +import { HostWindowState } from './shared/search/host-window.reducer'; +import { CSSVariableServiceStub } from './shared/testing/css-variable-service.stub'; +import { HostWindowServiceStub } from './shared/testing/host-window-service.stub'; +import { MenuServiceStub } from './shared/testing/menu-service.stub'; +import { ThemeService } from './shared/theme-support/theme.service'; +import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; let comp: AppComponent; let fixture: ComponentFixture; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 4cc531153a..edb1c7966b 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,5 +1,7 @@ -import { distinctUntilChanged, take, withLatestFrom } from 'rxjs/operators'; -import { DOCUMENT, isPlatformBrowser } from '@angular/common'; +import { + DOCUMENT, + isPlatformBrowser, +} from '@angular/common'; import { AfterViewInit, ChangeDetectionStrategy, @@ -15,22 +17,39 @@ import { NavigationStart, Router, } from '@angular/router'; - -import { BehaviorSubject, Observable } from 'rxjs'; -import { select, Store } from '@ngrx/store'; -import { NgbModal, NgbModalConfig } from '@ng-bootstrap/ng-bootstrap'; +import { + NgbModal, + NgbModalConfig, +} from '@ng-bootstrap/ng-bootstrap'; +import { + select, + Store, +} from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; -import { HostWindowResizeAction } from './shared/host-window.actions'; -import { HostWindowState } from './shared/search/host-window.reducer'; -import { NativeWindowRef, NativeWindowService } from './core/services/window.service'; -import { isAuthenticationBlocking } from './core/auth/selectors'; -import { AuthService } from './core/auth/auth.service'; -import { CSSVariableService } from './shared/sass-helper/css-variable.service'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + take, + withLatestFrom, +} from 'rxjs/operators'; + import { environment } from '../environments/environment'; +import { AuthService } from './core/auth/auth.service'; +import { isAuthenticationBlocking } from './core/auth/selectors'; import { models } from './core/core.module'; -import { ThemeService } from './shared/theme-support/theme.service'; -import { IdleModalComponent } from './shared/idle-modal/idle-modal.component'; +import { + NativeWindowRef, + NativeWindowService, +} from './core/services/window.service'; import { distinctNext } from './core/shared/distinct-next'; +import { HostWindowResizeAction } from './shared/host-window.actions'; +import { IdleModalComponent } from './shared/idle-modal/idle-modal.component'; +import { CSSVariableService } from './shared/sass-helper/css-variable.service'; +import { HostWindowState } from './shared/search/host-window.reducer'; +import { ThemeService } from './shared/theme-support/theme.service'; @Component({ selector: 'ds-app', diff --git a/src/app/app.effects.ts b/src/app/app.effects.ts index 00d07be9c2..92b5d880d0 100644 --- a/src/app/app.effects.ts +++ b/src/app/app.effects.ts @@ -1,9 +1,9 @@ -import { StoreEffects } from './store.effects'; -import { NotificationsEffects } from './shared/notifications/notifications.effects'; import { NavbarEffects } from './navbar/navbar.effects'; -import { SidebarEffects } from './shared/sidebar/sidebar-effects.service'; import { RelationshipEffects } from './shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects'; +import { NotificationsEffects } from './shared/notifications/notifications.effects'; +import { SidebarEffects } from './shared/sidebar/sidebar-effects.service'; import { ThemeEffects } from './shared/theme-support/theme.effects'; +import { StoreEffects } from './store.effects'; export const appEffects = [ StoreEffects, diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 747d01e1e9..a452459a4a 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,35 +1,58 @@ -import { APP_BASE_HREF, CommonModule, DOCUMENT } from '@angular/common'; -import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; +import { + APP_BASE_HREF, + CommonModule, + DOCUMENT, +} from '@angular/common'; +import { + HTTP_INTERCEPTORS, + HttpClientModule, +} from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; - import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { DYNAMIC_MATCHER_PROVIDERS } from '@ng-dynamic-forms/core'; import { EffectsModule } from '@ngrx/effects'; -import { RouterStateSerializer, StoreRouterConnectingModule } from '@ngrx/router-store'; -import { MetaReducer, StoreModule, USER_PROVIDED_META_REDUCERS } from '@ngrx/store'; +import { + RouterStateSerializer, + StoreRouterConnectingModule, +} from '@ngrx/router-store'; +import { + MetaReducer, + StoreModule, + USER_PROVIDED_META_REDUCERS, +} from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; -import { DYNAMIC_MATCHER_PROVIDERS } from '@ng-dynamic-forms/core'; -import { AppRoutingModule } from './app-routing.module'; +import { + APP_CONFIG, + AppConfig, +} from '../config/app-config.interface'; +import { StoreDevModules } from '../config/store/devtools'; +import { environment } from '../environments/environment'; +import { EagerThemesModule } from '../themes/eager-themes.module'; import { AppComponent } from './app.component'; import { appEffects } from './app.effects'; -import { appMetaReducers, debugMetaReducers } from './app.metareducers'; -import { appReducers, AppState, storeModuleConfig } from './app.reducer'; +import { + appMetaReducers, + debugMetaReducers, +} from './app.metareducers'; +import { + appReducers, + AppState, + storeModuleConfig, +} from './app.reducer'; +import { AppRoutingModule } from './app-routing.module'; +import { AuthInterceptor } from './core/auth/auth.interceptor'; import { CoreModule } from './core/core.module'; +import { LocaleInterceptor } from './core/locale/locale.interceptor'; +import { LogInterceptor } from './core/log/log.interceptor'; import { ClientCookieService } from './core/services/client-cookie.service'; +import { XsrfInterceptor } from './core/xsrf/xsrf.interceptor'; import { NavbarModule } from './navbar/navbar.module'; +import { RootModule } from './root.module'; import { DSpaceRouterStateSerializer } from './shared/ngrx/dspace-router-state-serializer'; import { SharedModule } from './shared/shared.module'; -import { environment } from '../environments/environment'; -import { AuthInterceptor } from './core/auth/auth.interceptor'; -import { LocaleInterceptor } from './core/locale/locale.interceptor'; -import { XsrfInterceptor } from './core/xsrf/xsrf.interceptor'; -import { LogInterceptor } from './core/log/log.interceptor'; -import { EagerThemesModule } from '../themes/eager-themes.module'; -import { APP_CONFIG, AppConfig } from '../config/app-config.interface'; -import { StoreDevModules } from '../config/store/devtools'; -import { RootModule } from './root.module'; export function getConfig() { return environment; diff --git a/src/app/app.reducer.ts b/src/app/app.reducer.ts index 24f90daf2d..006a3b2c0c 100644 --- a/src/app/app.reducer.ts +++ b/src/app/app.reducer.ts @@ -1,5 +1,13 @@ -import { routerReducer, RouterReducerState } from '@ngrx/router-store'; -import { ActionReducerMap, createSelector, MemoizedSelector } from '@ngrx/store'; +import { + routerReducer, + RouterReducerState, +} from '@ngrx/router-store'; +import { + ActionReducerMap, + createSelector, + MemoizedSelector, +} from '@ngrx/store'; + import { ePeopleRegistryReducer, EPeopleRegistryState, @@ -16,13 +24,22 @@ import { CommunityListReducer, CommunityListState, } from './community-list-page/community-list.reducer'; +import { correlationIdReducer } from './correlation-id/correlation-id.reducer'; +import { + contextHelpReducer, + ContextHelpState, +} from './shared/context-help.reducer'; import { hasValue } from './shared/empty.util'; import { NameVariantListsState, nameVariantReducer, } from './shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer'; -import { formReducer, FormState } from './shared/form/form.reducer'; +import { + formReducer, + FormState, +} from './shared/form/form.reducer'; import { menusReducer} from './shared/menu/menu.reducer'; +import { MenusState } from './shared/menu/menus-state.model'; import { notificationsReducer, NotificationsState, @@ -35,19 +52,30 @@ import { ObjectSelectionListState, objectSelectionReducer, } from './shared/object-select/object-select.reducer'; -import { cssVariablesReducer, CSSVariablesState } from './shared/sass-helper/css-variable.reducer'; - -import { hostWindowReducer, HostWindowState } from './shared/search/host-window.reducer'; +import { + cssVariablesReducer, + CSSVariablesState, +} from './shared/sass-helper/css-variable.reducer'; +import { + hostWindowReducer, + HostWindowState, +} from './shared/search/host-window.reducer'; import { filterReducer, SearchFiltersState, } from './shared/search/search-filters/search-filter/search-filter.reducer'; -import { sidebarReducer, SidebarState } from './shared/sidebar/sidebar.reducer'; -import { truncatableReducer, TruncatablesState } from './shared/truncatable/truncatable.reducer'; -import { ThemeState, themeReducer } from './shared/theme-support/theme.reducer'; -import { MenusState } from './shared/menu/menus-state.model'; -import { correlationIdReducer } from './correlation-id/correlation-id.reducer'; -import { contextHelpReducer, ContextHelpState } from './shared/context-help.reducer'; +import { + sidebarReducer, + SidebarState, +} from './shared/sidebar/sidebar.reducer'; +import { + themeReducer, + ThemeState, +} from './shared/theme-support/theme.reducer'; +import { + truncatableReducer, + TruncatablesState, +} from './shared/truncatable/truncatable.reducer'; export interface AppState { router: RouterReducerState; diff --git a/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.spec.ts b/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.spec.ts index 9a90b0e203..a460a6c892 100644 --- a/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.spec.ts +++ b/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.spec.ts @@ -1,17 +1,26 @@ import { CommonModule } from '@angular/common'; -import { ChangeDetectorRef, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; - +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { BitstreamAuthorizationsComponent } from './bitstream-authorizations.component'; import { Bitstream } from '../../core/shared/bitstream.model'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { BitstreamAuthorizationsComponent } from './bitstream-authorizations.component'; describe('BitstreamAuthorizationsComponent', () => { let comp: BitstreamAuthorizationsComponent; diff --git a/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.ts b/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.ts index dcb418881e..c65a0ee9c2 100644 --- a/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.ts +++ b/src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.ts @@ -1,8 +1,13 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; - import { Observable } from 'rxjs'; -import { first, map } from 'rxjs/operators'; +import { + first, + map, +} from 'rxjs/operators'; import { RemoteData } from '../../core/data/remote-data'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; diff --git a/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.spec.ts b/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.spec.ts index 29ee50c31b..a1dcd894bc 100644 --- a/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.spec.ts +++ b/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.spec.ts @@ -1,19 +1,27 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { AuthService } from '../../core/auth/auth.service'; -import { FileService } from '../../core/shared/file.service'; -import { of as observableOf } from 'rxjs'; -import { Bitstream } from '../../core/shared/bitstream.model'; -import { BitstreamDownloadPageComponent } from './bitstream-download-page.component'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { HardRedirectService } from '../../core/services/hard-redirect.service'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -import { ActivatedRoute, Router } from '@angular/router'; -import { getForbiddenRoute } from '../../app-routing-paths'; -import { TranslateModule } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; -import { SignpostingDataService } from '../../core/data/signposting-data.service'; -import { ServerResponseService } from '../../core/services/server-response.service'; import { PLATFORM_ID } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { getForbiddenRoute } from '../../app-routing-paths'; +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { SignpostingDataService } from '../../core/data/signposting-data.service'; +import { HardRedirectService } from '../../core/services/hard-redirect.service'; +import { ServerResponseService } from '../../core/services/server-response.service'; +import { Bitstream } from '../../core/shared/bitstream.model'; +import { FileService } from '../../core/shared/file.service'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { BitstreamDownloadPageComponent } from './bitstream-download-page.component'; describe('BitstreamDownloadPageComponent', () => { let component: BitstreamDownloadPageComponent; diff --git a/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.ts b/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.ts index 857ae24cda..90f6bd407e 100644 --- a/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.ts +++ b/src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.ts @@ -1,23 +1,47 @@ -import { Component, Inject, OnInit, PLATFORM_ID } from '@angular/core'; -import { filter, map, switchMap, take } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { getRemoteDataPayload } from '../../core/shared/operators'; -import { Bitstream } from '../../core/shared/bitstream.model'; +import { + isPlatformServer, + Location, +} from '@angular/common'; +import { + Component, + Inject, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { getForbiddenRoute } from '../../app-routing-paths'; +import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { AuthService } from '../../core/auth/auth.service'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { FileService } from '../../core/shared/file.service'; -import { HardRedirectService } from '../../core/services/hard-redirect.service'; -import { getForbiddenRoute } from '../../app-routing-paths'; import { RemoteData } from '../../core/data/remote-data'; -import { redirectOn4xx } from '../../core/shared/authorized.operators'; -import { isPlatformServer, Location } from '@angular/common'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { SignpostingDataService } from '../../core/data/signposting-data.service'; -import { ServerResponseService } from '../../core/services/server-response.service'; import { SignpostingLink } from '../../core/data/signposting-links.model'; +import { HardRedirectService } from '../../core/services/hard-redirect.service'; +import { ServerResponseService } from '../../core/services/server-response.service'; +import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { Bitstream } from '../../core/shared/bitstream.model'; +import { FileService } from '../../core/shared/file.service'; +import { getRemoteDataPayload } from '../../core/shared/operators'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; @Component({ selector: 'ds-bitstream-download-page', diff --git a/src/app/bitstream-page/bitstream-page-routing.module.ts b/src/app/bitstream-page/bitstream-page-routing.module.ts index 7457a28349..fd39466f23 100644 --- a/src/app/bitstream-page/bitstream-page-routing.module.ts +++ b/src/app/bitstream-page/bitstream-page-routing.module.ts @@ -1,18 +1,19 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { BitstreamPageResolver } from './bitstream-page.resolver'; -import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; -import { ResourcePolicyTargetResolver } from '../shared/resource-policies/resolvers/resource-policy-target.resolver'; -import { ResourcePolicyCreateComponent } from '../shared/resource-policies/create/resource-policy-create.component'; -import { ResourcePolicyResolver } from '../shared/resource-policies/resolvers/resource-policy.resolver'; -import { ResourcePolicyEditComponent } from '../shared/resource-policies/edit/resource-policy-edit.component'; -import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; -import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver'; import { BitstreamBreadcrumbResolver } from '../core/breadcrumbs/bitstream-breadcrumb.resolver'; import { BitstreamBreadcrumbsService } from '../core/breadcrumbs/bitstream-breadcrumbs.service'; import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { ResourcePolicyCreateComponent } from '../shared/resource-policies/create/resource-policy-create.component'; +import { ResourcePolicyEditComponent } from '../shared/resource-policies/edit/resource-policy-edit.component'; +import { ResourcePolicyResolver } from '../shared/resource-policies/resolvers/resource-policy.resolver'; +import { ResourcePolicyTargetResolver } from '../shared/resource-policies/resolvers/resource-policy-target.resolver'; +import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; +import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; +import { BitstreamPageResolver } from './bitstream-page.resolver'; import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component'; +import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver'; const EDIT_BITSTREAM_PATH = ':id/edit'; const EDIT_BITSTREAM_AUTHORIZATIONS_PATH = ':id/authorizations'; diff --git a/src/app/bitstream-page/bitstream-page.module.ts b/src/app/bitstream-page/bitstream-page.module.ts index 7eeaad3900..b24ab976c2 100644 --- a/src/app/bitstream-page/bitstream-page.module.ts +++ b/src/app/bitstream-page/bitstream-page.module.ts @@ -1,12 +1,13 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { SharedModule } from '../shared/shared.module'; -import { EditBitstreamPageComponent } from './edit-bitstream-page/edit-bitstream-page.component'; -import { BitstreamPageRoutingModule } from './bitstream-page-routing.module'; -import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; +import { NgModule } from '@angular/core'; + import { FormModule } from '../shared/form/form.module'; import { ResourcePoliciesModule } from '../shared/resource-policies/resource-policies.module'; +import { SharedModule } from '../shared/shared.module'; +import { BitstreamAuthorizationsComponent } from './bitstream-authorizations/bitstream-authorizations.component'; import { BitstreamDownloadPageComponent } from './bitstream-download-page/bitstream-download-page.component'; +import { BitstreamPageRoutingModule } from './bitstream-page-routing.module'; +import { EditBitstreamPageComponent } from './edit-bitstream-page/edit-bitstream-page.component'; import { ThemedEditBitstreamPageComponent } from './edit-bitstream-page/themed-edit-bitstream-page.component'; /** diff --git a/src/app/bitstream-page/bitstream-page.resolver.ts b/src/app/bitstream-page/bitstream-page.resolver.ts index 5eb476ea73..7880247934 100644 --- a/src/app/bitstream-page/bitstream-page.resolver.ts +++ b/src/app/bitstream-page/bitstream-page.resolver.ts @@ -1,11 +1,19 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { RemoteData } from '../core/data/remote-data'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { Bitstream } from '../core/shared/bitstream.model'; + import { BitstreamDataService } from '../core/data/bitstream-data.service'; -import { followLink, FollowLinkConfig } from '../shared/utils/follow-link-config.model'; +import { RemoteData } from '../core/data/remote-data'; +import { Bitstream } from '../core/shared/bitstream.model'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { + followLink, + FollowLinkConfig, +} from '../shared/utils/follow-link-config.model'; /** * The self links defined in this list are expected to be requested somewhere in the near future diff --git a/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts b/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts index c7d84bc8f9..dff81771bd 100644 --- a/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts +++ b/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts @@ -1,30 +1,53 @@ -import { EditBitstreamPageComponent } from './edit-bitstream-page.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ChangeDetectorRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + DynamicFormControlModel, + DynamicFormService, +} from '@ng-dynamic-forms/core'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { DynamicFormControlModel, DynamicFormService } from '@ng-dynamic-forms/core'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { BitstreamDataService } from '../../core/data/bitstream-data.service'; -import { ChangeDetectorRef, NO_ERRORS_SCHEMA } from '@angular/core'; import { BitstreamFormatDataService } from '../../core/data/bitstream-format-data.service'; +import { PrimaryBitstreamService } from '../../core/data/primary-bitstream.service'; import { Bitstream } from '../../core/shared/bitstream.model'; -import { NotificationType } from '../../shared/notifications/models/notification-type'; -import { INotification, Notification } from '../../shared/notifications/models/notification.model'; import { BitstreamFormat } from '../../core/shared/bitstream-format.model'; import { BitstreamFormatSupportLevel } from '../../core/shared/bitstream-format-support-level'; -import { hasValue } from '../../shared/empty.util'; -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; -import { FileSizePipe } from '../../shared/utils/file-size-pipe'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { getEntityEditRoute } from '../../item-page/item-page-routing-paths'; -import { createPaginatedList } from '../../shared/testing/utils.test'; import { Item } from '../../core/shared/item.model'; import { MetadataValueFilter } from '../../core/shared/metadata.models'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { PrimaryBitstreamService } from '../../core/data/primary-bitstream.service'; +import { getEntityEditRoute } from '../../item-page/item-page-routing-paths'; +import { hasValue } from '../../shared/empty.util'; +import { + INotification, + Notification, +} from '../../shared/notifications/models/notification.model'; +import { NotificationType } from '../../shared/notifications/models/notification-type'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { FileSizePipe } from '../../shared/utils/file-size-pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { EditBitstreamPageComponent } from './edit-bitstream-page.component'; const infoNotification: INotification = new Notification('id', NotificationType.Info, 'info'); const warningNotification: INotification = new Notification('id', NotificationType.Warning, 'warning'); diff --git a/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts b/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts index 59b82f6db5..a48177554a 100644 --- a/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts +++ b/src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts @@ -1,31 +1,70 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; -import { Bitstream } from '../../core/shared/bitstream.model'; -import { ActivatedRoute, Router } from '@angular/router'; -import { filter, map, switchMap, tap } from 'rxjs/operators'; -import { combineLatest, combineLatest as observableCombineLatest, Observable, of as observableOf, Subscription } from 'rxjs'; -import { DynamicFormControlModel, DynamicFormGroupModel, DynamicFormLayout, DynamicFormService, DynamicInputModel, DynamicSelectModel } from '@ng-dynamic-forms/core'; +import { Location } from '@angular/common'; +import { + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + DynamicFormControlModel, + DynamicFormGroupModel, + DynamicFormLayout, + DynamicFormService, + DynamicInputModel, + DynamicSelectModel, +} from '@ng-dynamic-forms/core'; import { TranslateService } from '@ngx-translate/core'; -import { DynamicCustomSwitchModel } from '../../shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.model'; import cloneDeep from 'lodash/cloneDeep'; +import { + combineLatest, + combineLatest as observableCombineLatest, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + filter, + map, + switchMap, + tap, +} from 'rxjs/operators'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { BitstreamDataService } from '../../core/data/bitstream-data.service'; -import { getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData, getFirstSucceededRemoteData, getFirstSucceededRemoteDataPayload, getRemoteDataPayload } from '../../core/shared/operators'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { BitstreamFormatDataService } from '../../core/data/bitstream-format-data.service'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { PrimaryBitstreamService } from '../../core/data/primary-bitstream.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { Bitstream } from '../../core/shared/bitstream.model'; import { BitstreamFormat } from '../../core/shared/bitstream-format.model'; import { BitstreamFormatSupportLevel } from '../../core/shared/bitstream-format-support-level'; -import { hasValue, hasValueOperator, isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { Metadata } from '../../core/shared/metadata.utils'; -import { Location } from '@angular/common'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { getEntityEditRoute } from '../../item-page/item-page-routing-paths'; import { Bundle } from '../../core/shared/bundle.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { Item } from '../../core/shared/item.model'; +import { Metadata } from '../../core/shared/metadata.utils'; +import { + getAllSucceededRemoteDataPayload, + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, + getFirstSucceededRemoteDataPayload, + getRemoteDataPayload, +} from '../../core/shared/operators'; +import { getEntityEditRoute } from '../../item-page/item-page-routing-paths'; +import { + hasValue, + hasValueOperator, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; +import { DynamicCustomSwitchModel } from '../../shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.model'; import { DsDynamicInputModel } from '../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; import { DsDynamicTextAreaModel } from '../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model'; -import { PrimaryBitstreamService } from '../../core/data/primary-bitstream.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; @Component({ selector: 'ds-edit-bitstream-page', diff --git a/src/app/bitstream-page/edit-bitstream-page/themed-edit-bitstream-page.component.ts b/src/app/bitstream-page/edit-bitstream-page/themed-edit-bitstream-page.component.ts index dcca28a495..5c6af7e321 100644 --- a/src/app/bitstream-page/edit-bitstream-page/themed-edit-bitstream-page.component.ts +++ b/src/app/bitstream-page/edit-bitstream-page/themed-edit-bitstream-page.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { EditBitstreamPageComponent } from './edit-bitstream-page.component'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { EditBitstreamPageComponent } from './edit-bitstream-page.component'; @Component({ selector: 'ds-themed-edit-bitstream-page', diff --git a/src/app/bitstream-page/legacy-bitstream-url.resolver.spec.ts b/src/app/bitstream-page/legacy-bitstream-url.resolver.spec.ts index 12202376c1..9fd2dc315a 100644 --- a/src/app/bitstream-page/legacy-bitstream-url.resolver.spec.ts +++ b/src/app/bitstream-page/legacy-bitstream-url.resolver.spec.ts @@ -1,9 +1,10 @@ -import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver'; import { EMPTY } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + import { BitstreamDataService } from '../core/data/bitstream-data.service'; import { RemoteData } from '../core/data/remote-data'; -import { TestScheduler } from 'rxjs/testing'; import { RequestEntryState } from '../core/data/request-entry-state.model'; +import { LegacyBitstreamUrlResolver } from './legacy-bitstream-url.resolver'; describe(`LegacyBitstreamUrlResolver`, () => { let resolver: LegacyBitstreamUrlResolver; diff --git a/src/app/bitstream-page/legacy-bitstream-url.resolver.ts b/src/app/bitstream-page/legacy-bitstream-url.resolver.ts index b8846e8e14..36e0cd5532 100644 --- a/src/app/bitstream-page/legacy-bitstream-url.resolver.ts +++ b/src/app/bitstream-page/legacy-bitstream-url.resolver.ts @@ -1,11 +1,16 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; + +import { BitstreamDataService } from '../core/data/bitstream-data.service'; import { RemoteData } from '../core/data/remote-data'; import { Bitstream } from '../core/shared/bitstream.model'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; import { hasNoValue } from '../shared/empty.util'; -import { BitstreamDataService } from '../core/data/bitstream-data.service'; /** * This class resolves a bitstream based on the DSpace 6 XMLUI or JSPUI bitstream download URLs diff --git a/src/app/breadcrumbs/breadcrumbs.component.spec.ts b/src/app/breadcrumbs/breadcrumbs.component.spec.ts index 84a47381cd..ecaafc88bf 100644 --- a/src/app/breadcrumbs/breadcrumbs.component.spec.ts +++ b/src/app/breadcrumbs/breadcrumbs.component.spec.ts @@ -1,15 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; +import { TranslateLoaderMock } from '../shared/testing/translate-loader.mock'; +import { VarDirective } from '../shared/utils/var.directive'; +import { Breadcrumb } from './breadcrumb/breadcrumb.model'; import { BreadcrumbsComponent } from './breadcrumbs.component'; import { BreadcrumbsService } from './breadcrumbs.service'; -import { Breadcrumb } from './breadcrumb/breadcrumb.model'; -import { VarDirective } from '../shared/utils/var.directive'; -import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../shared/testing/translate-loader.mock'; -import { RouterTestingModule } from '@angular/router/testing'; -import { of as observableOf } from 'rxjs'; -import { DebugElement } from '@angular/core'; describe('BreadcrumbsComponent', () => { let component: BreadcrumbsComponent; diff --git a/src/app/breadcrumbs/breadcrumbs.component.ts b/src/app/breadcrumbs/breadcrumbs.component.ts index 911d38d517..1d0c61981c 100644 --- a/src/app/breadcrumbs/breadcrumbs.component.ts +++ b/src/app/breadcrumbs/breadcrumbs.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; +import { Observable } from 'rxjs'; + import { Breadcrumb } from './breadcrumb/breadcrumb.model'; import { BreadcrumbsService } from './breadcrumbs.service'; -import { Observable } from 'rxjs'; /** * Component representing the breadcrumbs of a page diff --git a/src/app/breadcrumbs/breadcrumbs.service.spec.ts b/src/app/breadcrumbs/breadcrumbs.service.spec.ts index 940762d293..89dd2c98b5 100644 --- a/src/app/breadcrumbs/breadcrumbs.service.spec.ts +++ b/src/app/breadcrumbs/breadcrumbs.service.spec.ts @@ -1,12 +1,20 @@ import { TestBed } from '@angular/core/testing'; +import { + ActivatedRoute, + NavigationEnd, + Router, +} from '@angular/router'; +import { cold } from 'jasmine-marbles'; +import { + Observable, + of as observableOf, + Subject, +} from 'rxjs'; -import { BreadcrumbsService } from './breadcrumbs.service'; -import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; -import { Observable, of as observableOf, Subject } from 'rxjs'; -import { BreadcrumbConfig } from './breadcrumb/breadcrumb-config.model'; import { BreadcrumbsProviderService } from '../core/breadcrumbs/breadcrumbsProviderService'; import { Breadcrumb } from './breadcrumb/breadcrumb.model'; -import { cold } from 'jasmine-marbles'; +import { BreadcrumbConfig } from './breadcrumb/breadcrumb-config.model'; +import { BreadcrumbsService } from './breadcrumbs.service'; class TestBreadcrumbsService implements BreadcrumbsProviderService { getBreadcrumbs(key: string, url: string): Observable { diff --git a/src/app/breadcrumbs/breadcrumbs.service.ts b/src/app/breadcrumbs/breadcrumbs.service.ts index cafe410c7c..b0611255b5 100644 --- a/src/app/breadcrumbs/breadcrumbs.service.ts +++ b/src/app/breadcrumbs/breadcrumbs.service.ts @@ -1,9 +1,28 @@ import { Injectable } from '@angular/core'; -import {combineLatest, Observable, of as observableOf, ReplaySubject} from 'rxjs'; +import { + ActivatedRoute, + NavigationEnd, + Router, +} from '@angular/router'; +import { + combineLatest, + Observable, + of as observableOf, + ReplaySubject, +} from 'rxjs'; +import { + filter, + map, + switchMap, + tap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + isUndefined, +} from '../shared/empty.util'; import {Breadcrumb} from './breadcrumb/breadcrumb.model'; -import {ActivatedRoute, NavigationEnd, Router} from '@angular/router'; -import {filter, map, switchMap, tap} from 'rxjs/operators'; -import {hasNoValue, hasValue, isUndefined} from '../shared/empty.util'; @Injectable({ providedIn: 'root', diff --git a/src/app/breadcrumbs/themed-breadcrumbs.component.ts b/src/app/breadcrumbs/themed-breadcrumbs.component.ts index 1869a440b9..7dca22bdf1 100644 --- a/src/app/breadcrumbs/themed-breadcrumbs.component.ts +++ b/src/app/breadcrumbs/themed-breadcrumbs.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { BreadcrumbsComponent } from './breadcrumbs.component'; diff --git a/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.spec.ts b/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.spec.ts index 714b9440f1..384b6cfa24 100644 --- a/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.spec.ts +++ b/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.spec.ts @@ -1,28 +1,39 @@ -import { BrowseByDatePageComponent } from './browse-by-date-page.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; +import { + ChangeDetectorRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; -import { ActivatedRoute, Router } from '@angular/router'; -import { BrowseService } from '../../core/browse/browse.service'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { ChangeDetectorRef, NO_ERRORS_SCHEMA } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { Community } from '../../core/shared/community.model'; -import { Item } from '../../core/shared/item.model'; -import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-options.model'; -import { toRemoteData } from '../browse-by-metadata-page/browse-by-metadata-page.component.spec'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; + import { APP_CONFIG } from '../../../config/app-config.interface'; import { environment } from '../../../environments/environment'; +import { BrowseService } from '../../core/browse/browse.service'; +import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-options.model'; import { SortDirection } from '../../core/cache/models/sort-options.model'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { Community } from '../../core/shared/community.model'; +import { Item } from '../../core/shared/item.model'; +import { RouterMock } from '../../shared/mocks/router.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { toRemoteData } from '../browse-by-metadata-page/browse-by-metadata-page.component.spec'; +import { BrowseByDatePageComponent } from './browse-by-date-page.component'; describe('BrowseByDatePageComponent', () => { let comp: BrowseByDatePageComponent; diff --git a/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts b/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts index 0bc6a27265..8a4e83036c 100644 --- a/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts +++ b/src/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts @@ -1,24 +1,42 @@ -import { ChangeDetectorRef, Component, Inject } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + Inject, +} from '@angular/core'; +import { + ActivatedRoute, + Params, + Router, +} from '@angular/router'; +import { combineLatest as observableCombineLatest } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../config/app-config.interface'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { BrowseService } from '../../core/browse/browse.service'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { Item } from '../../core/shared/item.model'; +import { isValidDate } from '../../shared/date.util'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { StartsWithType } from '../../shared/starts-with/starts-with-decorator'; import { BrowseByMetadataPageComponent, browseParamsToOptions, getBrowseSearchOptions, } from '../browse-by-metadata-page/browse-by-metadata-page.component'; -import { combineLatest as observableCombineLatest } from 'rxjs'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { ActivatedRoute, Params, Router } from '@angular/router'; -import { BrowseService } from '../../core/browse/browse.service'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { StartsWithType } from '../../shared/starts-with/starts-with-decorator'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { map } from 'rxjs/operators'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { isValidDate } from '../../shared/date.util'; -import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface'; -import { RemoteData } from '../../core/data/remote-data'; -import { Item } from '../../core/shared/item.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-browse-by-date-page', diff --git a/src/app/browse-by/browse-by-date-page/themed-browse-by-date-page.component.ts b/src/app/browse-by/browse-by-date-page/themed-browse-by-date-page.component.ts index 8eeae0c5de..0ef592bae1 100644 --- a/src/app/browse-by/browse-by-date-page/themed-browse-by-date-page.component.ts +++ b/src/app/browse-by/browse-by-date-page/themed-browse-by-date-page.component.ts @@ -1,7 +1,11 @@ import {Component} from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { + BrowseByDataType, + rendersBrowseBy, +} from '../browse-by-switcher/browse-by-decorator'; import { BrowseByDatePageComponent } from './browse-by-date-page.component'; -import {BrowseByDataType, rendersBrowseBy} from '../browse-by-switcher/browse-by-decorator'; /** * Themed wrapper for BrowseByDatePageComponent diff --git a/src/app/browse-by/browse-by-dso-breadcrumb.resolver.ts b/src/app/browse-by/browse-by-dso-breadcrumb.resolver.ts index aae54c3b88..f5b57faa28 100644 --- a/src/app/browse-by/browse-by-dso-breadcrumb.resolver.ts +++ b/src/app/browse-by/browse-by-dso-breadcrumb.resolver.ts @@ -1,15 +1,22 @@ import { Injectable } from '@angular/core'; -import { Community } from '../core/shared/community.model'; -import { DSpaceObjectDataService } from '../core/data/dspace-object-data.service'; -import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; -import { Collection } from '../core/shared/collection.model'; -import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; -import { BreadcrumbConfig } from '../breadcrumbs/breadcrumb/breadcrumb-config.model'; +import { + ActivatedRouteSnapshot, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../core/shared/operators'; import { map } from 'rxjs/operators'; -import { hasValue } from '../shared/empty.util'; + import { getDSORoute } from '../app-routing-paths'; +import { BreadcrumbConfig } from '../breadcrumbs/breadcrumb/breadcrumb-config.model'; +import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; +import { DSpaceObjectDataService } from '../core/data/dspace-object-data.service'; +import { Collection } from '../core/shared/collection.model'; +import { Community } from '../core/shared/community.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../core/shared/operators'; +import { hasValue } from '../shared/empty.util'; /** * The class that resolves the BreadcrumbConfig object for a DSpaceObject on a browse by page diff --git a/src/app/browse-by/browse-by-guard.spec.ts b/src/app/browse-by/browse-by-guard.spec.ts index ed47544ec0..7fab2ebc4f 100644 --- a/src/app/browse-by/browse-by-guard.spec.ts +++ b/src/app/browse-by/browse-by-guard.spec.ts @@ -1,12 +1,16 @@ -import { first } from 'rxjs/operators'; -import { BrowseByGuard } from './browse-by-guard'; import { of as observableOf } from 'rxjs'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { BrowseByDataType } from './browse-by-switcher/browse-by-decorator'; +import { first } from 'rxjs/operators'; + +import { DSONameService } from '../core/breadcrumbs/dso-name.service'; import { ValueListBrowseDefinition } from '../core/shared/value-list-browse-definition.model'; import { DSONameServiceMock } from '../shared/mocks/dso-name.service.mock'; -import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../shared/remote-data.utils'; import { RouterStub } from '../shared/testing/router.stub'; +import { BrowseByGuard } from './browse-by-guard'; +import { BrowseByDataType } from './browse-by-switcher/browse-by-decorator'; describe('BrowseByGuard', () => { describe('canActivate', () => { diff --git a/src/app/browse-by/browse-by-guard.ts b/src/app/browse-by/browse-by-guard.ts index d12f774253..d9c664509e 100644 --- a/src/app/browse-by/browse-by-guard.ts +++ b/src/app/browse-by/browse-by-guard.ts @@ -1,17 +1,35 @@ -import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; import { Injectable } from '@angular/core'; -import { DSpaceObjectDataService } from '../core/data/dspace-object-data.service'; -import { hasNoValue, hasValue } from '../shared/empty.util'; -import { map, switchMap } from 'rxjs/operators'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../core/shared/operators'; +import { + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { BrowseDefinitionDataService } from '../core/browse/browse-definition-data.service'; -import { BrowseDefinition } from '../core/shared/browse-definition.model'; -import { DSONameService } from '../core/breadcrumbs/dso-name.service'; -import { DSpaceObject } from '../core/shared/dspace-object.model'; -import { RemoteData } from '../core/data/remote-data'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { PAGE_NOT_FOUND_PATH } from '../app-routing-paths'; +import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { BrowseDefinitionDataService } from '../core/browse/browse-definition-data.service'; +import { DSpaceObjectDataService } from '../core/data/dspace-object-data.service'; +import { RemoteData } from '../core/data/remote-data'; +import { BrowseDefinition } from '../core/shared/browse-definition.model'; +import { DSpaceObject } from '../core/shared/dspace-object.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../core/shared/operators'; +import { + hasNoValue, + hasValue, +} from '../shared/empty.util'; @Injectable() /** diff --git a/src/app/browse-by/browse-by-i18n-breadcrumb.resolver.ts b/src/app/browse-by/browse-by-i18n-breadcrumb.resolver.ts index 56dcd6317b..1687d2a2dd 100644 --- a/src/app/browse-by/browse-by-i18n-breadcrumb.resolver.ts +++ b/src/app/browse-by/browse-by-i18n-breadcrumb.resolver.ts @@ -1,8 +1,12 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; -import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; +import { + ActivatedRouteSnapshot, + RouterStateSnapshot, +} from '@angular/router'; + import { BreadcrumbConfig } from '../breadcrumbs/breadcrumb/breadcrumb-config.model'; import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; /** * This class resolves a BreadcrumbConfig object with an i18n key string for a route diff --git a/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.spec.ts b/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.spec.ts index 3aa7d032c8..bd4ddedda0 100644 --- a/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.spec.ts +++ b/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.spec.ts @@ -1,35 +1,49 @@ +import { CommonModule } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { APP_CONFIG } from '../../../config/app-config.interface'; +import { BrowseService } from '../../core/browse/browse.service'; +import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-options.model'; +import { SortDirection } from '../../core/cache/models/sort-options.model'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { BrowseEntry } from '../../core/shared/browse-entry.model'; +import { Community } from '../../core/shared/community.model'; +import { Item } from '../../core/shared/item.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { RouterMock } from '../../shared/mocks/router.mock'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; import { BrowseByMetadataPageComponent, browseParamsToOptions, getBrowseSearchOptions, } from './browse-by-metadata-page.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { BrowseService } from '../../core/browse/browse.service'; -import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { Observable, of as observableOf } from 'rxjs'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RemoteData } from '../../core/data/remote-data'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-options.model'; -import { SortDirection } from '../../core/cache/models/sort-options.model'; -import { Item } from '../../core/shared/item.model'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { Community } from '../../core/shared/community.model'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { BrowseEntry } from '../../core/shared/browse-entry.model'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { APP_CONFIG } from '../../../config/app-config.interface'; describe('BrowseByMetadataPageComponent', () => { let comp: BrowseByMetadataPageComponent; diff --git a/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts b/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts index 8787f44f7d..e43e996668 100644 --- a/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts +++ b/src/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts @@ -1,27 +1,57 @@ -import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { Component, Inject, OnInit, OnDestroy } from '@angular/core'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { ActivatedRoute, Params, Router } from '@angular/router'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; +import { + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Params, + Router, +} from '@angular/router'; +import { + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + filter, + map, + mergeMap, +} from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../config/app-config.interface'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { BrowseService } from '../../core/browse/browse.service'; -import { BrowseEntry } from '../../core/shared/browse-entry.model'; -import { Item } from '../../core/shared/item.model'; import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-options.model'; -import { getFirstSucceededRemoteData } from '../../core/shared/operators'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { StartsWithType } from '../../shared/starts-with/starts-with-decorator'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; import { PaginationService } from '../../core/pagination/pagination.service'; -import { filter, map, mergeMap } from 'rxjs/operators'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { Bitstream } from '../../core/shared/bitstream.model'; +import { BrowseEntry } from '../../core/shared/browse-entry.model'; import { Collection } from '../../core/shared/collection.model'; import { Community } from '../../core/shared/community.model'; -import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Item } from '../../core/shared/item.model'; +import { getFirstSucceededRemoteData } from '../../core/shared/operators'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { StartsWithType } from '../../shared/starts-with/starts-with-decorator'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; export const BBM_PAGINATION_ID = 'bbm'; diff --git a/src/app/browse-by/browse-by-metadata-page/themed-browse-by-metadata-page.component.ts b/src/app/browse-by/browse-by-metadata-page/themed-browse-by-metadata-page.component.ts index b0679258e9..527ad9f80a 100644 --- a/src/app/browse-by/browse-by-metadata-page/themed-browse-by-metadata-page.component.ts +++ b/src/app/browse-by/browse-by-metadata-page/themed-browse-by-metadata-page.component.ts @@ -1,7 +1,11 @@ import {Component} from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { + BrowseByDataType, + rendersBrowseBy, +} from '../browse-by-switcher/browse-by-decorator'; import { BrowseByMetadataPageComponent } from './browse-by-metadata-page.component'; -import {BrowseByDataType, rendersBrowseBy} from '../browse-by-switcher/browse-by-decorator'; /** * Themed wrapper for BrowseByMetadataPageComponent diff --git a/src/app/browse-by/browse-by-page.module.ts b/src/app/browse-by/browse-by-page.module.ts index cb7f9a4870..22b93a99ab 100644 --- a/src/app/browse-by/browse-by-page.module.ts +++ b/src/app/browse-by/browse-by-page.module.ts @@ -1,10 +1,11 @@ import { NgModule } from '@angular/core'; -import { BrowseByRoutingModule } from './browse-by-routing.module'; -import { BrowseByModule } from './browse-by.module'; -import { ItemDataService } from '../core/data/item-data.service'; + import { BrowseService } from '../core/browse/browse.service'; -import { BrowseByGuard } from './browse-by-guard'; +import { ItemDataService } from '../core/data/item-data.service'; import { SharedBrowseByModule } from '../shared/browse-by/shared-browse-by.module'; +import { BrowseByModule } from './browse-by.module'; +import { BrowseByGuard } from './browse-by-guard'; +import { BrowseByRoutingModule } from './browse-by-routing.module'; @NgModule({ imports: [ diff --git a/src/app/browse-by/browse-by-routing.module.ts b/src/app/browse-by/browse-by-routing.module.ts index 1060a92a7d..d1149c0381 100644 --- a/src/app/browse-by/browse-by-routing.module.ts +++ b/src/app/browse-by/browse-by-routing.module.ts @@ -1,10 +1,11 @@ -import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; -import { BrowseByGuard } from './browse-by-guard'; +import { RouterModule } from '@angular/router'; + +import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; import { BrowseByDSOBreadcrumbResolver } from './browse-by-dso-breadcrumb.resolver'; +import { BrowseByGuard } from './browse-by-guard'; import { BrowseByI18nBreadcrumbResolver } from './browse-by-i18n-breadcrumb.resolver'; import { ThemedBrowseBySwitcherComponent } from './browse-by-switcher/themed-browse-by-switcher.component'; -import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; @NgModule({ imports: [ diff --git a/src/app/browse-by/browse-by-switcher/browse-by-decorator.spec.ts b/src/app/browse-by/browse-by-switcher/browse-by-decorator.spec.ts index 19a6277151..fb51b5723c 100644 --- a/src/app/browse-by/browse-by-switcher/browse-by-decorator.spec.ts +++ b/src/app/browse-by/browse-by-switcher/browse-by-decorator.spec.ts @@ -1,4 +1,7 @@ -import { BrowseByDataType, rendersBrowseBy } from './browse-by-decorator'; +import { + BrowseByDataType, + rendersBrowseBy, +} from './browse-by-decorator'; describe('BrowseByDecorator', () => { const titleDecorator = rendersBrowseBy(BrowseByDataType.Title); diff --git a/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts b/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts index 03fec82a93..6c81909256 100644 --- a/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts +++ b/src/app/browse-by/browse-by-switcher/browse-by-decorator.ts @@ -1,6 +1,7 @@ -import { hasNoValue } from '../../shared/empty.util'; import { InjectionToken } from '@angular/core'; + import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { hasNoValue } from '../../shared/empty.util'; import { DEFAULT_THEME, resolveTheme, diff --git a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts index 4ad16224bd..83706ad01c 100644 --- a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts +++ b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts @@ -1,13 +1,21 @@ -import { BrowseBySwitcherComponent } from './browse-by-switcher.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; -import { BROWSE_BY_COMPONENT_FACTORY, BrowseByDataType } from './browse-by-decorator'; import { BehaviorSubject } from 'rxjs'; -import { ThemeService } from '../../shared/theme-support/theme.service'; + import { FlatBrowseDefinition } from '../../core/shared/flat-browse-definition.model'; -import { ValueListBrowseDefinition } from '../../core/shared/value-list-browse-definition.model'; import { NonHierarchicalBrowseDefinition } from '../../core/shared/non-hierarchical-browse-definition'; +import { ValueListBrowseDefinition } from '../../core/shared/value-list-browse-definition.model'; +import { ThemeService } from '../../shared/theme-support/theme.service'; +import { + BROWSE_BY_COMPONENT_FACTORY, + BrowseByDataType, +} from './browse-by-decorator'; +import { BrowseBySwitcherComponent } from './browse-by-switcher.component'; describe('BrowseBySwitcherComponent', () => { let comp: BrowseBySwitcherComponent; diff --git a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts index 2a05d6aa2c..84b8045b74 100644 --- a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts +++ b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts @@ -1,11 +1,16 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { BROWSE_BY_COMPONENT_FACTORY } from './browse-by-decorator'; -import { GenericConstructor } from '../../core/shared/generic-constructor'; + import { BrowseDefinition } from '../../core/shared/browse-definition.model'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; import { ThemeService } from '../../shared/theme-support/theme.service'; +import { BROWSE_BY_COMPONENT_FACTORY } from './browse-by-decorator'; @Component({ selector: 'ds-browse-by-switcher', diff --git a/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.spec.ts b/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.spec.ts index 6620cc3168..4d31b54e52 100644 --- a/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.spec.ts +++ b/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.spec.ts @@ -1,14 +1,17 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { BrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page.component'; -import { VocabularyEntryDetail } from '../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; import { BehaviorSubject } from 'rxjs'; -import { createDataWithBrowseDefinition } from '../browse-by-switcher/browse-by-switcher.component.spec'; + import { HierarchicalBrowseDefinition } from '../../core/shared/hierarchical-browse-definition.model'; +import { VocabularyEntryDetail } from '../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; import { ThemeService } from '../../shared/theme-support/theme.service'; +import { createDataWithBrowseDefinition } from '../browse-by-switcher/browse-by-switcher.component.spec'; +import { BrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page.component'; describe('BrowseByTaxonomyPageComponent', () => { let component: BrowseByTaxonomyPageComponent; diff --git a/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts b/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts index a688bc9316..167bd8dca7 100644 --- a/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts +++ b/src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts @@ -1,14 +1,23 @@ -import { Component, OnInit, Inject, OnDestroy } from '@angular/core'; -import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; -import { VocabularyEntryDetail } from '../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { Observable, Subscription } from 'rxjs'; -import { BrowseDefinition } from '../../core/shared/browse-definition.model'; -import { GenericConstructor } from '../../core/shared/generic-constructor'; -import { BROWSE_BY_COMPONENT_FACTORY } from '../browse-by-switcher/browse-by-decorator'; +import { + Observable, + Subscription, +} from 'rxjs'; import { map } from 'rxjs/operators'; import { ThemeService } from 'src/app/shared/theme-support/theme.service'; + +import { BrowseDefinition } from '../../core/shared/browse-definition.model'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; import { HierarchicalBrowseDefinition } from '../../core/shared/hierarchical-browse-definition.model'; +import { VocabularyEntryDetail } from '../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; +import { BROWSE_BY_COMPONENT_FACTORY } from '../browse-by-switcher/browse-by-decorator'; @Component({ selector: 'ds-browse-by-taxonomy-page', diff --git a/src/app/browse-by/browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component.ts b/src/app/browse-by/browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component.ts index 443aaccc64..a08d1e47c8 100644 --- a/src/app/browse-by/browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component.ts +++ b/src/app/browse-by/browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator'; import { BrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page.component'; diff --git a/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.spec.ts b/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.spec.ts index 98eef12082..ca94b86b7c 100644 --- a/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.spec.ts +++ b/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.spec.ts @@ -1,27 +1,35 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Item } from '../../core/shared/item.model'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { of as observableOf } from 'rxjs'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { toRemoteData } from '../browse-by-metadata-page/browse-by-metadata-page.component.spec'; -import { BrowseByTitlePageComponent } from './browse-by-title-page.component'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { Community } from '../../core/shared/community.model'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { BrowseService } from '../../core/browse/browse.service'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { APP_CONFIG } from '../../../config/app-config.interface'; import { environment } from '../../../environments/environment'; +import { BrowseService } from '../../core/browse/browse.service'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { Community } from '../../core/shared/community.model'; +import { Item } from '../../core/shared/item.model'; +import { RouterMock } from '../../shared/mocks/router.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { toRemoteData } from '../browse-by-metadata-page/browse-by-metadata-page.component.spec'; +import { BrowseByTitlePageComponent } from './browse-by-title-page.component'; describe('BrowseByTitlePageComponent', () => { diff --git a/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts b/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts index 74888883d6..3304a9b1ff 100644 --- a/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts +++ b/src/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts @@ -1,19 +1,34 @@ +import { + Component, + Inject, +} from '@angular/core'; +import { + ActivatedRoute, + Params, + Router, +} from '@angular/router'; import { combineLatest as observableCombineLatest } from 'rxjs'; -import { Component, Inject } from '@angular/core'; -import { ActivatedRoute, Params, Router } from '@angular/router'; +import { map } from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../config/app-config.interface'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { BrowseService } from '../../core/browse/browse.service'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { hasValue } from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; import { BrowseByMetadataPageComponent, - browseParamsToOptions, getBrowseSearchOptions, + browseParamsToOptions, + getBrowseSearchOptions, } from '../browse-by-metadata-page/browse-by-metadata-page.component'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { BrowseService } from '../../core/browse/browse.service'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { map } from 'rxjs/operators'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { AppConfig, APP_CONFIG } from '../../../config/app-config.interface'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-browse-by-title-page', diff --git a/src/app/browse-by/browse-by-title-page/themed-browse-by-title-page.component.ts b/src/app/browse-by/browse-by-title-page/themed-browse-by-title-page.component.ts index 4a1bcc0bc1..196304a499 100644 --- a/src/app/browse-by/browse-by-title-page/themed-browse-by-title-page.component.ts +++ b/src/app/browse-by/browse-by-title-page/themed-browse-by-title-page.component.ts @@ -1,7 +1,11 @@ import {Component} from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { + BrowseByDataType, + rendersBrowseBy, +} from '../browse-by-switcher/browse-by-decorator'; import { BrowseByTitlePageComponent } from './browse-by-title-page.component'; -import {BrowseByDataType, rendersBrowseBy} from '../browse-by-switcher/browse-by-decorator'; /** * Themed wrapper for BrowseByTitlePageComponent diff --git a/src/app/browse-by/browse-by.module.ts b/src/app/browse-by/browse-by.module.ts index 5702c79f0c..a7940c8d06 100644 --- a/src/app/browse-by/browse-by.module.ts +++ b/src/app/browse-by/browse-by.module.ts @@ -1,19 +1,20 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { BrowseByTitlePageComponent } from './browse-by-title-page/browse-by-title-page.component'; -import { BrowseByMetadataPageComponent } from './browse-by-metadata-page/browse-by-metadata-page.component'; -import { BrowseByDatePageComponent } from './browse-by-date-page/browse-by-date-page.component'; -import { BrowseBySwitcherComponent } from './browse-by-switcher/browse-by-switcher.component'; -import { BrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page/browse-by-taxonomy-page.component'; -import { ThemedBrowseBySwitcherComponent } from './browse-by-switcher/themed-browse-by-switcher.component'; -import { ComcolModule } from '../shared/comcol/comcol.module'; -import { ThemedBrowseByMetadataPageComponent } from './browse-by-metadata-page/themed-browse-by-metadata-page.component'; -import { ThemedBrowseByDatePageComponent } from './browse-by-date-page/themed-browse-by-date-page.component'; -import { ThemedBrowseByTitlePageComponent } from './browse-by-title-page/themed-browse-by-title-page.component'; -import { ThemedBrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component'; +import { NgModule } from '@angular/core'; + import { SharedBrowseByModule } from '../shared/browse-by/shared-browse-by.module'; +import { ComcolModule } from '../shared/comcol/comcol.module'; import { DsoPageModule } from '../shared/dso-page/dso-page.module'; import { FormModule } from '../shared/form/form.module'; +import { BrowseByDatePageComponent } from './browse-by-date-page/browse-by-date-page.component'; +import { ThemedBrowseByDatePageComponent } from './browse-by-date-page/themed-browse-by-date-page.component'; +import { BrowseByMetadataPageComponent } from './browse-by-metadata-page/browse-by-metadata-page.component'; +import { ThemedBrowseByMetadataPageComponent } from './browse-by-metadata-page/themed-browse-by-metadata-page.component'; +import { BrowseBySwitcherComponent } from './browse-by-switcher/browse-by-switcher.component'; +import { ThemedBrowseBySwitcherComponent } from './browse-by-switcher/themed-browse-by-switcher.component'; +import { BrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page/browse-by-taxonomy-page.component'; +import { ThemedBrowseByTaxonomyPageComponent } from './browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component'; +import { BrowseByTitlePageComponent } from './browse-by-title-page/browse-by-title-page.component'; +import { ThemedBrowseByTitlePageComponent } from './browse-by-title-page/themed-browse-by-title-page.component'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/collection-page/collection-form/collection-form.component.ts b/src/app/collection-page/collection-form/collection-form.component.ts index 2ae48fc78a..f2a55ea18e 100644 --- a/src/app/collection-page/collection-form/collection-form.component.ts +++ b/src/app/collection-page/collection-form/collection-form.component.ts @@ -1,28 +1,41 @@ -import { ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChange, SimpleChanges } from '@angular/core'; - -import { Observable } from 'rxjs'; -import { TranslateService } from '@ngx-translate/core'; +import { + ChangeDetectorRef, + Component, + Input, + OnChanges, + OnInit, + SimpleChange, + SimpleChanges, +} from '@angular/core'; import { DynamicFormControlModel, DynamicFormOptionConfig, DynamicFormService, DynamicSelectModel, } from '@ng-dynamic-forms/core'; +import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { + hasNoValue, + isNotNull, +} from 'src/app/shared/empty.util'; -import { Collection } from '../../core/shared/collection.model'; -import { ComColFormComponent } from '../../shared/comcol/comcol-forms/comcol-form/comcol-form.component'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { CommunityDataService } from '../../core/data/community-data.service'; import { AuthService } from '../../core/auth/auth.service'; -import { RequestService } from '../../core/data/request.service'; import { ObjectCacheService } from '../../core/cache/object-cache.service'; +import { CommunityDataService } from '../../core/data/community-data.service'; import { EntityTypeDataService } from '../../core/data/entity-type-data.service'; +import { RequestService } from '../../core/data/request.service'; +import { Collection } from '../../core/shared/collection.model'; import { ItemType } from '../../core/shared/item-relationships/item-type.model'; +import { NONE_ENTITY_TYPE } from '../../core/shared/item-relationships/item-type.resource-type'; import { MetadataValue } from '../../core/shared/metadata.models'; import { getFirstSucceededRemoteListPayload } from '../../core/shared/operators'; -import { collectionFormEntityTypeSelectionConfig, collectionFormModels } from './collection-form.models'; -import { NONE_ENTITY_TYPE } from '../../core/shared/item-relationships/item-type.resource-type'; -import { hasNoValue, isNotNull } from 'src/app/shared/empty.util'; +import { ComColFormComponent } from '../../shared/comcol/comcol-forms/comcol-form/comcol-form.component'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + collectionFormEntityTypeSelectionConfig, + collectionFormModels, +} from './collection-form.models'; /** diff --git a/src/app/collection-page/collection-form/collection-form.models.ts b/src/app/collection-page/collection-form/collection-form.models.ts index 831e6c4264..22998af674 100644 --- a/src/app/collection-page/collection-form/collection-form.models.ts +++ b/src/app/collection-page/collection-form/collection-form.models.ts @@ -1,5 +1,10 @@ -import { DynamicFormControlModel, DynamicInputModel, DynamicTextAreaModel } from '@ng-dynamic-forms/core'; +import { + DynamicFormControlModel, + DynamicInputModel, + DynamicTextAreaModel, +} from '@ng-dynamic-forms/core'; import { DynamicSelectModelConfig } from '@ng-dynamic-forms/core/lib/model/select/dynamic-select.model'; + import { environment } from '../../../environments/environment'; export const collectionFormEntityTypeSelectionConfig: DynamicSelectModelConfig = { diff --git a/src/app/collection-page/collection-form/collection-form.module.ts b/src/app/collection-page/collection-form/collection-form.module.ts index 85e84d40ba..0d1f69c18e 100644 --- a/src/app/collection-page/collection-form/collection-form.module.ts +++ b/src/app/collection-page/collection-form/collection-form.module.ts @@ -1,9 +1,9 @@ import { NgModule } from '@angular/core'; -import { CollectionFormComponent } from './collection-form.component'; -import { SharedModule } from '../../shared/shared.module'; import { ComcolModule } from '../../shared/comcol/comcol.module'; import { FormModule } from '../../shared/form/form.module'; +import { SharedModule } from '../../shared/shared.module'; +import { CollectionFormComponent } from './collection-form.component'; @NgModule({ imports: [ diff --git a/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts b/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts index 58095718fd..54b2c42168 100644 --- a/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts +++ b/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts @@ -1,52 +1,66 @@ -import { CollectionItemMapperComponent } from './collection-item-mapper.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { CommonModule } from '@angular/common'; +import { EventEmitter } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { CommonModule } from '@angular/common'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { SearchFormComponent } from '../../shared/search-form/search-form.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { SearchServiceStub } from '../../shared/testing/search-service.stub'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { FormsModule } from '@angular/forms'; -import { Collection } from '../../core/shared/collection.model'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { EventEmitter } from '@angular/core'; -import { HostWindowService } from '../../shared/host-window.service'; -import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; -import { By } from '@angular/platform-browser'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { CollectionDataService } from '../../core/data/collection-data.service'; -import { PaginationComponent } from '../../shared/pagination/pagination.component'; -import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; +import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { GroupDataService } from '../../core/eperson/group-data.service'; +import { LinkHeadService } from '../../core/services/link-head.service'; +import { RouteService } from '../../core/services/route.service'; +import { Collection } from '../../core/shared/collection.model'; +import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; +import { SearchService } from '../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; +import { ErrorComponent } from '../../shared/error/error.component'; +import { HostWindowService } from '../../shared/host-window.service'; +import { LoadingComponent } from '../../shared/loading/loading.component'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { ItemSelectComponent } from '../../shared/object-select/item-select/item-select.component'; import { ObjectSelectService } from '../../shared/object-select/object-select.service'; -import { ObjectSelectServiceStub } from '../../shared/testing/object-select-service.stub'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { of as observableOf } from 'rxjs'; -import { RouteService } from '../../core/services/route.service'; -import { ErrorComponent } from '../../shared/error/error.component'; -import { LoadingComponent } from '../../shared/loading/loading.component'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { SearchService } from '../../core/shared/search/search.service'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { PaginationComponent } from '../../shared/pagination/pagination.component'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { SearchFormComponent } from '../../shared/search-form/search-form.component'; +import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { ObjectSelectServiceStub } from '../../shared/testing/object-select-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; import { SearchConfigurationServiceStub } from '../../shared/testing/search-configuration-service.stub'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { LinkHeadService } from '../../core/services/link-head.service'; -import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; +import { SearchServiceStub } from '../../shared/testing/search-service.stub'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { EnumKeysPipe } from '../../shared/utils/enum-keys-pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { CollectionItemMapperComponent } from './collection-item-mapper.component'; describe('CollectionItemMapperComponent', () => { let comp: CollectionItemMapperComponent; diff --git a/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.ts b/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.ts index d173090d19..8ccb649dd7 100644 --- a/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.ts +++ b/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.ts @@ -1,13 +1,41 @@ -import { BehaviorSubject, combineLatest as observableCombineLatest, Observable } from 'rxjs'; +import { + ChangeDetectionStrategy, + Component, + Inject, + OnInit, + ViewChild, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + map, + startWith, + switchMap, + take, +} from 'rxjs/operators'; -import { ChangeDetectionStrategy, Component, Inject, OnInit, ViewChild } from '@angular/core'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { fadeIn, fadeInOut } from '../../shared/animations/fade'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { CollectionDataService } from '../../core/data/collection-data.service'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; import { Collection } from '../../core/shared/collection.model'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { map, startWith, switchMap, take } from 'rxjs/operators'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../core/shared/dspace-object-type.model'; +import { NoContent } from '../../core/shared/NoContent.model'; import { getAllSucceededRemoteData, getFirstCompletedRemoteData, @@ -15,21 +43,17 @@ import { getRemoteDataPayload, toDSpaceObjectListRD, } from '../../core/shared/operators'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { DSpaceObjectType } from '../../core/shared/dspace-object-type.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { TranslateService } from '@ngx-translate/core'; -import { CollectionDataService } from '../../core/data/collection-data.service'; -import { isNotEmpty } from '../../shared/empty.util'; -import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; import { SearchService } from '../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; +import { + fadeIn, + fadeInOut, +} from '../../shared/animations/fade'; +import { isNotEmpty } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; import { followLink } from '../../shared/utils/follow-link-config.model'; -import { NoContent } from '../../core/shared/NoContent.model'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; @Component({ selector: 'ds-collection-item-mapper', diff --git a/src/app/collection-page/collection-page-administrator.guard.ts b/src/app/collection-page/collection-page-administrator.guard.ts index 5e19bf08f1..caecd6ef43 100644 --- a/src/app/collection-page/collection-page-administrator.guard.ts +++ b/src/app/collection-page/collection-page-administrator.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Collection } from '../core/shared/collection.model'; -import { CollectionPageResolver } from './collection-page.resolver'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../core/auth/auth.service'; import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; -import { Observable, of as observableOf } from 'rxjs'; import { DsoPageSingleFeatureGuard } from '../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; import { FeatureID } from '../core/data/feature-authorization/feature-id'; -import { AuthService } from '../core/auth/auth.service'; +import { Collection } from '../core/shared/collection.model'; +import { CollectionPageResolver } from './collection-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/collection-page/collection-page-routing.module.ts b/src/app/collection-page/collection-page-routing.module.ts index 8981ed50cb..f2d3c22950 100644 --- a/src/app/collection-page/collection-page-routing.module.ts +++ b/src/app/collection-page/collection-page-routing.module.ts @@ -1,27 +1,27 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { CollectionPageResolver } from './collection-page.resolver'; -import { CreateCollectionPageComponent } from './create-collection-page/create-collection-page.component'; import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { CreateCollectionPageGuard } from './create-collection-page/create-collection-page.guard'; -import { DeleteCollectionPageComponent } from './delete-collection-page/delete-collection-page.component'; -import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component'; -import { ItemTemplatePageResolver } from './edit-item-template-page/item-template-page.resolver'; import { CollectionBreadcrumbResolver } from '../core/breadcrumbs/collection-breadcrumb.resolver'; import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; -import { LinkService } from '../core/cache/builders/link.service'; import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { - ITEMTEMPLATE_PATH, - COLLECTION_EDIT_PATH, - COLLECTION_CREATE_PATH, -} from './collection-page-routing-paths'; -import { CollectionPageAdministratorGuard } from './collection-page-administrator.guard'; -import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; -import { ThemedCollectionPageComponent } from './themed-collection-page.component'; -import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { LinkService } from '../core/cache/builders/link.service'; import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; +import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; +import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { CollectionPageResolver } from './collection-page.resolver'; +import { CollectionPageAdministratorGuard } from './collection-page-administrator.guard'; +import { + COLLECTION_CREATE_PATH, + COLLECTION_EDIT_PATH, + ITEMTEMPLATE_PATH, +} from './collection-page-routing-paths'; +import { CreateCollectionPageComponent } from './create-collection-page/create-collection-page.component'; +import { CreateCollectionPageGuard } from './create-collection-page/create-collection-page.guard'; +import { DeleteCollectionPageComponent } from './delete-collection-page/delete-collection-page.component'; +import { ItemTemplatePageResolver } from './edit-item-template-page/item-template-page.resolver'; +import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component'; +import { ThemedCollectionPageComponent } from './themed-collection-page.component'; @NgModule({ imports: [ diff --git a/src/app/collection-page/collection-page.component.ts b/src/app/collection-page/collection-page.component.ts index 4ca188e59c..97d5037d53 100644 --- a/src/app/collection-page/collection-page.component.ts +++ b/src/app/collection-page/collection-page.component.ts @@ -1,15 +1,47 @@ -import { ChangeDetectionStrategy, Component, OnInit, Inject } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { BehaviorSubject, combineLatest as observableCombineLatest, Observable, Subject } from 'rxjs'; -import { filter, map, mergeMap, startWith, switchMap, take } from 'rxjs/operators'; -import { PaginatedSearchOptions } from '../shared/search/models/paginated-search-options.model'; -import { SearchService } from '../core/shared/search/search.service'; -import { SortDirection, SortOptions } from '../core/cache/models/sort-options.model'; +import { + ChangeDetectionStrategy, + Component, + Inject, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, + Subject, +} from 'rxjs'; +import { + filter, + map, + mergeMap, + startWith, + switchMap, + take, +} from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../src/config/app-config.interface'; +import { AuthService } from '../core/auth/auth.service'; +import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { BROWSE_LINKS_TO_FOLLOW } from '../core/browse/browse.service'; +import { + SortDirection, + SortOptions, +} from '../core/cache/models/sort-options.model'; import { CollectionDataService } from '../core/data/collection-data.service'; +import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../core/data/feature-authorization/feature-id'; import { PaginatedList } from '../core/data/paginated-list.model'; import { RemoteData } from '../core/data/remote-data'; +import { PaginationService } from '../core/pagination/pagination.service'; +import { redirectOn4xx } from '../core/shared/authorized.operators'; import { Bitstream } from '../core/shared/bitstream.model'; - import { Collection } from '../core/shared/collection.model'; import { DSpaceObjectType } from '../core/shared/dspace-object-type.model'; import { Item } from '../core/shared/item.model'; @@ -18,19 +50,18 @@ import { getFirstSucceededRemoteData, toDSpaceObjectListRD, } from '../core/shared/operators'; - -import { fadeIn, fadeInOut } from '../shared/animations/fade'; -import { hasValue, isNotEmpty } from '../shared/empty.util'; +import { SearchService } from '../core/shared/search/search.service'; +import { + fadeIn, + fadeInOut, +} from '../shared/animations/fade'; +import { + hasValue, + isNotEmpty, +} from '../shared/empty.util'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; -import { AuthService } from '../core/auth/auth.service'; -import { PaginationService } from '../core/pagination/pagination.service'; -import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; -import { FeatureID } from '../core/data/feature-authorization/feature-id'; +import { PaginatedSearchOptions } from '../shared/search/models/paginated-search-options.model'; import { getCollectionPageRoute } from './collection-page-routing-paths'; -import { redirectOn4xx } from '../core/shared/authorized.operators'; -import { BROWSE_LINKS_TO_FOLLOW } from '../core/browse/browse.service'; -import { DSONameService } from '../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../src/config/app-config.interface'; @Component({ selector: 'ds-collection-page', diff --git a/src/app/collection-page/collection-page.module.ts b/src/app/collection-page/collection-page.module.ts index 3c9a51e2fd..0a4e415292 100644 --- a/src/app/collection-page/collection-page.module.ts +++ b/src/app/collection-page/collection-page.module.ts @@ -1,23 +1,22 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { SearchService } from '../core/shared/search/search.service'; +import { DsoSharedModule } from '../dso-shared/dso-shared.module'; +import { EditItemPageModule } from '../item-page/edit-item-page/edit-item-page.module'; +import { ComcolModule } from '../shared/comcol/comcol.module'; +import { DsoPageModule } from '../shared/dso-page/dso-page.module'; import { SharedModule } from '../shared/shared.module'; - +import { StatisticsModule } from '../statistics/statistics.module'; +import { CollectionFormModule } from './collection-form/collection-form.module'; +import { CollectionItemMapperComponent } from './collection-item-mapper/collection-item-mapper.component'; import { CollectionPageComponent } from './collection-page.component'; import { CollectionPageRoutingModule } from './collection-page-routing.module'; import { CreateCollectionPageComponent } from './create-collection-page/create-collection-page.component'; import { DeleteCollectionPageComponent } from './delete-collection-page/delete-collection-page.component'; import { EditItemTemplatePageComponent } from './edit-item-template-page/edit-item-template-page.component'; import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component'; -import { EditItemPageModule } from '../item-page/edit-item-page/edit-item-page.module'; -import { CollectionItemMapperComponent } from './collection-item-mapper/collection-item-mapper.component'; -import { SearchService } from '../core/shared/search/search.service'; -import { StatisticsModule } from '../statistics/statistics.module'; -import { CollectionFormModule } from './collection-form/collection-form.module'; import { ThemedCollectionPageComponent } from './themed-collection-page.component'; -import { ComcolModule } from '../shared/comcol/comcol.module'; -import { DsoSharedModule } from '../dso-shared/dso-shared.module'; -import { DsoPageModule } from '../shared/dso-page/dso-page.module'; @NgModule({ imports: [ diff --git a/src/app/collection-page/collection-page.resolver.spec.ts b/src/app/collection-page/collection-page.resolver.spec.ts index f51c187e59..32d8952ff7 100644 --- a/src/app/collection-page/collection-page.resolver.spec.ts +++ b/src/app/collection-page/collection-page.resolver.spec.ts @@ -1,6 +1,7 @@ import { first } from 'rxjs/operators'; -import { CollectionPageResolver } from './collection-page.resolver'; + import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { CollectionPageResolver } from './collection-page.resolver'; describe('CollectionPageResolver', () => { describe('resolve', () => { diff --git a/src/app/collection-page/collection-page.resolver.ts b/src/app/collection-page/collection-page.resolver.ts index 9d971b1d0c..303e8c2c74 100644 --- a/src/app/collection-page/collection-page.resolver.ts +++ b/src/app/collection-page/collection-page.resolver.ts @@ -1,13 +1,21 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { Collection } from '../core/shared/collection.model'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; +import { Store } from '@ngrx/store'; import { Observable } from 'rxjs'; + import { CollectionDataService } from '../core/data/collection-data.service'; import { RemoteData } from '../core/data/remote-data'; -import { followLink, FollowLinkConfig } from '../shared/utils/follow-link-config.model'; -import { getFirstCompletedRemoteData } from '../core/shared/operators'; -import { Store } from '@ngrx/store'; import { ResolvedAction } from '../core/resolving/resolver.actions'; +import { Collection } from '../core/shared/collection.model'; +import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { + followLink, + FollowLinkConfig, +} from '../shared/utils/follow-link-config.model'; /** * The self links defined in this list are expected to be requested somewhere in the near future diff --git a/src/app/collection-page/create-collection-page/create-collection-page.component.spec.ts b/src/app/collection-page/create-collection-page/create-collection-page.component.spec.ts index 5e5b3092b7..ab54e2bb85 100644 --- a/src/app/collection-page/create-collection-page/create-collection-page.component.spec.ts +++ b/src/app/collection-page/create-collection-page/create-collection-page.component.spec.ts @@ -1,20 +1,25 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Router } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RouteService } from '../../core/services/route.service'; -import { SharedModule } from '../../shared/shared.module'; -import { CollectionDataService } from '../../core/data/collection-data.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { CommunityDataService } from '../../core/data/community-data.service'; -import { CreateCollectionPageComponent } from './create-collection-page.component'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { RequestService } from '../../core/data/request.service'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { CollectionDataService } from '../../core/data/collection-data.service'; +import { CommunityDataService } from '../../core/data/community-data.service'; +import { RequestService } from '../../core/data/request.service'; +import { RouteService } from '../../core/services/route.service'; import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { SharedModule } from '../../shared/shared.module'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { CreateCollectionPageComponent } from './create-collection-page.component'; describe('CreateCollectionPageComponent', () => { let comp: CreateCollectionPageComponent; diff --git a/src/app/collection-page/create-collection-page/create-collection-page.component.ts b/src/app/collection-page/create-collection-page/create-collection-page.component.ts index 1a6698d196..cd65affb10 100644 --- a/src/app/collection-page/create-collection-page/create-collection-page.component.ts +++ b/src/app/collection-page/create-collection-page/create-collection-page.component.ts @@ -1,14 +1,15 @@ import { Component } from '@angular/core'; -import { CommunityDataService } from '../../core/data/community-data.service'; -import { RouteService } from '../../core/services/route.service'; import { Router } from '@angular/router'; -import { CreateComColPageComponent } from '../../shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component'; -import { Collection } from '../../core/shared/collection.model'; -import { CollectionDataService } from '../../core/data/collection-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; -import { RequestService } from '../../core/data/request.service'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { CollectionDataService } from '../../core/data/collection-data.service'; +import { CommunityDataService } from '../../core/data/community-data.service'; +import { RequestService } from '../../core/data/request.service'; +import { RouteService } from '../../core/services/route.service'; +import { Collection } from '../../core/shared/collection.model'; +import { CreateComColPageComponent } from '../../shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; /** * Component that represents the page where a user can create a new Collection diff --git a/src/app/collection-page/create-collection-page/create-collection-page.guard.spec.ts b/src/app/collection-page/create-collection-page/create-collection-page.guard.spec.ts index 56d2bb18f4..b476f38889 100644 --- a/src/app/collection-page/create-collection-page/create-collection-page.guard.spec.ts +++ b/src/app/collection-page/create-collection-page/create-collection-page.guard.spec.ts @@ -1,8 +1,12 @@ -import { CreateCollectionPageGuard } from './create-collection-page.guard'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { Community } from '../../core/shared/community.model'; import { first } from 'rxjs/operators'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; + +import { Community } from '../../core/shared/community.model'; +import { RouterMock } from '../../shared/mocks/router.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { CreateCollectionPageGuard } from './create-collection-page.guard'; describe('CreateCollectionPageGuard', () => { describe('canActivate', () => { diff --git a/src/app/collection-page/create-collection-page/create-collection-page.guard.ts b/src/app/collection-page/create-collection-page/create-collection-page.guard.ts index 28c76d2b60..3e26f51b11 100644 --- a/src/app/collection-page/create-collection-page/create-collection-page.guard.ts +++ b/src/app/collection-page/create-collection-page/create-collection-page.guard.ts @@ -1,13 +1,27 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + tap, +} from 'rxjs/operators'; -import { hasNoValue, hasValue } from '../../shared/empty.util'; import { CommunityDataService } from '../../core/data/community-data.service'; import { RemoteData } from '../../core/data/remote-data'; import { Community } from '../../core/shared/community.model'; -import { map, tap } from 'rxjs/operators'; -import { Observable, of as observableOf } from 'rxjs'; import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { + hasNoValue, + hasValue, +} from '../../shared/empty.util'; /** * Prevent creation of a collection without a parent community provided diff --git a/src/app/collection-page/delete-collection-page/delete-collection-page.component.spec.ts b/src/app/collection-page/delete-collection-page/delete-collection-page.component.spec.ts index b712f6e1a8..986faafedb 100644 --- a/src/app/collection-page/delete-collection-page/delete-collection-page.component.spec.ts +++ b/src/app/collection-page/delete-collection-page/delete-collection-page.component.spec.ts @@ -1,17 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { SharedModule } from '../../shared/shared.module'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { DeleteCollectionPageComponent } from './delete-collection-page.component'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { CollectionDataService } from '../../core/data/collection-data.service'; import { RequestService } from '../../core/data/request.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { SharedModule } from '../../shared/shared.module'; +import { DeleteCollectionPageComponent } from './delete-collection-page.component'; describe('DeleteCollectionPageComponent', () => { let comp: DeleteCollectionPageComponent; diff --git a/src/app/collection-page/delete-collection-page/delete-collection-page.component.ts b/src/app/collection-page/delete-collection-page/delete-collection-page.component.ts index cbdc5b0422..87b21d3432 100644 --- a/src/app/collection-page/delete-collection-page/delete-collection-page.component.ts +++ b/src/app/collection-page/delete-collection-page/delete-collection-page.component.ts @@ -1,11 +1,15 @@ import { Component } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { DeleteComColPageComponent } from '../../shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { CollectionDataService } from '../../core/data/collection-data.service'; import { Collection } from '../../core/shared/collection.model'; -import { TranslateService } from '@ngx-translate/core'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { DeleteComColPageComponent } from '../../shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; /** * Component that represents the page where a user can delete an existing Collection diff --git a/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.spec.ts index 2453fe8869..51171b97f0 100644 --- a/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.spec.ts @@ -1,4 +1,7 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { CollectionAccessControlComponent } from './collection-access-control.component'; diff --git a/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.ts b/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.ts index 7b824cc9b8..490a8d13ce 100644 --- a/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.ts +++ b/src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.ts @@ -1,9 +1,13 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + import { RemoteData } from '../../../core/data/remote-data'; import { Community } from '../../../core/shared/community.model'; -import { ActivatedRoute } from '@angular/router'; -import { map } from 'rxjs/operators'; import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; @Component({ diff --git a/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.spec.ts index 1b0bf8d2db..95d8b0ba04 100644 --- a/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.spec.ts @@ -1,15 +1,21 @@ import { CommonModule } from '@angular/common'; -import { ChangeDetectorRef, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; - import { cold } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { CollectionAuthorizationsComponent } from './collection-authorizations.component'; import { Collection } from '../../../core/shared/collection.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { CollectionAuthorizationsComponent } from './collection-authorizations.component'; describe('CollectionAuthorizationsComponent', () => { let comp: CollectionAuthorizationsComponent; diff --git a/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.ts b/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.ts index 926ff3ca15..ad8ccbd690 100644 --- a/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.ts +++ b/src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.ts @@ -1,8 +1,13 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; - import { Observable } from 'rxjs'; -import { first, map } from 'rxjs/operators'; +import { + first, + map, +} from 'rxjs/operators'; import { RemoteData } from '../../../core/data/remote-data'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; diff --git a/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.spec.ts index ffe7bbd2f2..b7288b9c09 100644 --- a/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.spec.ts @@ -1,12 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; -import { CollectionCurateComponent } from './collection-curate.component'; -import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; -import { Collection } from '../../../core/shared/collection.model'; +import { + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { CollectionCurateComponent } from './collection-curate.component'; describe('CollectionCurateComponent', () => { let comp: CollectionCurateComponent; diff --git a/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.ts b/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.ts index 93bb78b85c..ea2f0265fa 100644 --- a/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.ts +++ b/src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.ts @@ -1,9 +1,14 @@ import { Component } from '@angular/core'; -import { filter, map, take } from 'rxjs/operators'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Observable } from 'rxjs'; import { ActivatedRoute } from '@angular/router'; +import { Observable } from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../../core/data/remote-data'; import { Collection } from '../../../core/shared/collection.model'; import { hasValue } from '../../../shared/empty.util'; diff --git a/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.spec.ts index 1050330b84..09dda391ea 100644 --- a/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.spec.ts @@ -1,20 +1,33 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { SharedModule } from '../../../shared/shared.module'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; -import { of as observableOf } from 'rxjs'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { CollectionMetadataComponent } from './collection-metadata.component'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { Item } from '../../../core/shared/item.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + NavigationEnd, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { CollectionDataService } from '../../../core/data/collection-data.service'; import { ItemTemplateDataService } from '../../../core/data/item-template-data.service'; -import { Collection } from '../../../core/shared/collection.model'; import { RequestService } from '../../../core/data/request.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { Collection } from '../../../core/shared/collection.model'; +import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { SharedModule } from '../../../shared/shared.module'; import { getCollectionItemTemplateRoute } from '../../collection-page-routing-paths'; +import { CollectionMetadataComponent } from './collection-metadata.component'; describe('CollectionMetadataComponent', () => { let comp: CollectionMetadataComponent; diff --git a/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.ts b/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.ts index 0dc4e17a39..d71732840a 100644 --- a/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.ts +++ b/src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.ts @@ -1,20 +1,39 @@ -import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; -import { ComcolMetadataComponent } from '../../../shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component'; -import { Collection } from '../../../core/shared/collection.model'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { ActivatedRoute, NavigationEnd, Router, Scroll } from '@angular/router'; -import { ItemTemplateDataService } from '../../../core/data/item-template-data.service'; -import { combineLatest as combineLatestObservable, Observable } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Item } from '../../../core/shared/item.model'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { map, switchMap } from 'rxjs/operators'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + ChangeDetectorRef, + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + NavigationEnd, + Router, + Scroll, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest as combineLatestObservable, + Observable, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { ItemTemplateDataService } from '../../../core/data/item-template-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; import { RequestService } from '../../../core/data/request.service'; -import { getCollectionItemTemplateRoute } from '../../collection-page-routing-paths'; +import { Collection } from '../../../core/shared/collection.model'; +import { Item } from '../../../core/shared/item.model'; import { NoContent } from '../../../core/shared/NoContent.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { ComcolMetadataComponent } from '../../../shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component'; import { hasValue } from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { getCollectionItemTemplateRoute } from '../../collection-page-routing-paths'; /** * Component for editing a collection's metadata diff --git a/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.spec.ts index 77c3a2fd1f..21a252b4cf 100644 --- a/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.spec.ts @@ -1,22 +1,32 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute } from '@angular/router'; -import { of as observableOf } from 'rxjs'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { CollectionRolesComponent } from './collection-roles.component'; -import { Collection } from '../../../core/shared/collection.model'; -import { SharedModule } from '../../../shared/shared.module'; -import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { RequestService } from '../../../core/data/request.service'; -import { RouterTestingModule } from '@angular/router/testing'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { ComcolModule } from '../../../shared/comcol/comcol.module'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { RequestService } from '../../../core/data/request.service'; +import { GroupDataService } from '../../../core/eperson/group-data.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { ComcolModule } from '../../../shared/comcol/comcol.module'; import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { SharedModule } from '../../../shared/shared.module'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { CollectionRolesComponent } from './collection-roles.component'; describe('CollectionRolesComponent', () => { diff --git a/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.ts b/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.ts index 0177cc3a38..586a8fa8a6 100644 --- a/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.ts +++ b/src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.ts @@ -1,11 +1,21 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; -import { first, map } from 'rxjs/operators'; +import { + first, + map, +} from 'rxjs/operators'; + import { RemoteData } from '../../../core/data/remote-data'; import { Collection } from '../../../core/shared/collection.model'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../../../core/shared/operators'; import { HALLink } from '../../../core/shared/hal-link.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; import { hasValue } from '../../../shared/empty.util'; /** diff --git a/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts index 4ac8e184db..ea45690a4b 100644 --- a/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts @@ -1,27 +1,32 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ContentSource } from '../../../../core/shared/content-source.model'; -import { Collection } from '../../../../core/shared/collection.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { CollectionDataService } from '../../../../core/data/collection-data.service'; -import { RequestService } from '../../../../core/data/request.service'; +import { HttpClient } from '@angular/common/http'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { CollectionDataService } from '../../../../core/data/collection-data.service'; import { ProcessDataService } from '../../../../core/data/processes/process-data.service'; import { ScriptDataService } from '../../../../core/data/processes/script-data.service'; -import { HttpClient } from '@angular/common/http'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; -import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; -import { Process } from '../../../../process-page/processes/process.model'; -import { of as observableOf } from 'rxjs'; -import { CollectionSourceControlsComponent } from './collection-source-controls.component'; +import { RequestService } from '../../../../core/data/request.service'; import { Bitstream } from '../../../../core/shared/bitstream.model'; -import { getTestScheduler } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; -import { By } from '@angular/platform-browser'; -import { VarDirective } from '../../../../shared/utils/var.directive'; +import { Collection } from '../../../../core/shared/collection.model'; +import { ContentSource } from '../../../../core/shared/content-source.model'; import { ContentSourceSetSerializer } from '../../../../core/shared/content-source-set-serializer'; +import { Process } from '../../../../process-page/processes/process.model'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; +import { VarDirective } from '../../../../shared/utils/var.directive'; +import { CollectionSourceControlsComponent } from './collection-source-controls.component'; describe('CollectionSourceControlsComponent', () => { let comp: CollectionSourceControlsComponent; diff --git a/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.ts b/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.ts index 4ba1823a50..95c1eb765d 100644 --- a/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.ts +++ b/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.ts @@ -1,26 +1,43 @@ -import { Component, Input, OnDestroy } from '@angular/core'; -import { ScriptDataService } from '../../../../core/data/processes/script-data.service'; -import { ContentSource } from '../../../../core/shared/content-source.model'; +import { HttpClient } from '@angular/common/http'; +import { + Component, + Input, + OnDestroy, +} from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { + filter, + map, + switchMap, + tap, +} from 'rxjs/operators'; + +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { CollectionDataService } from '../../../../core/data/collection-data.service'; import { ProcessDataService } from '../../../../core/data/processes/process-data.service'; +import { ScriptDataService } from '../../../../core/data/processes/script-data.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { Collection } from '../../../../core/shared/collection.model'; +import { ContentSource } from '../../../../core/shared/content-source.model'; +import { ContentSourceSetSerializer } from '../../../../core/shared/content-source-set-serializer'; import { getAllCompletedRemoteData, getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, } from '../../../../core/shared/operators'; -import { filter, map, switchMap, tap } from 'rxjs/operators'; -import { hasValue, hasValueOperator } from '../../../../shared/empty.util'; -import { ProcessStatus } from '../../../../process-page/processes/process-status.model'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { RequestService } from '../../../../core/data/request.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { Collection } from '../../../../core/shared/collection.model'; -import { CollectionDataService } from '../../../../core/data/collection-data.service'; import { Process } from '../../../../process-page/processes/process.model'; -import { TranslateService } from '@ngx-translate/core'; -import { HttpClient } from '@angular/common/http'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; -import { ContentSourceSetSerializer } from '../../../../core/shared/content-source-set-serializer'; +import { ProcessStatus } from '../../../../process-page/processes/process-status.model'; +import { + hasValue, + hasValueOperator, +} from '../../../../shared/empty.util'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; /** * Component that contains the controls to run, reset and test the harvest diff --git a/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.spec.ts index f94bd90727..fb00b3243b 100644 --- a/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.spec.ts @@ -1,25 +1,48 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute, Router } from '@angular/router'; -import { of as observableOf } from 'rxjs'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { CollectionSourceComponent } from './collection-source.component'; -import { ContentSource, ContentSourceHarvestType } from '../../../core/shared/content-source.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + DynamicFormControlModel, + DynamicFormService, +} from '@ng-dynamic-forms/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { FieldUpdate } from '../../../core/data/object-updates/field-update.model'; import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; -import { INotification, Notification } from '../../../shared/notifications/models/notification.model'; +import { RequestService } from '../../../core/data/request.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { + ContentSource, + ContentSourceHarvestType, +} from '../../../core/shared/content-source.model'; +import { hasValue } from '../../../shared/empty.util'; +import { + INotification, + Notification, +} from '../../../shared/notifications/models/notification.model'; import { NotificationType } from '../../../shared/notifications/models/notification-type'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { DynamicFormControlModel, DynamicFormService } from '@ng-dynamic-forms/core'; -import { hasValue } from '../../../shared/empty.util'; -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; import { RouterStub } from '../../../shared/testing/router.stub'; -import { By } from '@angular/platform-browser'; -import { Collection } from '../../../core/shared/collection.model'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { RequestService } from '../../../core/data/request.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { FieldUpdate } from '../../../core/data/object-updates/field-update.model'; +import { CollectionSourceComponent } from './collection-source.component'; const infoNotification: INotification = new Notification('id', NotificationType.Info, 'info'); const warningNotification: INotification = new Notification('id', NotificationType.Warning, 'warning'); diff --git a/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.ts b/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.ts index a16f99023e..168ef543e8 100644 --- a/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.ts +++ b/src/app/collection-page/edit-collection-page/collection-source/collection-source.component.ts @@ -1,5 +1,14 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { AbstractTrackableComponent } from '../../../shared/trackable/abstract-trackable.component'; +import { Location } from '@angular/common'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { DynamicFormControlModel, DynamicFormGroupModel, @@ -10,27 +19,44 @@ import { DynamicRadioGroupModel, DynamicSelectModel, } from '@ng-dynamic-forms/core'; -import { Location } from '@angular/common'; import { TranslateService } from '@ngx-translate/core'; -import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { UntypedFormGroup } from '@angular/forms'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { ContentSource, ContentSourceHarvestType } from '../../../core/shared/content-source.model'; -import { Observable, Subscription } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Collection } from '../../../core/shared/collection.model'; -import { first, map, switchMap, take } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; import cloneDeep from 'lodash/cloneDeep'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { getFirstSucceededRemoteData, getFirstCompletedRemoteData } from '../../../core/shared/operators'; -import { MetadataConfig } from '../../../core/shared/metadata-config.model'; -import { INotification } from '../../../shared/notifications/models/notification.model'; -import { RequestService } from '../../../core/data/request.service'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { + first, + map, + switchMap, + take, +} from 'rxjs/operators'; + import { environment } from '../../../../environments/environment'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; import { FieldUpdate } from '../../../core/data/object-updates/field-update.model'; import { FieldUpdates } from '../../../core/data/object-updates/field-updates.model'; +import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { + ContentSource, + ContentSourceHarvestType, +} from '../../../core/shared/content-source.model'; +import { MetadataConfig } from '../../../core/shared/metadata-config.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, +} from '../../../core/shared/operators'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; +import { INotification } from '../../../shared/notifications/models/notification.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AbstractTrackableComponent } from '../../../shared/trackable/abstract-trackable.component'; /** * Component for managing the content source of the collection diff --git a/src/app/collection-page/edit-collection-page/edit-collection-page.component.spec.ts b/src/app/collection-page/edit-collection-page/edit-collection-page.component.spec.ts index ed1fa413bd..f3d51f3f61 100644 --- a/src/app/collection-page/edit-collection-page/edit-collection-page.component.spec.ts +++ b/src/app/collection-page/edit-collection-page/edit-collection-page.component.spec.ts @@ -1,14 +1,19 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { EditCollectionPageComponent } from './edit-collection-page.component'; -import { SharedModule } from '../../shared/shared.module'; -import { CollectionDataService } from '../../core/data/collection-data.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; +import { CollectionDataService } from '../../core/data/collection-data.service'; +import { SharedModule } from '../../shared/shared.module'; +import { EditCollectionPageComponent } from './edit-collection-page.component'; + describe('EditCollectionPageComponent', () => { let comp: EditCollectionPageComponent; let fixture: ComponentFixture; diff --git a/src/app/collection-page/edit-collection-page/edit-collection-page.component.ts b/src/app/collection-page/edit-collection-page/edit-collection-page.component.ts index 02c300321c..ca0a98be72 100644 --- a/src/app/collection-page/edit-collection-page/edit-collection-page.component.ts +++ b/src/app/collection-page/edit-collection-page/edit-collection-page.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { EditComColPageComponent } from '../../shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; + import { Collection } from '../../core/shared/collection.model'; +import { EditComColPageComponent } from '../../shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component'; import { getCollectionPageRoute } from '../collection-page-routing-paths'; /** diff --git a/src/app/collection-page/edit-collection-page/edit-collection-page.module.ts b/src/app/collection-page/edit-collection-page/edit-collection-page.module.ts index d1cd21af54..e3791011b1 100644 --- a/src/app/collection-page/edit-collection-page/edit-collection-page.module.ts +++ b/src/app/collection-page/edit-collection-page/edit-collection-page.module.ts @@ -1,22 +1,21 @@ -import { NgModule } from '@angular/core'; -import { EditCollectionPageComponent } from './edit-collection-page.component'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { AccessControlFormModule } from '../../shared/access-control-form-container/access-control-form.module'; +import { ComcolModule } from '../../shared/comcol/comcol.module'; +import { FormModule } from '../../shared/form/form.module'; +import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; import { SharedModule } from '../../shared/shared.module'; -import { EditCollectionPageRoutingModule } from './edit-collection-page.routing.module'; +import { CollectionFormModule } from '../collection-form/collection-form.module'; +import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component'; +import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component'; +import { CollectionCurateComponent } from './collection-curate/collection-curate.component'; import { CollectionMetadataComponent } from './collection-metadata/collection-metadata.component'; import { CollectionRolesComponent } from './collection-roles/collection-roles.component'; -import { CollectionCurateComponent } from './collection-curate/collection-curate.component'; import { CollectionSourceComponent } from './collection-source/collection-source.component'; -import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component'; -import { CollectionFormModule } from '../collection-form/collection-form.module'; -import { - CollectionSourceControlsComponent, -} from './collection-source/collection-source-controls/collection-source-controls.component'; -import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; -import { FormModule } from '../../shared/form/form.module'; -import { ComcolModule } from '../../shared/comcol/comcol.module'; -import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component'; -import { AccessControlFormModule } from '../../shared/access-control-form-container/access-control-form.module'; +import { CollectionSourceControlsComponent } from './collection-source/collection-source-controls/collection-source-controls.component'; +import { EditCollectionPageComponent } from './edit-collection-page.component'; +import { EditCollectionPageRoutingModule } from './edit-collection-page.routing.module'; /** * Module that contains all components related to the Edit Collection page administrator functionality diff --git a/src/app/collection-page/edit-collection-page/edit-collection-page.routing.module.ts b/src/app/collection-page/edit-collection-page/edit-collection-page.routing.module.ts index d7e06c99aa..3a5aae54ed 100644 --- a/src/app/collection-page/edit-collection-page/edit-collection-page.routing.module.ts +++ b/src/app/collection-page/edit-collection-page/edit-collection-page.routing.module.ts @@ -1,19 +1,20 @@ -import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; + +import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { CollectionAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard'; +import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component'; +import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component'; +import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; +import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; import { CollectionItemMapperComponent } from '../collection-item-mapper/collection-item-mapper.component'; -import { EditCollectionPageComponent } from './edit-collection-page.component'; +import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component'; +import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component'; +import { CollectionCurateComponent } from './collection-curate/collection-curate.component'; import { CollectionMetadataComponent } from './collection-metadata/collection-metadata.component'; import { CollectionRolesComponent } from './collection-roles/collection-roles.component'; import { CollectionSourceComponent } from './collection-source/collection-source.component'; -import { CollectionCurateComponent } from './collection-curate/collection-curate.component'; -import { CollectionAuthorizationsComponent } from './collection-authorizations/collection-authorizations.component'; -import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; -import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component'; -import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; -import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component'; -import { CollectionAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard'; -import { CollectionAccessControlComponent } from './collection-access-control/collection-access-control.component'; +import { EditCollectionPageComponent } from './edit-collection-page.component'; /** * Routing module that handles the routing for the Edit Collection page administrator functionality diff --git a/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.spec.ts b/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.spec.ts index 676b984935..068f799681 100644 --- a/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.spec.ts +++ b/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.spec.ts @@ -1,16 +1,24 @@ -import { EditItemTemplatePageComponent } from './edit-item-template-page.component'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { SharedModule } from '../../shared/shared.module'; -import { RouterTestingModule } from '@angular/router/testing'; import { CommonModule } from '@angular/common'; -import { ItemTemplateDataService } from '../../core/data/item-template-data.service'; -import { ActivatedRoute } from '@angular/router'; -import { of as observableOf } from 'rxjs'; -import { Collection } from '../../core/shared/collection.model'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ItemTemplateDataService } from '../../core/data/item-template-data.service'; +import { Collection } from '../../core/shared/collection.model'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { SharedModule } from '../../shared/shared.module'; import { getCollectionEditRoute } from '../collection-page-routing-paths'; +import { EditItemTemplatePageComponent } from './edit-item-template-page.component'; describe('EditItemTemplatePageComponent', () => { let comp: EditItemTemplatePageComponent; diff --git a/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts b/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts index 6425996fd2..716a866e5e 100644 --- a/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts +++ b/src/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts @@ -1,15 +1,23 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; +import { + first, + map, + switchMap, +} from 'rxjs/operators'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ItemTemplateDataService } from '../../core/data/item-template-data.service'; import { RemoteData } from '../../core/data/remote-data'; import { Collection } from '../../core/shared/collection.model'; -import { ActivatedRoute } from '@angular/router'; -import { first, map, switchMap } from 'rxjs/operators'; -import { ItemTemplateDataService } from '../../core/data/item-template-data.service'; -import { getCollectionEditRoute } from '../collection-page-routing-paths'; import { Item } from '../../core/shared/item.model'; import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; import { AlertType } from '../../shared/alert/aletr-type'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { getCollectionEditRoute } from '../collection-page-routing-paths'; @Component({ selector: 'ds-edit-item-template-page', diff --git a/src/app/collection-page/edit-item-template-page/item-template-page.resolver.spec.ts b/src/app/collection-page/edit-item-template-page/item-template-page.resolver.spec.ts index 1b1a67644e..ced1ca9323 100644 --- a/src/app/collection-page/edit-item-template-page/item-template-page.resolver.spec.ts +++ b/src/app/collection-page/edit-item-template-page/item-template-page.resolver.spec.ts @@ -1,9 +1,9 @@ import { first } from 'rxjs/operators'; -import { ItemTemplatePageResolver } from './item-template-page.resolver'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { ItemTemplatePageResolver } from './item-template-page.resolver'; describe('ItemTemplatePageResolver', () => { describe('resolve', () => { diff --git a/src/app/collection-page/edit-item-template-page/item-template-page.resolver.ts b/src/app/collection-page/edit-item-template-page/item-template-page.resolver.ts index 586617c44c..08553d9e93 100644 --- a/src/app/collection-page/edit-item-template-page/item-template-page.resolver.ts +++ b/src/app/collection-page/edit-item-template-page/item-template-page.resolver.ts @@ -1,12 +1,17 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; +import { Observable } from 'rxjs'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ItemTemplateDataService } from '../../core/data/item-template-data.service'; import { RemoteData } from '../../core/data/remote-data'; import { Item } from '../../core/shared/item.model'; -import { ItemTemplateDataService } from '../../core/data/item-template-data.service'; -import { Observable } from 'rxjs'; -import { followLink } from '../../shared/utils/follow-link-config.model'; import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { followLink } from '../../shared/utils/follow-link-config.model'; /** * This class represents a resolver that requests a specific collection's item template before the route is activated diff --git a/src/app/collection-page/edit-item-template-page/themed-edit-item-template-page.component.ts b/src/app/collection-page/edit-item-template-page/themed-edit-item-template-page.component.ts index b53f4e6c45..3cf4eafdc7 100644 --- a/src/app/collection-page/edit-item-template-page/themed-edit-item-template-page.component.ts +++ b/src/app/collection-page/edit-item-template-page/themed-edit-item-template-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { EditItemTemplatePageComponent } from './edit-item-template-page.component'; diff --git a/src/app/collection-page/themed-collection-page.component.ts b/src/app/collection-page/themed-collection-page.component.ts index 2faf418423..ff4e246e7d 100644 --- a/src/app/collection-page/themed-collection-page.component.ts +++ b/src/app/collection-page/themed-collection-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { CollectionPageComponent } from './collection-page.component'; diff --git a/src/app/community-list-page/community-list-datasource.ts b/src/app/community-list-page/community-list-datasource.ts index e2a2bb748f..4790be1fba 100644 --- a/src/app/community-list-page/community-list-datasource.ts +++ b/src/app/community-list-page/community-list-datasource.ts @@ -1,10 +1,18 @@ +import { + CollectionViewer, + DataSource, +} from '@angular/cdk/collections'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { finalize } from 'rxjs/operators'; + +import { FindListOptions } from '../core/data/find-list-options.model'; import { hasValue } from '../shared/empty.util'; import { CommunityListService} from './community-list-service'; -import { CollectionViewer, DataSource } from '@angular/cdk/collections'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { finalize } from 'rxjs/operators'; import { FlatNode } from './flat-node.model'; -import { FindListOptions } from '../core/data/find-list-options.model'; /** * DataSource object needed by a CDK Tree to render its nodes. diff --git a/src/app/community-list-page/community-list-page.component.spec.ts b/src/app/community-list-page/community-list-page.component.spec.ts index c958a0d63a..60933a0677 100644 --- a/src/app/community-list-page/community-list-page.component.spec.ts +++ b/src/app/community-list-page/community-list-page.component.spec.ts @@ -1,9 +1,17 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { CommunityListPageComponent } from './community-list-page.component'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; +import { CommunityListPageComponent } from './community-list-page.component'; describe('CommunityListPageComponent', () => { let component: CommunityListPageComponent; diff --git a/src/app/community-list-page/community-list-page.module.ts b/src/app/community-list-page/community-list-page.module.ts index b4d0e68f48..330e3f0346 100644 --- a/src/app/community-list-page/community-list-page.module.ts +++ b/src/app/community-list-page/community-list-page.module.ts @@ -1,12 +1,13 @@ +import { CdkTreeModule } from '@angular/cdk/tree'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; +import { CommunityListComponent } from './community-list/community-list.component'; +import { ThemedCommunityListComponent } from './community-list/themed-community-list.component'; import { CommunityListPageComponent } from './community-list-page.component'; import { CommunityListPageRoutingModule } from './community-list-page.routing.module'; -import { CommunityListComponent } from './community-list/community-list.component'; import { ThemedCommunityListPageComponent } from './themed-community-list-page.component'; -import { ThemedCommunityListComponent } from './community-list/themed-community-list.component'; -import { CdkTreeModule } from '@angular/cdk/tree'; const DECLARATIONS = [ diff --git a/src/app/community-list-page/community-list-page.routing.module.ts b/src/app/community-list-page/community-list-page.routing.module.ts index b1d9841c97..98d305c312 100644 --- a/src/app/community-list-page/community-list-page.routing.module.ts +++ b/src/app/community-list-page/community-list-page.routing.module.ts @@ -1,10 +1,10 @@ +import { CdkTreeModule } from '@angular/cdk/tree'; import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { CdkTreeModule } from '@angular/cdk/tree'; +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { CommunityListService } from './community-list-service'; import { ThemedCommunityListPageComponent } from './themed-community-list-page.component'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; /** * RouterModule to help navigate to the page with the community list tree diff --git a/src/app/community-list-page/community-list-service.spec.ts b/src/app/community-list-page/community-list-service.spec.ts index 988dca9255..28d3cfe1a9 100644 --- a/src/app/community-list-page/community-list-service.spec.ts +++ b/src/app/community-list-page/community-list-service.spec.ts @@ -1,23 +1,36 @@ -import { inject, TestBed } from '@angular/core/testing'; +import { + inject, + TestBed, +} from '@angular/core/testing'; import { Store } from '@ngrx/store'; import { of as observableOf } from 'rxjs'; import { take } from 'rxjs/operators'; -import { AppState } from '../app.reducer'; -import { SortDirection, SortOptions } from '../core/cache/models/sort-options.model'; -import { buildPaginatedList } from '../core/data/paginated-list.model'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { StoreMock } from '../shared/testing/store.mock'; -import { CommunityListService, toFlatNode } from './community-list-service'; -import { CollectionDataService } from '../core/data/collection-data.service'; -import { CommunityDataService } from '../core/data/community-data.service'; -import { Community } from '../core/shared/community.model'; -import { Collection } from '../core/shared/collection.model'; -import { PageInfo } from '../core/shared/page-info.model'; -import { FlatNode } from './flat-node.model'; -import { FindListOptions } from '../core/data/find-list-options.model'; import { APP_CONFIG } from 'src/config/app-config.interface'; import { environment } from 'src/environments/environment.test'; +import { AppState } from '../app.reducer'; +import { + SortDirection, + SortOptions, +} from '../core/cache/models/sort-options.model'; +import { CollectionDataService } from '../core/data/collection-data.service'; +import { CommunityDataService } from '../core/data/community-data.service'; +import { FindListOptions } from '../core/data/find-list-options.model'; +import { buildPaginatedList } from '../core/data/paginated-list.model'; +import { Collection } from '../core/shared/collection.model'; +import { Community } from '../core/shared/community.model'; +import { PageInfo } from '../core/shared/page-info.model'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../shared/remote-data.utils'; +import { StoreMock } from '../shared/testing/store.mock'; +import { + CommunityListService, + toFlatNode, +} from './community-list-service'; +import { FlatNode } from './flat-node.model'; + describe('CommunityListService', () => { let store: StoreMock; const standardElementsPerPage = 2; diff --git a/src/app/community-list-page/community-list-service.ts b/src/app/community-list-page/community-list-service.ts index 431bb87ffb..c7ff77e680 100644 --- a/src/app/community-list-page/community-list-service.ts +++ b/src/app/community-list-page/community-list-service.ts @@ -1,29 +1,54 @@ /* eslint-disable max-classes-per-file */ -import { Inject, Injectable } from '@angular/core'; -import { createSelector, Store } from '@ngrx/store'; - -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { filter, map, switchMap } from 'rxjs/operators'; +import { + Inject, + Injectable, +} from '@angular/core'; +import { + createSelector, + Store, +} from '@ngrx/store'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + filter, + map, + switchMap, +} from 'rxjs/operators'; +import { + APP_CONFIG, + AppConfig, +} from 'src/config/app-config.interface'; import { AppState } from '../app.reducer'; -import { CommunityDataService } from '../core/data/community-data.service'; -import { Community } from '../core/shared/community.model'; -import { Collection } from '../core/shared/collection.model'; -import { PageInfo } from '../core/shared/page-info.model'; -import { hasValue, isNotEmpty } from '../shared/empty.util'; -import { RemoteData } from '../core/data/remote-data'; -import { buildPaginatedList, PaginatedList } from '../core/data/paginated-list.model'; +import { getCollectionPageRoute } from '../collection-page/collection-page-routing-paths'; +import { getCommunityPageRoute } from '../community-page/community-page-routing-paths'; import { CollectionDataService } from '../core/data/collection-data.service'; +import { CommunityDataService } from '../core/data/community-data.service'; +import { FindListOptions } from '../core/data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../core/data/paginated-list.model'; +import { RemoteData } from '../core/data/remote-data'; +import { Collection } from '../core/shared/collection.model'; +import { Community } from '../core/shared/community.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, +} from '../core/shared/operators'; +import { PageInfo } from '../core/shared/page-info.model'; +import { + hasValue, + isNotEmpty, +} from '../shared/empty.util'; +import { followLink } from '../shared/utils/follow-link-config.model'; import { CommunityListSaveAction } from './community-list.actions'; import { CommunityListState } from './community-list.reducer'; -import { getCommunityPageRoute } from '../community-page/community-page-routing-paths'; -import { getCollectionPageRoute } from '../collection-page/collection-page-routing-paths'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteData } from '../core/shared/operators'; -import { followLink } from '../shared/utils/follow-link-config.model'; import { FlatNode } from './flat-node.model'; import { ShowMoreFlatNode } from './show-more-flat-node.model'; -import { FindListOptions } from '../core/data/find-list-options.model'; -import { AppConfig, APP_CONFIG } from 'src/config/app-config.interface'; // Helper method to combine an flatten an array of observables of flatNode arrays export const combineAndFlatten = (obsList: Observable[]): Observable => diff --git a/src/app/community-list-page/community-list.actions.ts b/src/app/community-list-page/community-list.actions.ts index e8f3aed2e8..47c72af9f7 100644 --- a/src/app/community-list-page/community-list.actions.ts +++ b/src/app/community-list-page/community-list.actions.ts @@ -1,4 +1,5 @@ import { Action } from '@ngrx/store'; + import { type } from '../shared/ngrx/type'; import { FlatNode } from './flat-node.model'; diff --git a/src/app/community-list-page/community-list.reducer.spec.ts b/src/app/community-list-page/community-list.reducer.spec.ts index 66c2325834..abbd16d4cd 100644 --- a/src/app/community-list-page/community-list.reducer.spec.ts +++ b/src/app/community-list-page/community-list.reducer.spec.ts @@ -1,11 +1,12 @@ import { of as observableOf } from 'rxjs'; + import { buildPaginatedList } from '../core/data/paginated-list.model'; import { Community } from '../core/shared/community.model'; import { PageInfo } from '../core/shared/page-info.model'; import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { toFlatNode } from './community-list-service'; import { CommunityListSaveAction } from './community-list.actions'; import { CommunityListReducer } from './community-list.reducer'; +import { toFlatNode } from './community-list-service'; describe('communityListReducer', () => { const mockSubcommunities1Page1 = [Object.assign(new Community(), { diff --git a/src/app/community-list-page/community-list.reducer.ts b/src/app/community-list-page/community-list.reducer.ts index 99c8350cf4..7afcabf067 100644 --- a/src/app/community-list-page/community-list.reducer.ts +++ b/src/app/community-list-page/community-list.reducer.ts @@ -1,4 +1,8 @@ -import { CommunityListActions, CommunityListActionTypes, CommunityListSaveAction } from './community-list.actions'; +import { + CommunityListActions, + CommunityListActionTypes, + CommunityListSaveAction, +} from './community-list.actions'; import { FlatNode } from './flat-node.model'; /** diff --git a/src/app/community-list-page/community-list/community-list.component.spec.ts b/src/app/community-list-page/community-list/community-list.component.spec.ts index 65cb1c2ffd..187cf038dc 100644 --- a/src/app/community-list-page/community-list/community-list.component.spec.ts +++ b/src/app/community-list-page/community-list/community-list.component.spec.ts @@ -1,22 +1,39 @@ -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; - -import { CommunityListComponent } from './community-list.component'; -import { CommunityListService, showMoreFlatNode, toFlatNode } from '../community-list-service'; import { CdkTreeModule } from '@angular/cdk/tree'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { Community } from '../../core/shared/community.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { Collection } from '../../core/shared/collection.model'; -import { of as observableOf } from 'rxjs'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { FlatNode } from '../flat-node.model'; import { RouterLinkWithHref } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { Collection } from '../../core/shared/collection.model'; +import { Community } from '../../core/shared/community.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + CommunityListService, + showMoreFlatNode, + toFlatNode, +} from '../community-list-service'; +import { FlatNode } from '../flat-node.model'; +import { CommunityListComponent } from './community-list.component'; describe('CommunityListComponent', () => { let component: CommunityListComponent; diff --git a/src/app/community-list-page/community-list/community-list.component.ts b/src/app/community-list-page/community-list/community-list.component.ts index cb899d98f2..756505159f 100644 --- a/src/app/community-list-page/community-list/community-list.component.ts +++ b/src/app/community-list-page/community-list/community-list.component.ts @@ -1,13 +1,21 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { take } from 'rxjs/operators'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { CommunityListService} from '../community-list-service'; -import { CommunityListDatasource } from '../community-list-datasource'; import { FlatTreeControl } from '@angular/cdk/tree'; -import { isEmpty } from '../../shared/empty.util'; -import { FlatNode } from '../flat-node.model'; -import { FindListOptions } from '../../core/data/find-list-options.model'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { take } from 'rxjs/operators'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { isEmpty } from '../../shared/empty.util'; +import { CommunityListDatasource } from '../community-list-datasource'; +import { CommunityListService} from '../community-list-service'; +import { FlatNode } from '../flat-node.model'; /** * A tree-structured list of nodes representing the communities, their subCommunities and collections. diff --git a/src/app/community-list-page/community-list/themed-community-list.component.ts b/src/app/community-list-page/community-list/themed-community-list.component.ts index 4a986e737c..9e494bdf47 100644 --- a/src/app/community-list-page/community-list/themed-community-list.component.ts +++ b/src/app/community-list-page/community-list/themed-community-list.component.ts @@ -1,6 +1,7 @@ +import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { CommunityListComponent } from './community-list.component'; -import { Component } from '@angular/core'; @Component({ diff --git a/src/app/community-list-page/flat-node.model.ts b/src/app/community-list-page/flat-node.model.ts index 0aabbeb489..125ffc1e59 100644 --- a/src/app/community-list-page/flat-node.model.ts +++ b/src/app/community-list-page/flat-node.model.ts @@ -1,6 +1,7 @@ import { Observable } from 'rxjs'; -import { Community } from '../core/shared/community.model'; + import { Collection } from '../core/shared/collection.model'; +import { Community } from '../core/shared/community.model'; import { ShowMoreFlatNode } from './show-more-flat-node.model'; /** diff --git a/src/app/community-list-page/themed-community-list-page.component.ts b/src/app/community-list-page/themed-community-list-page.component.ts index 20fa97bedd..2b5113bac9 100644 --- a/src/app/community-list-page/themed-community-list-page.component.ts +++ b/src/app/community-list-page/themed-community-list-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { CommunityListPageComponent } from './community-list-page.component'; diff --git a/src/app/community-page/community-form/community-form.component.ts b/src/app/community-page/community-form/community-form.component.ts index 6f8c0891b4..0ac871ebb9 100644 --- a/src/app/community-page/community-form/community-form.component.ts +++ b/src/app/community-page/community-form/community-form.component.ts @@ -1,19 +1,26 @@ -import { Component, Input, OnChanges, SimpleChange, SimpleChanges } from '@angular/core'; +import { + Component, + Input, + OnChanges, + SimpleChange, + SimpleChanges, +} from '@angular/core'; import { DynamicFormControlModel, DynamicFormService, DynamicInputModel, DynamicTextAreaModel, } from '@ng-dynamic-forms/core'; +import { TranslateService } from '@ngx-translate/core'; + +import { environment } from '../../../environments/environment'; +import { AuthService } from '../../core/auth/auth.service'; +import { ObjectCacheService } from '../../core/cache/object-cache.service'; +import { CommunityDataService } from '../../core/data/community-data.service'; +import { RequestService } from '../../core/data/request.service'; import { Community } from '../../core/shared/community.model'; import { ComColFormComponent } from '../../shared/comcol/comcol-forms/comcol-form/comcol-form.component'; -import { TranslateService } from '@ngx-translate/core'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { CommunityDataService } from '../../core/data/community-data.service'; -import { AuthService } from '../../core/auth/auth.service'; -import { RequestService } from '../../core/data/request.service'; -import { ObjectCacheService } from '../../core/cache/object-cache.service'; -import { environment } from '../../../environments/environment'; /** * Form used for creating and editing communities diff --git a/src/app/community-page/community-form/community-form.module.ts b/src/app/community-page/community-form/community-form.module.ts index 03977fbfa0..fb337a7c98 100644 --- a/src/app/community-page/community-form/community-form.module.ts +++ b/src/app/community-page/community-form/community-form.module.ts @@ -1,9 +1,9 @@ import { NgModule } from '@angular/core'; -import { CommunityFormComponent } from './community-form.component'; -import { SharedModule } from '../../shared/shared.module'; import { ComcolModule } from '../../shared/comcol/comcol.module'; import { FormModule } from '../../shared/form/form.module'; +import { SharedModule } from '../../shared/shared.module'; +import { CommunityFormComponent } from './community-form.component'; @NgModule({ imports: [ diff --git a/src/app/community-page/community-page-administrator.guard.ts b/src/app/community-page/community-page-administrator.guard.ts index c065fe8949..4a3816b225 100644 --- a/src/app/community-page/community-page-administrator.guard.ts +++ b/src/app/community-page/community-page-administrator.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Community } from '../core/shared/community.model'; -import { CommunityPageResolver } from './community-page.resolver'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../core/auth/auth.service'; import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; -import { Observable, of as observableOf } from 'rxjs'; import { DsoPageSingleFeatureGuard } from '../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; import { FeatureID } from '../core/data/feature-authorization/feature-id'; -import { AuthService } from '../core/auth/auth.service'; +import { Community } from '../core/shared/community.model'; +import { CommunityPageResolver } from './community-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/community-page/community-page-routing.module.ts b/src/app/community-page/community-page-routing.module.ts index 30393aac05..f5c1e10a6b 100644 --- a/src/app/community-page/community-page-routing.module.ts +++ b/src/app/community-page/community-page-routing.module.ts @@ -1,20 +1,23 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { CommunityPageResolver } from './community-page.resolver'; -import { CreateCommunityPageComponent } from './create-community-page/create-community-page.component'; import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { CreateCommunityPageGuard } from './create-community-page/create-community-page.guard'; -import { DeleteCommunityPageComponent } from './delete-community-page/delete-community-page.component'; import { CommunityBreadcrumbResolver } from '../core/breadcrumbs/community-breadcrumb.resolver'; import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; import { LinkService } from '../core/cache/builders/link.service'; -import { COMMUNITY_EDIT_PATH, COMMUNITY_CREATE_PATH } from './community-page-routing-paths'; -import { CommunityPageAdministratorGuard } from './community-page-administrator.guard'; -import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; -import { ThemedCommunityPageComponent } from './themed-community-page.component'; -import { MenuItemType } from '../shared/menu/menu-item-type.model'; import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; +import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; +import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { CommunityPageResolver } from './community-page.resolver'; +import { CommunityPageAdministratorGuard } from './community-page-administrator.guard'; +import { + COMMUNITY_CREATE_PATH, + COMMUNITY_EDIT_PATH, +} from './community-page-routing-paths'; +import { CreateCommunityPageComponent } from './create-community-page/create-community-page.component'; +import { CreateCommunityPageGuard } from './create-community-page/create-community-page.guard'; +import { DeleteCommunityPageComponent } from './delete-community-page/delete-community-page.component'; +import { ThemedCommunityPageComponent } from './themed-community-page.component'; @NgModule({ imports: [ diff --git a/src/app/community-page/community-page.component.ts b/src/app/community-page/community-page.component.ts index 61948f0634..52ffd2c061 100644 --- a/src/app/community-page/community-page.component.ts +++ b/src/app/community-page/community-page.component.ts @@ -1,25 +1,33 @@ -import { mergeMap, filter, map } from 'rxjs/operators'; -import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - +import { + ChangeDetectionStrategy, + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { CommunityDataService } from '../core/data/community-data.service'; -import { RemoteData } from '../core/data/remote-data'; -import { Bitstream } from '../core/shared/bitstream.model'; +import { + filter, + map, + mergeMap, +} from 'rxjs/operators'; -import { Community } from '../core/shared/community.model'; - -import { MetadataService } from '../core/metadata/metadata.service'; - -import { fadeInOut } from '../shared/animations/fade'; -import { hasValue } from '../shared/empty.util'; -import { getAllSucceededRemoteDataPayload} from '../core/shared/operators'; import { AuthService } from '../core/auth/auth.service'; +import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { CommunityDataService } from '../core/data/community-data.service'; import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../core/data/feature-authorization/feature-id'; -import { getCommunityPageRoute } from './community-page-routing-paths'; +import { RemoteData } from '../core/data/remote-data'; +import { MetadataService } from '../core/metadata/metadata.service'; import { redirectOn4xx } from '../core/shared/authorized.operators'; -import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { Bitstream } from '../core/shared/bitstream.model'; +import { Community } from '../core/shared/community.model'; +import { getAllSucceededRemoteDataPayload} from '../core/shared/operators'; +import { fadeInOut } from '../shared/animations/fade'; +import { hasValue } from '../shared/empty.util'; +import { getCommunityPageRoute } from './community-page-routing-paths'; @Component({ selector: 'ds-community-page', diff --git a/src/app/community-page/community-page.module.ts b/src/app/community-page/community-page.module.ts index 9bc93c4808..8e3d93fe1e 100644 --- a/src/app/community-page/community-page.module.ts +++ b/src/app/community-page/community-page.module.ts @@ -1,25 +1,20 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { ComcolModule } from '../shared/comcol/comcol.module'; +import { DsoPageModule } from '../shared/dso-page/dso-page.module'; import { SharedModule } from '../shared/shared.module'; - -import { CommunityPageComponent } from './community-page.component'; -import { CommunityPageSubCollectionListComponent } from './sub-collection-list/community-page-sub-collection-list.component'; -import { CommunityPageRoutingModule } from './community-page-routing.module'; -import { CommunityPageSubCommunityListComponent } from './sub-community-list/community-page-sub-community-list.component'; -import { CreateCommunityPageComponent } from './create-community-page/create-community-page.component'; -import { DeleteCommunityPageComponent } from './delete-community-page/delete-community-page.component'; import { StatisticsModule } from '../statistics/statistics.module'; import { CommunityFormModule } from './community-form/community-form.module'; +import { CommunityPageComponent } from './community-page.component'; +import { CommunityPageRoutingModule } from './community-page-routing.module'; +import { CreateCommunityPageComponent } from './create-community-page/create-community-page.component'; +import { DeleteCommunityPageComponent } from './delete-community-page/delete-community-page.component'; +import { CommunityPageSubCollectionListComponent } from './sub-collection-list/community-page-sub-collection-list.component'; +import { ThemedCollectionPageSubCollectionListComponent } from './sub-collection-list/themed-community-page-sub-collection-list.component'; +import { CommunityPageSubCommunityListComponent } from './sub-community-list/community-page-sub-community-list.component'; +import { ThemedCommunityPageSubCommunityListComponent } from './sub-community-list/themed-community-page-sub-community-list.component'; import { ThemedCommunityPageComponent } from './themed-community-page.component'; -import { ComcolModule } from '../shared/comcol/comcol.module'; -import { - ThemedCommunityPageSubCommunityListComponent, -} from './sub-community-list/themed-community-page-sub-community-list.component'; -import { - ThemedCollectionPageSubCollectionListComponent, -} from './sub-collection-list/themed-community-page-sub-collection-list.component'; -import { DsoPageModule } from '../shared/dso-page/dso-page.module'; const DECLARATIONS = [CommunityPageComponent, ThemedCommunityPageComponent, diff --git a/src/app/community-page/community-page.resolver.spec.ts b/src/app/community-page/community-page.resolver.spec.ts index d9662717d6..70bb0075e3 100644 --- a/src/app/community-page/community-page.resolver.spec.ts +++ b/src/app/community-page/community-page.resolver.spec.ts @@ -1,6 +1,7 @@ import { first } from 'rxjs/operators'; -import { CommunityPageResolver } from './community-page.resolver'; + import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { CommunityPageResolver } from './community-page.resolver'; describe('CommunityPageResolver', () => { describe('resolve', () => { diff --git a/src/app/community-page/community-page.resolver.ts b/src/app/community-page/community-page.resolver.ts index 23a677b2d2..bb90c4d457 100644 --- a/src/app/community-page/community-page.resolver.ts +++ b/src/app/community-page/community-page.resolver.ts @@ -1,13 +1,21 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../core/data/remote-data'; -import { Community } from '../core/shared/community.model'; -import { CommunityDataService } from '../core/data/community-data.service'; -import { followLink, FollowLinkConfig } from '../shared/utils/follow-link-config.model'; -import { getFirstCompletedRemoteData } from '../core/shared/operators'; -import { ResolvedAction } from '../core/resolving/resolver.actions'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Store } from '@ngrx/store'; +import { Observable } from 'rxjs'; + +import { CommunityDataService } from '../core/data/community-data.service'; +import { RemoteData } from '../core/data/remote-data'; +import { ResolvedAction } from '../core/resolving/resolver.actions'; +import { Community } from '../core/shared/community.model'; +import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { + followLink, + FollowLinkConfig, +} from '../shared/utils/follow-link-config.model'; /** * The self links defined in this list are expected to be requested somewhere in the near future diff --git a/src/app/community-page/create-community-page/create-community-page.component.spec.ts b/src/app/community-page/create-community-page/create-community-page.component.spec.ts index 43c7417f11..08da572a4d 100644 --- a/src/app/community-page/create-community-page/create-community-page.component.spec.ts +++ b/src/app/community-page/create-community-page/create-community-page.component.spec.ts @@ -1,17 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Router } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RouteService } from '../../core/services/route.service'; -import { SharedModule } from '../../shared/shared.module'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { CommunityDataService } from '../../core/data/community-data.service'; -import { CreateCommunityPageComponent } from './create-community-page.component'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; import { RequestService } from '../../core/data/request.service'; +import { RouteService } from '../../core/services/route.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { SharedModule } from '../../shared/shared.module'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { CreateCommunityPageComponent } from './create-community-page.component'; describe('CreateCommunityPageComponent', () => { let comp: CreateCommunityPageComponent; diff --git a/src/app/community-page/create-community-page/create-community-page.component.ts b/src/app/community-page/create-community-page/create-community-page.component.ts index f862024d87..65ae0abc90 100644 --- a/src/app/community-page/create-community-page/create-community-page.component.ts +++ b/src/app/community-page/create-community-page/create-community-page.component.ts @@ -1,13 +1,14 @@ import { Component } from '@angular/core'; -import { Community } from '../../core/shared/community.model'; -import { CommunityDataService } from '../../core/data/community-data.service'; -import { RouteService } from '../../core/services/route.service'; import { Router } from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { CommunityDataService } from '../../core/data/community-data.service'; +import { RequestService } from '../../core/data/request.service'; +import { RouteService } from '../../core/services/route.service'; +import { Community } from '../../core/shared/community.model'; import { CreateComColPageComponent } from '../../shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { RequestService } from '../../core/data/request.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; /** * Component that represents the page where a user can create a new Community diff --git a/src/app/community-page/create-community-page/create-community-page.guard.spec.ts b/src/app/community-page/create-community-page/create-community-page.guard.spec.ts index f4183e45c8..8f1f3fb18a 100644 --- a/src/app/community-page/create-community-page/create-community-page.guard.spec.ts +++ b/src/app/community-page/create-community-page/create-community-page.guard.spec.ts @@ -1,8 +1,12 @@ -import { CreateCommunityPageGuard } from './create-community-page.guard'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { Community } from '../../core/shared/community.model'; import { first } from 'rxjs/operators'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; + +import { Community } from '../../core/shared/community.model'; +import { RouterMock } from '../../shared/mocks/router.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { CreateCommunityPageGuard } from './create-community-page.guard'; describe('CreateCommunityPageGuard', () => { describe('canActivate', () => { diff --git a/src/app/community-page/create-community-page/create-community-page.guard.ts b/src/app/community-page/create-community-page/create-community-page.guard.ts index bb23d277c1..847273b367 100644 --- a/src/app/community-page/create-community-page/create-community-page.guard.ts +++ b/src/app/community-page/create-community-page/create-community-page.guard.ts @@ -1,13 +1,27 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + tap, +} from 'rxjs/operators'; -import { hasNoValue, hasValue } from '../../shared/empty.util'; import { CommunityDataService } from '../../core/data/community-data.service'; import { RemoteData } from '../../core/data/remote-data'; import { Community } from '../../core/shared/community.model'; -import { map, tap } from 'rxjs/operators'; -import { Observable, of as observableOf } from 'rxjs'; import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { + hasNoValue, + hasValue, +} from '../../shared/empty.util'; /** * Prevent creation of a community with an invalid parent community provided diff --git a/src/app/community-page/delete-community-page/delete-community-page.component.spec.ts b/src/app/community-page/delete-community-page/delete-community-page.component.spec.ts index 0000789407..f823e98f4d 100644 --- a/src/app/community-page/delete-community-page/delete-community-page.component.spec.ts +++ b/src/app/community-page/delete-community-page/delete-community-page.component.spec.ts @@ -1,17 +1,22 @@ import { CommonModule } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { CommunityDataService } from '../../core/data/community-data.service'; +import { RequestService } from '../../core/data/request.service'; +import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { SharedModule } from '../../shared/shared.module'; import { DeleteCommunityPageComponent } from './delete-community-page.component'; -import { RequestService } from '../../core/data/request.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; describe('DeleteCommunityPageComponent', () => { let comp: DeleteCommunityPageComponent; diff --git a/src/app/community-page/delete-community-page/delete-community-page.component.ts b/src/app/community-page/delete-community-page/delete-community-page.component.ts index 045fdd2a03..c6888a893b 100644 --- a/src/app/community-page/delete-community-page/delete-community-page.component.ts +++ b/src/app/community-page/delete-community-page/delete-community-page.component.ts @@ -1,11 +1,15 @@ import { Component } from '@angular/core'; -import { Community } from '../../core/shared/community.model'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { CommunityDataService } from '../../core/data/community-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; +import { Community } from '../../core/shared/community.model'; import { DeleteComColPageComponent } from '../../shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; /** * Component that represents the page where a user can delete an existing Community diff --git a/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.spec.ts b/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.spec.ts index 3a3f331def..376162fba7 100644 --- a/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.spec.ts +++ b/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.spec.ts @@ -1,4 +1,7 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { CommunityAccessControlComponent } from './community-access-control.component'; diff --git a/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.ts b/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.ts index 17826c1551..e70af7062e 100644 --- a/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.ts +++ b/src/app/community-page/edit-community-page/community-access-control/community-access-control.component.ts @@ -1,10 +1,14 @@ -import { Component, OnInit } from '@angular/core'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; + +import { RemoteData } from '../../../core/data/remote-data'; import { Community } from '../../../core/shared/community.model'; +import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; @Component({ selector: 'ds-community-access-control', diff --git a/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.spec.ts b/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.spec.ts index 3810157d5f..c02b390cb2 100644 --- a/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.spec.ts +++ b/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.spec.ts @@ -1,15 +1,21 @@ import { CommonModule } from '@angular/common'; -import { ChangeDetectorRef, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; - import { cold } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; +import { Collection } from '../../../core/shared/collection.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; import { CommunityAuthorizationsComponent } from './community-authorizations.component'; -import { Collection } from '../../../core/shared/collection.model'; describe('CommunityAuthorizationsComponent', () => { let comp: CommunityAuthorizationsComponent; diff --git a/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.ts b/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.ts index 39bd3c5e0c..c31f798060 100644 --- a/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.ts +++ b/src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.ts @@ -1,7 +1,14 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; -import { first, map } from 'rxjs/operators'; +import { + first, + map, +} from 'rxjs/operators'; + import { RemoteData } from '../../../core/data/remote-data'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; diff --git a/src/app/community-page/edit-community-page/community-curate/community-curate.component.spec.ts b/src/app/community-page/edit-community-page/community-curate/community-curate.component.spec.ts index cf049a89be..699fa8db9f 100644 --- a/src/app/community-page/edit-community-page/community-curate/community-curate.component.spec.ts +++ b/src/app/community-page/edit-community-page/community-curate/community-curate.component.spec.ts @@ -1,12 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; -import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { CommunityCurateComponent } from './community-curate.component'; import { Community } from '../../../core/shared/community.model'; +import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { CommunityCurateComponent } from './community-curate.component'; describe('CommunityCurateComponent', () => { let comp: CommunityCurateComponent; diff --git a/src/app/community-page/edit-community-page/community-curate/community-curate.component.ts b/src/app/community-page/edit-community-page/community-curate/community-curate.component.ts index 83f5826c12..aa28644ae7 100644 --- a/src/app/community-page/edit-community-page/community-curate/community-curate.component.ts +++ b/src/app/community-page/edit-community-page/community-curate/community-curate.component.ts @@ -1,10 +1,18 @@ -import { Component, OnInit } from '@angular/core'; -import { Community } from '../../../core/shared/community.model'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { filter, map, take } from 'rxjs/operators'; -import { RemoteData } from '../../../core/data/remote-data'; import { Observable } from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { Community } from '../../../core/shared/community.model'; import { hasValue } from '../../../shared/empty.util'; /** diff --git a/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.spec.ts b/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.spec.ts index 40b2a2d9da..ec4a502a6e 100644 --- a/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.spec.ts +++ b/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.spec.ts @@ -1,15 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { SharedModule } from '../../../shared/shared.module'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute } from '@angular/router'; -import { of as observableOf } from 'rxjs'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { CommunityMetadataComponent } from './community-metadata.component'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { CommunityDataService } from '../../../core/data/community-data.service'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { SharedModule } from '../../../shared/shared.module'; import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { CommunityMetadataComponent } from './community-metadata.component'; describe('CommunityMetadataComponent', () => { let comp: CommunityMetadataComponent; diff --git a/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.ts b/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.ts index 2ee98d1c8e..9a6b93a0ce 100644 --- a/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.ts +++ b/src/app/community-page/edit-community-page/community-metadata/community-metadata.component.ts @@ -1,11 +1,15 @@ import { Component } from '@angular/core'; -import { ComcolMetadataComponent } from '../../../shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Community } from '../../../core/shared/community.model'; -import { CommunityDataService } from '../../../core/data/community-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { CommunityDataService } from '../../../core/data/community-data.service'; +import { Community } from '../../../core/shared/community.model'; +import { ComcolMetadataComponent } from '../../../shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; + /** * Component for editing a community's metadata */ diff --git a/src/app/community-page/edit-community-page/community-roles/community-roles.component.spec.ts b/src/app/community-page/edit-community-page/community-roles/community-roles.component.spec.ts index f12b4a6801..895c61862a 100644 --- a/src/app/community-page/edit-community-page/community-roles/community-roles.component.spec.ts +++ b/src/app/community-page/edit-community-page/community-roles/community-roles.component.spec.ts @@ -1,22 +1,32 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute } from '@angular/router'; -import { of as observableOf } from 'rxjs'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { CommunityRolesComponent } from './community-roles.component'; -import { Community } from '../../../core/shared/community.model'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { RequestService } from '../../../core/data/request.service'; import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { SharedModule } from '../../../shared/shared.module'; -import { RouterTestingModule } from '@angular/router/testing'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Community } from '../../../core/shared/community.model'; import { ComcolModule } from '../../../shared/comcol/comcol.module'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { SharedModule } from '../../../shared/shared.module'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { CommunityRolesComponent } from './community-roles.component'; describe('CommunityRolesComponent', () => { diff --git a/src/app/community-page/edit-community-page/community-roles/community-roles.component.ts b/src/app/community-page/edit-community-page/community-roles/community-roles.component.ts index 9468aa7048..5f6c57defc 100644 --- a/src/app/community-page/edit-community-page/community-roles/community-roles.component.ts +++ b/src/app/community-page/edit-community-page/community-roles/community-roles.component.ts @@ -1,11 +1,21 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; -import { first, map } from 'rxjs/operators'; -import { Community } from '../../../core/shared/community.model'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../../../core/shared/operators'; +import { + first, + map, +} from 'rxjs/operators'; + import { RemoteData } from '../../../core/data/remote-data'; +import { Community } from '../../../core/shared/community.model'; import { HALLink } from '../../../core/shared/hal-link.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; /** * Component for managing a community's roles diff --git a/src/app/community-page/edit-community-page/edit-community-page.component.spec.ts b/src/app/community-page/edit-community-page/edit-community-page.component.spec.ts index 1c488a3c08..824aef3ba4 100644 --- a/src/app/community-page/edit-community-page/edit-community-page.component.spec.ts +++ b/src/app/community-page/edit-community-page/edit-community-page.component.spec.ts @@ -1,13 +1,18 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { SharedModule } from '../../shared/shared.module'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { EditCommunityPageComponent } from './edit-community-page.component'; + import { CommunityDataService } from '../../core/data/community-data.service'; +import { SharedModule } from '../../shared/shared.module'; +import { EditCommunityPageComponent } from './edit-community-page.component'; describe('EditCommunityPageComponent', () => { let comp: EditCommunityPageComponent; diff --git a/src/app/community-page/edit-community-page/edit-community-page.component.ts b/src/app/community-page/edit-community-page/edit-community-page.component.ts index a4a0a06015..5bd31e9ba0 100644 --- a/src/app/community-page/edit-community-page/edit-community-page.component.ts +++ b/src/app/community-page/edit-community-page/edit-community-page.component.ts @@ -1,6 +1,10 @@ import { Component } from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; + import { Community } from '../../core/shared/community.model'; -import { ActivatedRoute, Router } from '@angular/router'; import { EditComColPageComponent } from '../../shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component'; import { getCommunityPageRoute } from '../community-page-routing-paths'; diff --git a/src/app/community-page/edit-community-page/edit-community-page.module.ts b/src/app/community-page/edit-community-page/edit-community-page.module.ts index 39ef0e4243..13555e3800 100644 --- a/src/app/community-page/edit-community-page/edit-community-page.module.ts +++ b/src/app/community-page/edit-community-page/edit-community-page.module.ts @@ -1,19 +1,18 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { AccessControlFormModule } from '../../shared/access-control-form-container/access-control-form.module'; +import { ComcolModule } from '../../shared/comcol/comcol.module'; +import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; import { SharedModule } from '../../shared/shared.module'; -import { EditCommunityPageRoutingModule } from './edit-community-page.routing.module'; -import { EditCommunityPageComponent } from './edit-community-page.component'; +import { CommunityFormModule } from '../community-form/community-form.module'; +import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component'; +import { CommunityAuthorizationsComponent } from './community-authorizations/community-authorizations.component'; import { CommunityCurateComponent } from './community-curate/community-curate.component'; import { CommunityMetadataComponent } from './community-metadata/community-metadata.component'; import { CommunityRolesComponent } from './community-roles/community-roles.component'; -import { CommunityAuthorizationsComponent } from './community-authorizations/community-authorizations.component'; -import { CommunityFormModule } from '../community-form/community-form.module'; -import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; -import { ComcolModule } from '../../shared/comcol/comcol.module'; -import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component'; -import { - AccessControlFormModule, -} from '../../shared/access-control-form-container/access-control-form.module'; +import { EditCommunityPageComponent } from './edit-community-page.component'; +import { EditCommunityPageRoutingModule } from './edit-community-page.routing.module'; /** * Module that contains all components related to the Edit Community page administrator functionality diff --git a/src/app/community-page/edit-community-page/edit-community-page.routing.module.ts b/src/app/community-page/edit-community-page/edit-community-page.routing.module.ts index 40dc53c829..4b0fa5d70b 100644 --- a/src/app/community-page/edit-community-page/edit-community-page.routing.module.ts +++ b/src/app/community-page/edit-community-page/edit-community-page.routing.module.ts @@ -1,17 +1,18 @@ -import { EditCommunityPageComponent } from './edit-community-page.component'; -import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; + +import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { CommunityAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/community-administrator.guard'; +import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component'; +import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component'; +import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; +import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; +import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component'; +import { CommunityAuthorizationsComponent } from './community-authorizations/community-authorizations.component'; +import { CommunityCurateComponent } from './community-curate/community-curate.component'; import { CommunityMetadataComponent } from './community-metadata/community-metadata.component'; import { CommunityRolesComponent } from './community-roles/community-roles.component'; -import { CommunityCurateComponent } from './community-curate/community-curate.component'; -import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { CommunityAuthorizationsComponent } from './community-authorizations/community-authorizations.component'; -import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; -import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component'; -import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; -import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component'; -import { CommunityAdministratorGuard } from '../../core/data/feature-authorization/feature-authorization-guard/community-administrator.guard'; -import { CommunityAccessControlComponent } from './community-access-control/community-access-control.component'; +import { EditCommunityPageComponent } from './edit-community-page.component'; /** * Routing module that handles the routing for the Edit Community page administrator functionality diff --git a/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts b/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts index 3f9498e8dd..88a0a2c859 100644 --- a/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts +++ b/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts @@ -1,34 +1,37 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { RouterTestingModule } from '@angular/router/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - +import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; -import { CommunityPageSubCollectionListComponent } from './community-page-sub-collection-list.component'; -import { Community } from '../../core/shared/community.model'; -import { SharedModule } from '../../shared/shared.module'; import { CollectionDataService } from '../../core/data/collection-data.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { HostWindowService } from '../../shared/host-window.service'; -import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; -import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; -import { ThemeService } from '../../shared/theme-support/theme.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { FindListOptions } from '../../core/data/find-list-options.model'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { LinkHeadService } from '../../core/services/link-head.service'; import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { GroupDataService } from '../../core/eperson/group-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { LinkHeadService } from '../../core/services/link-head.service'; +import { Community } from '../../core/shared/community.model'; import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; -import { createPaginatedList } from '../../shared/testing/utils.test'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { HostWindowService } from '../../shared/host-window.service'; +import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; +import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { SharedModule } from '../../shared/shared.module'; +import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; import { SearchConfigurationServiceStub } from '../../shared/testing/search-configuration-service.stub'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { ThemeService } from '../../shared/theme-support/theme.service'; +import { CommunityPageSubCollectionListComponent } from './community-page-sub-collection-list.component'; describe('CommunityPageSubCollectionList Component', () => { let comp: CommunityPageSubCollectionListComponent; diff --git a/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts b/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts index 6b9d4c5550..e5288c6568 100644 --- a/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts +++ b/src/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts @@ -1,19 +1,29 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, +} from 'rxjs'; +import { switchMap } from 'rxjs/operators'; -import { BehaviorSubject, combineLatest as observableCombineLatest } from 'rxjs'; - +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { CollectionDataService } from '../../core/data/collection-data.service'; +import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { Collection } from '../../core/shared/collection.model'; import { Community } from '../../core/shared/community.model'; import { fadeIn } from '../../shared/animations/fade'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { CollectionDataService } from '../../core/data/collection-data.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { switchMap } from 'rxjs/operators'; import { hasValue } from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; @Component({ selector: 'ds-community-page-sub-collection-list', diff --git a/src/app/community-page/sub-collection-list/themed-community-page-sub-collection-list.component.ts b/src/app/community-page/sub-collection-list/themed-community-page-sub-collection-list.component.ts index f1f49f204c..a30b03ef7a 100644 --- a/src/app/community-page/sub-collection-list/themed-community-page-sub-collection-list.component.ts +++ b/src/app/community-page/sub-collection-list/themed-community-page-sub-collection-list.component.ts @@ -1,7 +1,11 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Community } from '../../core/shared/community.model'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { CommunityPageSubCollectionListComponent } from './community-page-sub-collection-list.component'; -import { Component, Input } from '@angular/core'; -import { Community } from '../../core/shared/community.model'; @Component({ selector: 'ds-themed-community-page-sub-collection-list', diff --git a/src/app/community-page/sub-community-list/community-page-sub-community-list.component.spec.ts b/src/app/community-page/sub-community-list/community-page-sub-community-list.component.spec.ts index 554ae5c68b..84bd210d75 100644 --- a/src/app/community-page/sub-community-list/community-page-sub-community-list.component.spec.ts +++ b/src/app/community-page/sub-community-list/community-page-sub-community-list.component.spec.ts @@ -1,34 +1,37 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; -import { CommunityPageSubCommunityListComponent } from './community-page-sub-community-list.component'; -import { Community } from '../../core/shared/community.model'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { SharedModule } from '../../shared/shared.module'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { HostWindowService } from '../../shared/host-window.service'; -import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; import { CommunityDataService } from '../../core/data/community-data.service'; -import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; -import { ThemeService } from '../../shared/theme-support/theme.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { FindListOptions } from '../../core/data/find-list-options.model'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { LinkHeadService } from '../../core/services/link-head.service'; import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { SearchConfigurationServiceStub } from '../../shared/testing/search-configuration-service.stub'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { GroupDataService } from '../../core/eperson/group-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { LinkHeadService } from '../../core/services/link-head.service'; +import { Community } from '../../core/shared/community.model'; import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { HostWindowService } from '../../shared/host-window.service'; +import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; +import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { SharedModule } from '../../shared/shared.module'; +import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { SearchConfigurationServiceStub } from '../../shared/testing/search-configuration-service.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; +import { ThemeService } from '../../shared/theme-support/theme.service'; +import { CommunityPageSubCommunityListComponent } from './community-page-sub-community-list.component'; describe('CommunityPageSubCommunityListComponent Component', () => { let comp: CommunityPageSubCommunityListComponent; diff --git a/src/app/community-page/sub-community-list/community-page-sub-community-list.component.ts b/src/app/community-page/sub-community-list/community-page-sub-community-list.component.ts index 30639936ba..388e382641 100644 --- a/src/app/community-page/sub-community-list/community-page-sub-community-list.component.ts +++ b/src/app/community-page/sub-community-list/community-page-sub-community-list.component.ts @@ -1,18 +1,28 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, +} from 'rxjs'; +import { switchMap } from 'rxjs/operators'; -import { BehaviorSubject, combineLatest as observableCombineLatest } from 'rxjs'; - +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { CommunityDataService } from '../../core/data/community-data.service'; +import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { Community } from '../../core/shared/community.model'; import { fadeIn } from '../../shared/animations/fade'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { CommunityDataService } from '../../core/data/community-data.service'; -import { switchMap } from 'rxjs/operators'; -import { PaginationService } from '../../core/pagination/pagination.service'; import { hasValue } from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; @Component({ selector: 'ds-community-page-sub-community-list', diff --git a/src/app/community-page/sub-community-list/themed-community-page-sub-community-list.component.ts b/src/app/community-page/sub-community-list/themed-community-page-sub-community-list.component.ts index 852c53186e..d7a9711212 100644 --- a/src/app/community-page/sub-community-list/themed-community-page-sub-community-list.component.ts +++ b/src/app/community-page/sub-community-list/themed-community-page-sub-community-list.component.ts @@ -1,7 +1,11 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Community } from '../../core/shared/community.model'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { CommunityPageSubCommunityListComponent } from './community-page-sub-community-list.component'; -import { Component, Input } from '@angular/core'; -import { Community } from '../../core/shared/community.model'; @Component({ selector: 'ds-themed-community-page-sub-community-list', diff --git a/src/app/community-page/themed-community-page.component.ts b/src/app/community-page/themed-community-page.component.ts index eeb058fb04..8b200b768e 100644 --- a/src/app/community-page/themed-community-page.component.ts +++ b/src/app/community-page/themed-community-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { CommunityPageComponent } from './community-page.component'; diff --git a/src/app/core/auth/auth-blocking.guard.spec.ts b/src/app/core/auth/auth-blocking.guard.spec.ts index 6fb2669533..8cc071ec8e 100644 --- a/src/app/core/auth/auth-blocking.guard.spec.ts +++ b/src/app/core/auth/auth-blocking.guard.spec.ts @@ -1,12 +1,23 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; - -import { MockStore, provideMockStore } from '@ngrx/store/testing'; -import { Store, StoreModule } from '@ngrx/store'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + MockStore, + provideMockStore, +} from '@ngrx/store/testing'; import { cold } from 'jasmine-marbles'; -import { AppState, storeModuleConfig } from '../../app.reducer'; -import { AuthBlockingGuard } from './auth-blocking.guard'; +import { + AppState, + storeModuleConfig, +} from '../../app.reducer'; import { authReducer } from './auth.reducer'; +import { AuthBlockingGuard } from './auth-blocking.guard'; describe('AuthBlockingGuard', () => { let guard: AuthBlockingGuard; diff --git a/src/app/core/auth/auth-blocking.guard.ts b/src/app/core/auth/auth-blocking.guard.ts index 2bc6c77ed1..b6c575d789 100644 --- a/src/app/core/auth/auth-blocking.guard.ts +++ b/src/app/core/auth/auth-blocking.guard.ts @@ -1,8 +1,17 @@ import { Injectable } from '@angular/core'; import { CanActivate } from '@angular/router'; -import { select, Store } from '@ngrx/store'; +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map, take } from 'rxjs/operators'; +import { + distinctUntilChanged, + filter, + map, + take, +} from 'rxjs/operators'; + import { AppState } from '../../app.reducer'; import { isAuthenticationBlocking } from './selectors'; diff --git a/src/app/core/auth/auth-request.service.spec.ts b/src/app/core/auth/auth-request.service.spec.ts index f059793360..55101dd3c5 100644 --- a/src/app/core/auth/auth-request.service.spec.ts +++ b/src/app/core/auth/auth-request.service.spec.ts @@ -1,17 +1,22 @@ -import { AuthRequestService } from './auth-request.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { PostRequest } from '../data/request.models'; import { TestScheduler } from 'rxjs/testing'; + import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -import { ShortLivedToken } from './models/short-lived-token.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RemoteData } from '../data/remote-data'; +import { PostRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { AuthRequestService } from './auth-request.service'; +import { ShortLivedToken } from './models/short-lived-token.model'; import objectContaining = jasmine.objectContaining; -import { AuthStatus } from './models/auth-status.model'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { RestRequestMethod } from '../data/rest-request-method'; -import { Observable, of as observableOf } from 'rxjs'; +import { AuthStatus } from './models/auth-status.model'; describe(`AuthRequestService`, () => { let halService: HALEndpointService; diff --git a/src/app/core/auth/auth-request.service.ts b/src/app/core/auth/auth-request.service.ts index db82e8a122..5d11b9f4cb 100644 --- a/src/app/core/auth/auth-request.service.ts +++ b/src/app/core/auth/auth-request.service.ts @@ -1,18 +1,29 @@ import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map, switchMap, tap, take } from 'rxjs/operators'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; +import { + distinctUntilChanged, + filter, + map, + switchMap, + take, + tap, +} from 'rxjs/operators'; + import { isNotEmpty } from '../../shared/empty.util'; -import { GetRequest, PostRequest } from '../data/request.models'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { getFirstCompletedRemoteData } from '../shared/operators'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RemoteData } from '../data/remote-data'; +import { + GetRequest, + PostRequest, +} from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { RestRequest } from '../data/rest-request.model'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { getFirstCompletedRemoteData } from '../shared/operators'; +import { URLCombiner } from '../url-combiner/url-combiner'; import { AuthStatus } from './models/auth-status.model'; import { ShortLivedToken } from './models/short-lived-token.model'; -import { URLCombiner } from '../url-combiner/url-combiner'; -import { RestRequest } from '../data/rest-request.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; /** * Abstract service to send authentication requests diff --git a/src/app/core/auth/auth.actions.ts b/src/app/core/auth/auth.actions.ts index b6166ba5f6..593d2aceb6 100644 --- a/src/app/core/auth/auth.actions.ts +++ b/src/app/core/auth/auth.actions.ts @@ -1,12 +1,13 @@ /* eslint-disable max-classes-per-file */ // import @ngrx import { Action } from '@ngrx/store'; + // import type function import { type } from '../../shared/ngrx/type'; -// import models -import { AuthTokenInfo } from './models/auth-token-info.model'; import { AuthMethod } from './models/auth.method'; import { AuthStatus } from './models/auth-status.model'; +// import models +import { AuthTokenInfo } from './models/auth-token-info.model'; export const AuthActionTypes = { AUTHENTICATE: type('dspace/auth/AUTHENTICATE'), diff --git a/src/app/core/auth/auth.effects.spec.ts b/src/app/core/auth/auth.effects.spec.ts index dad2a46da6..a423455594 100644 --- a/src/app/core/auth/auth.effects.spec.ts +++ b/src/app/core/auth/auth.effects.spec.ts @@ -1,12 +1,38 @@ -import { fakeAsync, TestBed, tick } from '@angular/core/testing'; - +import { + fakeAsync, + TestBed, + tick, +} from '@angular/core/testing'; import { provideMockActions } from '@ngrx/effects/testing'; -import { Store, StoreModule } from '@ngrx/store'; -import { MockStore, provideMockStore } from '@ngrx/store/testing'; -import { cold, hot } from 'jasmine-marbles'; -import { Observable, of as observableOf, throwError as observableThrow } from 'rxjs'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + MockStore, + provideMockStore, +} from '@ngrx/store/testing'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { + Observable, + of as observableOf, + throwError as observableThrow, +} from 'rxjs'; -import { AuthEffects } from './auth.effects'; +import { + AppState, + storeModuleConfig, +} from '../../app.reducer'; +import { + authMethodsMock, + AuthServiceStub, +} from '../../shared/testing/auth-service.stub'; +import { EPersonMock } from '../../shared/testing/eperson.mock'; +import { StoreActionTypes } from '../../store.actions'; +import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; import { AuthActionTypes, AuthenticatedAction, @@ -27,15 +53,14 @@ import { RetrieveAuthMethodsSuccessAction, RetrieveTokenAction, } from './auth.actions'; -import { authMethodsMock, AuthServiceStub } from '../../shared/testing/auth-service.stub'; -import { AuthService } from './auth.service'; +import { AuthEffects } from './auth.effects'; import { authReducer } from './auth.reducer'; +import { AuthService } from './auth.service'; import { AuthStatus } from './models/auth-status.model'; -import { EPersonMock } from '../../shared/testing/eperson.mock'; -import { AppState, storeModuleConfig } from '../../app.reducer'; -import { StoreActionTypes } from '../../store.actions'; -import { isAuthenticated, isAuthenticatedLoaded } from './selectors'; -import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; +import { + isAuthenticated, + isAuthenticatedLoaded, +} from './selectors'; describe('AuthEffects', () => { let authEffects: AuthEffects; diff --git a/src/app/core/auth/auth.effects.ts b/src/app/core/auth/auth.effects.ts index 09442729a0..0bd25f3649 100644 --- a/src/app/core/auth/auth.effects.ts +++ b/src/app/core/auth/auth.effects.ts @@ -1,5 +1,18 @@ -import { Injectable, NgZone } from '@angular/core'; - +import { + Injectable, + NgZone, +} from '@angular/core'; +// import @ngrx +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { + Action, + select, + Store, +} from '@ngrx/store'; import { asyncScheduler, combineLatest as observableCombineLatest, @@ -8,20 +21,26 @@ import { queueScheduler, timer, } from 'rxjs'; -import { catchError, filter, map, observeOn, switchMap, take, tap } from 'rxjs/operators'; -// import @ngrx -import { Actions, createEffect, ofType } from '@ngrx/effects'; -import { Action, select, Store } from '@ngrx/store'; +import { + catchError, + filter, + map, + observeOn, + switchMap, + take, + tap, +} from 'rxjs/operators'; -// import services -import { AuthService } from './auth.service'; -import { EPerson } from '../eperson/models/eperson.model'; -import { AuthStatus } from './models/auth-status.model'; -import { AuthTokenInfo } from './models/auth-token-info.model'; +import { environment } from '../../../environments/environment'; import { AppState } from '../../app.reducer'; -import { isAuthenticated, isAuthenticatedLoaded } from './selectors'; +import { hasValue } from '../../shared/empty.util'; +import { NotificationsActionTypes } from '../../shared/notifications/notifications.actions'; import { StoreActionTypes } from '../../store.actions'; -import { AuthMethod } from './models/auth.method'; +import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; +import { RequestActionTypes } from '../data/request.actions'; +import { EPerson } from '../eperson/models/eperson.model'; +import { EnterZoneScheduler } from '../utilities/enter-zone.scheduler'; +import { LeaveZoneScheduler } from '../utilities/leave-zone.scheduler'; // import actions import { AuthActionTypes, @@ -47,13 +66,15 @@ import { RetrieveTokenAction, SetUserAsIdleAction, } from './auth.actions'; -import { hasValue } from '../../shared/empty.util'; -import { environment } from '../../../environments/environment'; -import { RequestActionTypes } from '../data/request.actions'; -import { NotificationsActionTypes } from '../../shared/notifications/notifications.actions'; -import { LeaveZoneScheduler } from '../utilities/leave-zone.scheduler'; -import { EnterZoneScheduler } from '../utilities/enter-zone.scheduler'; -import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; +// import services +import { AuthService } from './auth.service'; +import { AuthMethod } from './models/auth.method'; +import { AuthStatus } from './models/auth-status.model'; +import { AuthTokenInfo } from './models/auth-token-info.model'; +import { + isAuthenticated, + isAuthenticatedLoaded, +} from './selectors'; // Action Types that do not break/prevent the user from an idle state const IDLE_TIMER_IGNORE_TYPES: string[] diff --git a/src/app/core/auth/auth.interceptor.spec.ts b/src/app/core/auth/auth.interceptor.spec.ts index 6c589cb694..b1175f222b 100644 --- a/src/app/core/auth/auth.interceptor.spec.ts +++ b/src/app/core/auth/auth.interceptor.spec.ts @@ -1,18 +1,20 @@ -import { TestBed } from '@angular/core/testing'; -import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; +import { + HttpClientTestingModule, + HttpTestingController, +} from '@angular/common/http/testing'; +import { TestBed } from '@angular/core/testing'; import { Router } from '@angular/router'; - import { Store } from '@ngrx/store'; import { of as observableOf } from 'rxjs'; -import { AuthInterceptor } from './auth.interceptor'; -import { AuthService } from './auth.service'; -import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { AuthServiceStub } from '../../shared/testing/auth-service.stub'; import { RouterStub } from '../../shared/testing/router.stub'; import { TruncatablesState } from '../../shared/truncatable/truncatable.reducer'; -import { AuthServiceStub } from '../../shared/testing/auth-service.stub'; import { RestRequestMethod } from '../data/rest-request-method'; +import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { AuthInterceptor } from './auth.interceptor'; +import { AuthService } from './auth.service'; describe(`AuthInterceptor`, () => { let service: DspaceRestService; diff --git a/src/app/core/auth/auth.interceptor.ts b/src/app/core/auth/auth.interceptor.ts index 365f4ef144..bb2f07fad2 100644 --- a/src/app/core/auth/auth.interceptor.ts +++ b/src/app/core/auth/auth.interceptor.ts @@ -1,7 +1,3 @@ -import { Observable, of as observableOf, throwError as observableThrowError } from 'rxjs'; - -import { catchError, map } from 'rxjs/operators'; -import { Injectable, Injector } from '@angular/core'; import { HttpErrorResponse, HttpEvent, @@ -12,17 +8,34 @@ import { HttpResponse, HttpResponseBase, } from '@angular/common/http'; +import { + Injectable, + Injector, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { Store } from '@ngrx/store'; +import { + Observable, + of as observableOf, + throwError as observableThrowError, +} from 'rxjs'; +import { + catchError, + map, +} from 'rxjs/operators'; import { AppState } from '../../app.reducer'; -import { AuthService } from './auth.service'; -import { AuthStatus } from './models/auth-status.model'; -import { AuthTokenInfo } from './models/auth-token-info.model'; -import { hasValue, isNotEmpty, isNotNull } from '../../shared/empty.util'; +import { + hasValue, + isNotEmpty, + isNotNull, +} from '../../shared/empty.util'; import { RedirectWhenTokenExpiredAction } from './auth.actions'; -import { Store } from '@ngrx/store'; -import { Router } from '@angular/router'; +import { AuthService } from './auth.service'; import { AuthMethod } from './models/auth.method'; import { AuthMethodType } from './models/auth.method-type'; +import { AuthStatus } from './models/auth-status.model'; +import { AuthTokenInfo } from './models/auth-token-info.model'; @Injectable() export class AuthInterceptor implements HttpInterceptor { diff --git a/src/app/core/auth/auth.reducer.spec.ts b/src/app/core/auth/auth.reducer.spec.ts index 28a0181ed6..1220ed991d 100644 --- a/src/app/core/auth/auth.reducer.spec.ts +++ b/src/app/core/auth/auth.reducer.spec.ts @@ -1,4 +1,4 @@ -import { authReducer, AuthState } from './auth.reducer'; +import { EPersonMock } from '../../shared/testing/eperson.mock'; import { AddAuthenticationMessageAction, AuthenticateAction, @@ -8,7 +8,6 @@ import { AuthenticationErrorAction, AuthenticationSuccessAction, CheckAuthenticationTokenAction, - SetAuthCookieStatus, CheckAuthenticationTokenCookieAction, LogOutAction, LogOutErrorAction, @@ -24,15 +23,19 @@ import { RetrieveAuthMethodsAction, RetrieveAuthMethodsErrorAction, RetrieveAuthMethodsSuccessAction, + SetAuthCookieStatus, SetRedirectUrlAction, SetUserAsIdleAction, UnsetUserAsIdleAction, } from './auth.actions'; -import { AuthTokenInfo } from './models/auth-token-info.model'; -import { EPersonMock } from '../../shared/testing/eperson.mock'; -import { AuthStatus } from './models/auth-status.model'; +import { + authReducer, + AuthState, +} from './auth.reducer'; import { AuthMethod } from './models/auth.method'; import { AuthMethodType } from './models/auth.method-type'; +import { AuthStatus } from './models/auth-status.model'; +import { AuthTokenInfo } from './models/auth-token-info.model'; describe('authReducer', () => { diff --git a/src/app/core/auth/auth.reducer.ts b/src/app/core/auth/auth.reducer.ts index a0de83e3a1..00bc7e37e7 100644 --- a/src/app/core/auth/auth.reducer.ts +++ b/src/app/core/auth/auth.reducer.ts @@ -1,4 +1,5 @@ // import actions +import { StoreActionTypes } from '../../store.actions'; import { AddAuthenticationMessageAction, AuthActions, @@ -10,14 +11,14 @@ import { RedirectWhenTokenExpiredAction, RefreshTokenSuccessAction, RetrieveAuthenticatedEpersonSuccessAction, - RetrieveAuthMethodsSuccessAction, SetAuthCookieStatus, + RetrieveAuthMethodsSuccessAction, + SetAuthCookieStatus, SetRedirectUrlAction, } from './auth.actions'; -// import models -import { AuthTokenInfo } from './models/auth-token-info.model'; import { AuthMethod } from './models/auth.method'; import { AuthMethodType } from './models/auth.method-type'; -import { StoreActionTypes } from '../../store.actions'; +// import models +import { AuthTokenInfo } from './models/auth-token-info.model'; /** * The auth state. diff --git a/src/app/core/auth/auth.service.spec.ts b/src/app/core/auth/auth.service.spec.ts index 4e652afa88..7e2f4f5fe1 100644 --- a/src/app/core/auth/auth.service.spec.ts +++ b/src/app/core/auth/auth.service.spec.ts @@ -1,39 +1,68 @@ -import { inject, TestBed, waitForAsync } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Store, StoreModule } from '@ngrx/store'; +import { + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { REQUEST } from '@nguniversal/express-engine/tokens'; -import { Observable, of as observableOf } from 'rxjs'; -import { authReducer, AuthState } from './auth.reducer'; -import { NativeWindowRef, NativeWindowService } from '../services/window.service'; -import { AuthService, IMPERSONATING_COOKIE } from './auth.service'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { CookieService } from '../services/cookie.service'; -import { AuthRequestServiceStub } from '../../shared/testing/auth-request-service.stub'; -import { AuthRequestService } from './auth-request.service'; -import { AuthStatus } from './models/auth-status.model'; -import { AuthTokenInfo } from './models/auth-token-info.model'; -import { EPerson } from '../eperson/models/eperson.model'; -import { EPersonMock } from '../../shared/testing/eperson.mock'; +import { TranslateService } from '@ngx-translate/core'; +import { cold } from 'jasmine-marbles'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AppState } from '../../app.reducer'; -import { ClientCookieService } from '../services/client-cookie.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { AuthRequestServiceStub } from '../../shared/testing/auth-request-service.stub'; +import { authMethodsMock } from '../../shared/testing/auth-service.stub'; +import { EPersonMock } from '../../shared/testing/eperson.mock'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; import { routeServiceStub } from '../../shared/testing/route-service.stub'; -import { RouteService } from '../services/route.service'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { + SpecialGroupDataMock, + SpecialGroupDataMock$, +} from '../../shared/testing/special-group.mock'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RemoteData } from '../data/remote-data'; import { EPersonDataService } from '../eperson/eperson-data.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { authMethodsMock } from '../../shared/testing/auth-service.stub'; -import { AuthMethod } from './models/auth.method'; +import { EPerson } from '../eperson/models/eperson.model'; +import { ClientCookieService } from '../services/client-cookie.service'; +import { CookieService } from '../services/cookie.service'; import { HardRedirectService } from '../services/hard-redirect.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { SetUserAsIdleAction, UnsetUserAsIdleAction } from './auth.actions'; -import { SpecialGroupDataMock, SpecialGroupDataMock$ } from '../../shared/testing/special-group.mock'; -import { cold } from 'jasmine-marbles'; +import { RouteService } from '../services/route.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../services/window.service'; +import { + SetUserAsIdleAction, + UnsetUserAsIdleAction, +} from './auth.actions'; +import { + authReducer, + AuthState, +} from './auth.reducer'; +import { + AuthService, + IMPERSONATING_COOKIE, +} from './auth.service'; +import { AuthRequestService } from './auth-request.service'; +import { AuthMethod } from './models/auth.method'; +import { AuthStatus } from './models/auth-status.model'; +import { AuthTokenInfo } from './models/auth-token-info.model'; describe('AuthService test', () => { diff --git a/src/app/core/auth/auth.service.ts b/src/app/core/auth/auth.service.ts index b610dc448f..38e5efa05e 100644 --- a/src/app/core/auth/auth.service.ts +++ b/src/app/core/auth/auth.service.ts @@ -1,18 +1,34 @@ -import { Inject, Injectable, Optional } from '@angular/core'; -import { Router } from '@angular/router'; import { HttpHeaders } from '@angular/common/http'; -import { REQUEST, RESPONSE } from '@nguniversal/express-engine/tokens'; - -import { Observable, of as observableOf } from 'rxjs'; -import { filter, map, startWith, switchMap, take } from 'rxjs/operators'; -import { select, Store } from '@ngrx/store'; +import { + Inject, + Injectable, + Optional, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { + select, + Store, +} from '@ngrx/store'; +import { + REQUEST, + RESPONSE, +} from '@nguniversal/express-engine/tokens'; +import { TranslateService } from '@ngx-translate/core'; import { CookieAttributes } from 'js-cookie'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + filter, + map, + startWith, + switchMap, + take, +} from 'rxjs/operators'; -import { EPerson } from '../eperson/models/eperson.model'; -import { AuthRequestService } from './auth-request.service'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { AuthStatus } from './models/auth-status.model'; -import { AuthTokenInfo, TOKENITEM } from './models/auth-token-info.model'; +import { environment } from '../../../environments/environment'; +import { AppState } from '../../app.reducer'; import { hasNoValue, hasValue, @@ -22,40 +38,56 @@ import { isNotNull, isNotUndefined, } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { EPersonDataService } from '../eperson/eperson-data.service'; +import { EPerson } from '../eperson/models/eperson.model'; +import { Group } from '../eperson/models/group.model'; import { CookieService } from '../services/cookie.service'; +import { HardRedirectService } from '../services/hard-redirect.service'; +import { RouteService } from '../services/route.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../services/window.service'; +import { + getAllSucceededRemoteDataPayload, + getFirstCompletedRemoteData, +} from '../shared/operators'; +import { PageInfo } from '../shared/page-info.model'; +import { + CheckAuthenticationTokenAction, + RefreshTokenAction, + ResetAuthenticationMessagesAction, + SetAuthCookieStatus, + SetRedirectUrlAction, + SetUserAsIdleAction, + UnsetUserAsIdleAction, +} from './auth.actions'; +import { AuthRequestService } from './auth-request.service'; +import { AuthMethod } from './models/auth.method'; +import { AuthStatus } from './models/auth-status.model'; +import { + AuthTokenInfo, + TOKENITEM, +} from './models/auth-token-info.model'; import { getAuthenticatedUserId, - getAuthenticationToken, getExternalAuthCookieStatus, + getAuthenticationToken, + getExternalAuthCookieStatus, getRedirectUrl, isAuthenticated, isAuthenticatedLoaded, isIdle, isTokenRefreshing, } from './selectors'; -import { AppState } from '../../app.reducer'; -import { - CheckAuthenticationTokenAction, - RefreshTokenAction, - ResetAuthenticationMessagesAction, SetAuthCookieStatus, - SetRedirectUrlAction, - SetUserAsIdleAction, - UnsetUserAsIdleAction, -} from './auth.actions'; -import { NativeWindowRef, NativeWindowService } from '../services/window.service'; -import { RouteService } from '../services/route.service'; -import { EPersonDataService } from '../eperson/eperson-data.service'; -import { getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData } from '../shared/operators'; -import { AuthMethod } from './models/auth.method'; -import { HardRedirectService } from '../services/hard-redirect.service'; -import { RemoteData } from '../data/remote-data'; -import { environment } from '../../../environments/environment'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { buildPaginatedList, PaginatedList } from '../data/paginated-list.model'; -import { Group } from '../eperson/models/group.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { PageInfo } from '../shared/page-info.model'; -import { followLink } from '../../shared/utils/follow-link-config.model'; export const LOGIN_ROUTE = '/login'; export const LOGOUT_ROUTE = '/logout'; diff --git a/src/app/core/auth/authenticated.guard.ts b/src/app/core/auth/authenticated.guard.ts index a5ecbd14d8..4a989e0979 100644 --- a/src/app/core/auth/authenticated.guard.ts +++ b/src/app/core/auth/authenticated.guard.ts @@ -6,14 +6,26 @@ import { RouterStateSnapshot, UrlTree, } from '@angular/router'; - +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { map, find, switchMap } from 'rxjs/operators'; -import { select, Store } from '@ngrx/store'; +import { + find, + map, + switchMap, +} from 'rxjs/operators'; -import { isAuthenticated, isAuthenticationLoading } from './selectors'; -import { AuthService, LOGIN_ROUTE } from './auth.service'; import { CoreState } from '../core-state.model'; +import { + AuthService, + LOGIN_ROUTE, +} from './auth.service'; +import { + isAuthenticated, + isAuthenticationLoading, +} from './selectors'; /** * Prevent unauthorized activating and loading of routes diff --git a/src/app/core/auth/browser-auth-request.service.spec.ts b/src/app/core/auth/browser-auth-request.service.spec.ts index d9645e5885..9649255b23 100644 --- a/src/app/core/auth/browser-auth-request.service.spec.ts +++ b/src/app/core/auth/browser-auth-request.service.spec.ts @@ -1,8 +1,9 @@ -import { AuthRequestService } from './auth-request.service'; -import { RequestService } from '../data/request.service'; -import { BrowserAuthRequestService } from './browser-auth-request.service'; import { Observable } from 'rxjs'; + import { PostRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { AuthRequestService } from './auth-request.service'; +import { BrowserAuthRequestService } from './browser-auth-request.service'; describe(`BrowserAuthRequestService`, () => { let href: string; diff --git a/src/app/core/auth/browser-auth-request.service.ts b/src/app/core/auth/browser-auth-request.service.ts index 17d10c69fb..d708cd8982 100644 --- a/src/app/core/auth/browser-auth-request.service.ts +++ b/src/app/core/auth/browser-auth-request.service.ts @@ -1,10 +1,14 @@ import { Injectable } from '@angular/core'; -import { AuthRequestService } from './auth-request.service'; -import { PostRequest } from '../data/request.models'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { Observable, of as observableOf } from 'rxjs'; +import { PostRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { AuthRequestService } from './auth-request.service'; /** * Client side version of the service to send authentication requests diff --git a/src/app/core/auth/models/auth-status.model.ts b/src/app/core/auth/models/auth-status.model.ts index 272f281474..1a6938887d 100644 --- a/src/app/core/auth/models/auth-status.model.ts +++ b/src/app/core/auth/models/auth-status.model.ts @@ -1,7 +1,17 @@ -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../../cache/builders/build-decorators'; + +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; +import { PaginatedList } from '../../data/paginated-list.model'; import { RemoteData } from '../../data/remote-data'; import { EPerson } from '../../eperson/models/eperson.model'; import { EPERSON } from '../../eperson/models/eperson.resource-type'; @@ -10,12 +20,10 @@ import { GROUP } from '../../eperson/models/group.resource-type'; import { HALLink } from '../../shared/hal-link.model'; import { ResourceType } from '../../shared/resource-type'; import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { AuthMethod } from './auth.method'; import { AuthError } from './auth-error.model'; import { AUTH_STATUS } from './auth-status.resource-type'; import { AuthTokenInfo } from './auth-token-info.model'; -import { AuthMethod } from './auth.method'; -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { PaginatedList } from '../../data/paginated-list.model'; /** * Object that represents the authenticated status of a user diff --git a/src/app/core/auth/models/short-lived-token.model.ts b/src/app/core/auth/models/short-lived-token.model.ts index 45137d1c2e..d91a26e990 100644 --- a/src/app/core/auth/models/short-lived-token.model.ts +++ b/src/app/core/auth/models/short-lived-token.model.ts @@ -1,10 +1,15 @@ +import { + autoserialize, + autoserializeAs, + deserialize, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; -import { ResourceType } from '../../shared/resource-type'; -import { SHORT_LIVED_TOKEN } from './short-lived-token.resource-type'; -import { HALLink } from '../../shared/hal-link.model'; import { CacheableObject } from '../../cache/cacheable-object.model'; +import { HALLink } from '../../shared/hal-link.model'; +import { ResourceType } from '../../shared/resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { SHORT_LIVED_TOKEN } from './short-lived-token.resource-type'; /** * A short-lived token that can be used to authenticate a rest request diff --git a/src/app/core/auth/selectors.ts b/src/app/core/auth/selectors.ts index aba739edf6..6360377626 100644 --- a/src/app/core/auth/selectors.ts +++ b/src/app/core/auth/selectors.ts @@ -1,5 +1,7 @@ import { createSelector } from '@ngrx/store'; +import { coreSelector } from '../core.selectors'; +import { CoreState } from '../core-state.model'; /** * Every reducer module's default export is the reducer function itself. In * addition, each module should export a type or interface that describes @@ -7,8 +9,6 @@ import { createSelector } from '@ngrx/store'; * notation packages up all of the exports into a single object. */ import { AuthState } from './auth.reducer'; -import { CoreState } from '../core-state.model'; -import { coreSelector } from '../core.selectors'; /** * Returns the user state. diff --git a/src/app/core/auth/server-auth-request.service.spec.ts b/src/app/core/auth/server-auth-request.service.spec.ts index cec9da469e..b119f6b3b7 100644 --- a/src/app/core/auth/server-auth-request.service.spec.ts +++ b/src/app/core/auth/server-auth-request.service.spec.ts @@ -1,14 +1,22 @@ -import { AuthRequestService } from './auth-request.service'; -import { RequestService } from '../data/request.service'; -import { ServerAuthRequestService } from './server-auth-request.service'; -import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http'; -import { Observable, of as observableOf } from 'rxjs'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { + HttpClient, + HttpHeaders, + HttpResponse, +} from '@angular/common/http'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { PostRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { XSRF_REQUEST_HEADER, XSRF_RESPONSE_HEADER, } from '../xsrf/xsrf.constants'; +import { AuthRequestService } from './auth-request.service'; +import { ServerAuthRequestService } from './server-auth-request.service'; describe(`ServerAuthRequestService`, () => { let href: string; diff --git a/src/app/core/auth/server-auth-request.service.ts b/src/app/core/auth/server-auth-request.service.ts index e9b41691cf..5f1828c71c 100644 --- a/src/app/core/auth/server-auth-request.service.ts +++ b/src/app/core/auth/server-auth-request.service.ts @@ -1,21 +1,22 @@ -import { Injectable } from '@angular/core'; -import { AuthRequestService } from './auth-request.service'; -import { PostRequest } from '../data/request.models'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { - HttpHeaders, HttpClient, + HttpHeaders, HttpResponse, } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { PostRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { + DSPACE_XSRF_COOKIE, XSRF_REQUEST_HEADER, XSRF_RESPONSE_HEADER, - DSPACE_XSRF_COOKIE, } from '../xsrf/xsrf.constants'; -import { map } from 'rxjs/operators'; -import { Observable } from 'rxjs'; +import { AuthRequestService } from './auth-request.service'; /** * Server side version of the service to send authentication requests diff --git a/src/app/core/auth/server-auth.service.ts b/src/app/core/auth/server-auth.service.ts index 6dbbf28443..f51215abad 100644 --- a/src/app/core/auth/server-auth.service.ts +++ b/src/app/core/auth/server-auth.service.ts @@ -1,15 +1,17 @@ -import { Injectable } from '@angular/core'; import { HttpHeaders } from '@angular/common/http'; - +import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { RemoteData } from '../data/remote-data'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { AuthService } from './auth.service'; import { AuthStatus } from './models/auth-status.model'; import { AuthTokenInfo } from './models/auth-token-info.model'; -import { RemoteData } from '../data/remote-data'; /** * The auth service. diff --git a/src/app/core/auth/token-response-parsing.service.spec.ts b/src/app/core/auth/token-response-parsing.service.spec.ts index 20a6e31794..f4244e98b2 100644 --- a/src/app/core/auth/token-response-parsing.service.spec.ts +++ b/src/app/core/auth/token-response-parsing.service.spec.ts @@ -1,6 +1,6 @@ -import { TokenResponseParsingService } from './token-response-parsing.service'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { TokenResponse } from '../cache/response.models'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; +import { TokenResponseParsingService } from './token-response-parsing.service'; describe('TokenResponseParsingService', () => { let service: TokenResponseParsingService; diff --git a/src/app/core/auth/token-response-parsing.service.ts b/src/app/core/auth/token-response-parsing.service.ts index 1ba7a16b14..3990d0f44e 100644 --- a/src/app/core/auth/token-response-parsing.service.ts +++ b/src/app/core/auth/token-response-parsing.service.ts @@ -1,9 +1,13 @@ -import { ResponseParsingService } from '../data/parsing.service'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { RestResponse, TokenResponse } from '../cache/response.models'; -import { isNotEmpty } from '../../shared/empty.util'; import { Injectable } from '@angular/core'; + +import { isNotEmpty } from '../../shared/empty.util'; +import { + RestResponse, + TokenResponse, +} from '../cache/response.models'; +import { ResponseParsingService } from '../data/parsing.service'; import { RestRequest } from '../data/rest-request.model'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; @Injectable() /** diff --git a/src/app/core/breadcrumbs/bitstream-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/bitstream-breadcrumb.resolver.ts index cacc05a700..f003bd0f85 100644 --- a/src/app/core/breadcrumbs/bitstream-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/bitstream-breadcrumb.resolver.ts @@ -1,11 +1,11 @@ import { Injectable } from '@angular/core'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { Bitstream } from '../shared/bitstream.model'; -import { BitstreamDataService } from '../data/bitstream-data.service'; import { BITSTREAM_PAGE_LINKS_TO_FOLLOW } from '../../bitstream-page/bitstream-page.resolver'; -import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { BitstreamDataService } from '../data/bitstream-data.service'; +import { Bitstream } from '../shared/bitstream.model'; import { BitstreamBreadcrumbsService } from './bitstream-breadcrumbs.service'; +import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; /** * The class that resolves the BreadcrumbConfig object for an Item diff --git a/src/app/core/breadcrumbs/bitstream-breadcrumbs.service.ts b/src/app/core/breadcrumbs/bitstream-breadcrumbs.service.ts index a1e3692cad..11a3a74350 100644 --- a/src/app/core/breadcrumbs/bitstream-breadcrumbs.service.ts +++ b/src/app/core/breadcrumbs/bitstream-breadcrumbs.service.ts @@ -1,23 +1,34 @@ import { Injectable } from '@angular/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; -import { Observable, of as observableOf } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; - -import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; -import { DSONameService } from './dso-name.service'; -import { ChildHALResource } from '../shared/child-hal-resource.model'; -import { LinkService } from '../cache/builders/link.service'; -import { DSpaceObject } from '../shared/dspace-object.model'; -import { RemoteData } from '../data/remote-data'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; import { getDSORoute } from '../../app-routing-paths'; -import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; +import { BITSTREAM_PAGE_LINKS_TO_FOLLOW } from '../../bitstream-page/bitstream-page.resolver'; +import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { LinkService } from '../cache/builders/link.service'; import { BitstreamDataService } from '../data/bitstream-data.service'; -import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../shared/operators'; +import { RemoteData } from '../data/remote-data'; import { Bitstream } from '../shared/bitstream.model'; import { Bundle } from '../shared/bundle.model'; +import { ChildHALResource } from '../shared/child-hal-resource.model'; +import { DSpaceObject } from '../shared/dspace-object.model'; import { Item } from '../shared/item.model'; -import { BITSTREAM_PAGE_LINKS_TO_FOLLOW } from '../../bitstream-page/bitstream-page.resolver'; +import { + getFirstCompletedRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; +import { DSONameService } from './dso-name.service'; /** * Service to calculate DSpaceObject breadcrumbs for a single part of the route diff --git a/src/app/core/breadcrumbs/breadcrumbsProviderService.ts b/src/app/core/breadcrumbs/breadcrumbsProviderService.ts index 4f5dd0a583..83d9a2caaa 100644 --- a/src/app/core/breadcrumbs/breadcrumbsProviderService.ts +++ b/src/app/core/breadcrumbs/breadcrumbsProviderService.ts @@ -1,6 +1,7 @@ -import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; import { Observable } from 'rxjs'; +import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; + /** * Service to calculate breadcrumbs for a single part of the route */ diff --git a/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts index eee5f495be..d337da22c7 100644 --- a/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts @@ -1,10 +1,11 @@ import { Injectable } from '@angular/core'; -import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; -import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; -import { Collection } from '../shared/collection.model'; -import { CollectionDataService } from '../data/collection-data.service'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; + import { COLLECTION_PAGE_LINKS_TO_FOLLOW } from '../../collection-page/collection-page.resolver'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { CollectionDataService } from '../data/collection-data.service'; +import { Collection } from '../shared/collection.model'; +import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; +import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; /** * The class that resolves the BreadcrumbConfig object for a Collection diff --git a/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts index 574ef4798d..4cbffe9a6a 100644 --- a/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts @@ -1,10 +1,11 @@ import { Injectable } from '@angular/core'; -import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; -import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; + +import { COMMUNITY_PAGE_LINKS_TO_FOLLOW } from '../../community-page/community-page.resolver'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { CommunityDataService } from '../data/community-data.service'; import { Community } from '../shared/community.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { COMMUNITY_PAGE_LINKS_TO_FOLLOW } from '../../community-page/community-page.resolver'; +import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; +import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; /** * The class that resolves the BreadcrumbConfig object for a Community diff --git a/src/app/core/breadcrumbs/dso-breadcrumb.resolver.spec.ts b/src/app/core/breadcrumbs/dso-breadcrumb.resolver.spec.ts index f5b35b5514..59fda031b2 100644 --- a/src/app/core/breadcrumbs/dso-breadcrumb.resolver.spec.ts +++ b/src/app/core/breadcrumbs/dso-breadcrumb.resolver.spec.ts @@ -1,8 +1,9 @@ -import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; -import { Collection } from '../shared/collection.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { getTestScheduler } from 'jasmine-marbles'; + +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { Collection } from '../shared/collection.model'; import { CollectionBreadcrumbResolver } from './collection-breadcrumb.resolver'; +import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; describe('DSOBreadcrumbResolver', () => { describe('resolve', () => { diff --git a/src/app/core/breadcrumbs/dso-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/dso-breadcrumb.resolver.ts index 92c02ed14c..712f40a3c5 100644 --- a/src/app/core/breadcrumbs/dso-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/dso-breadcrumb.resolver.ts @@ -1,15 +1,23 @@ -import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; -import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../shared/operators'; -import { map } from 'rxjs/operators'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { DSpaceObject } from '../shared/dspace-object.model'; -import { ChildHALResource } from '../shared/child-hal-resource.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { map } from 'rxjs/operators'; + +import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; import { hasValue } from '../../shared/empty.util'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { ChildHALResource } from '../shared/child-hal-resource.model'; +import { DSpaceObject } from '../shared/dspace-object.model'; +import { + getFirstCompletedRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; /** * The class that resolves the BreadcrumbConfig object for a DSpaceObject diff --git a/src/app/core/breadcrumbs/dso-breadcrumbs.service.spec.ts b/src/app/core/breadcrumbs/dso-breadcrumbs.service.spec.ts index 3f24cd1ce1..3869defa70 100644 --- a/src/app/core/breadcrumbs/dso-breadcrumbs.service.spec.ts +++ b/src/app/core/breadcrumbs/dso-breadcrumbs.service.spec.ts @@ -1,17 +1,24 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; -import { getMockLinkService } from '../../shared/mocks/link-service.mock'; -import { LinkService } from '../cache/builders/link.service'; -import { Item } from '../shared/item.model'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { DSpaceObject } from '../shared/dspace-object.model'; -import { of as observableOf } from 'rxjs'; -import { Community } from '../shared/community.model'; -import { Collection } from '../shared/collection.model'; -import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { getTestScheduler } from 'jasmine-marbles'; -import { DSONameService } from './dso-name.service'; +import { of as observableOf } from 'rxjs'; + import { getDSORoute } from '../../app-routing-paths'; +import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; +import { getMockLinkService } from '../../shared/mocks/link-service.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { LinkService } from '../cache/builders/link.service'; +import { Collection } from '../shared/collection.model'; +import { Community } from '../shared/community.model'; +import { DSpaceObject } from '../shared/dspace-object.model'; +import { Item } from '../shared/item.model'; +import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; +import { DSONameService } from './dso-name.service'; describe('DSOBreadcrumbsService', () => { let service: DSOBreadcrumbsService; diff --git a/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts b/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts index 9c9f724454..7d2e3697e1 100644 --- a/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts +++ b/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts @@ -1,16 +1,24 @@ +import { Injectable } from '@angular/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + find, + map, + switchMap, +} from 'rxjs/operators'; + +import { getDSORoute } from '../../app-routing-paths'; import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; +import { hasValue } from '../../shared/empty.util'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { LinkService } from '../cache/builders/link.service'; +import { RemoteData } from '../data/remote-data'; +import { ChildHALResource } from '../shared/child-hal-resource.model'; +import { DSpaceObject } from '../shared/dspace-object.model'; import { BreadcrumbsProviderService } from './breadcrumbsProviderService'; import { DSONameService } from './dso-name.service'; -import { Observable, of as observableOf } from 'rxjs'; -import { ChildHALResource } from '../shared/child-hal-resource.model'; -import { LinkService } from '../cache/builders/link.service'; -import { DSpaceObject } from '../shared/dspace-object.model'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import { find, map, switchMap } from 'rxjs/operators'; -import { RemoteData } from '../data/remote-data'; -import { hasValue } from '../../shared/empty.util'; -import { Injectable } from '@angular/core'; -import { getDSORoute } from '../../app-routing-paths'; /** * Service to calculate DSpaceObject breadcrumbs for a single part of the route diff --git a/src/app/core/breadcrumbs/dso-name.service.ts b/src/app/core/breadcrumbs/dso-name.service.ts index 18bc821c3f..edbd351848 100644 --- a/src/app/core/breadcrumbs/dso-name.service.ts +++ b/src/app/core/breadcrumbs/dso-name.service.ts @@ -1,7 +1,11 @@ import { Injectable } from '@angular/core'; -import { hasValue, isEmpty } from '../../shared/empty.util'; -import { DSpaceObject } from '../shared/dspace-object.model'; import { TranslateService } from '@ngx-translate/core'; + +import { + hasValue, + isEmpty, +} from '../../shared/empty.util'; +import { DSpaceObject } from '../shared/dspace-object.model'; import { Metadata } from '../shared/metadata.utils'; /** diff --git a/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.spec.ts b/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.spec.ts index 822d6a896f..05ef2969f7 100644 --- a/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.spec.ts +++ b/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.spec.ts @@ -1,5 +1,5 @@ -import { I18nBreadcrumbResolver } from './i18n-breadcrumb.resolver'; import { URLCombiner } from '../url-combiner/url-combiner'; +import { I18nBreadcrumbResolver } from './i18n-breadcrumb.resolver'; describe('I18nBreadcrumbResolver', () => { describe('resolve', () => { diff --git a/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.ts index ed5a024672..afcd461de8 100644 --- a/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/i18n-breadcrumb.resolver.ts @@ -1,9 +1,14 @@ -import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { I18nBreadcrumbsService } from './i18n-breadcrumbs.service'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; + +import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model'; import { hasNoValue } from '../../shared/empty.util'; import { currentPathFromSnapshot } from '../../shared/utils/route.utils'; +import { I18nBreadcrumbsService } from './i18n-breadcrumbs.service'; /** * The class that resolves a BreadcrumbConfig object with an i18n key string for a route diff --git a/src/app/core/breadcrumbs/i18n-breadcrumbs.service.spec.ts b/src/app/core/breadcrumbs/i18n-breadcrumbs.service.spec.ts index ac2f244037..3fcd911a46 100644 --- a/src/app/core/breadcrumbs/i18n-breadcrumbs.service.spec.ts +++ b/src/app/core/breadcrumbs/i18n-breadcrumbs.service.spec.ts @@ -1,7 +1,14 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { getTestScheduler } from 'jasmine-marbles'; -import { BREADCRUMB_MESSAGE_POSTFIX, I18nBreadcrumbsService } from './i18n-breadcrumbs.service'; + +import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; +import { + BREADCRUMB_MESSAGE_POSTFIX, + I18nBreadcrumbsService, +} from './i18n-breadcrumbs.service'; describe('I18nBreadcrumbsService', () => { let service: I18nBreadcrumbsService; diff --git a/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts b/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts index 7e31efe690..5746f6faf2 100644 --- a/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts +++ b/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts @@ -1,7 +1,11 @@ +import { Injectable } from '@angular/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; import { BreadcrumbsProviderService } from './breadcrumbsProviderService'; -import { Observable, of as observableOf } from 'rxjs'; -import { Injectable } from '@angular/core'; /** * The postfix for i18n breadcrumbs diff --git a/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts index e22ffb364d..f609cbf3bc 100644 --- a/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts @@ -1,10 +1,11 @@ import { Injectable } from '@angular/core'; -import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; + +import { ITEM_PAGE_LINKS_TO_FOLLOW } from '../../item-page/item.resolver'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { ItemDataService } from '../data/item-data.service'; import { Item } from '../shared/item.model'; import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { ITEM_PAGE_LINKS_TO_FOLLOW } from '../../item-page/item.resolver'; +import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; /** * The class that resolves the BreadcrumbConfig object for an Item diff --git a/src/app/core/browse/browse-definition-data.service.spec.ts b/src/app/core/browse/browse-definition-data.service.spec.ts index 84899b8336..affa63a548 100644 --- a/src/app/core/browse/browse-definition-data.service.spec.ts +++ b/src/app/core/browse/browse-definition-data.service.spec.ts @@ -1,11 +1,12 @@ -import { BrowseDefinitionDataService } from './browse-definition-data.service'; -import { followLink } from '../../shared/utils/follow-link-config.model'; import { EMPTY } from 'rxjs'; -import { FindListOptions } from '../data/find-list-options.model'; -import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; -import { RequestService } from '../data/request.service'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; + import { getMockObjectCacheService } from '../../shared/mocks/object-cache.service.mock'; +import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { FindListOptions } from '../data/find-list-options.model'; +import { RequestService } from '../data/request.service'; +import { BrowseDefinitionDataService } from './browse-definition-data.service'; describe(`BrowseDefinitionDataService`, () => { let requestService: RequestService; diff --git a/src/app/core/browse/browse-definition-data.service.ts b/src/app/core/browse/browse-definition-data.service.ts index b81781ced0..b823f42076 100644 --- a/src/app/core/browse/browse-definition-data.service.ts +++ b/src/app/core/browse/browse-definition-data.service.ts @@ -1,24 +1,38 @@ // eslint-disable-next-line max-classes-per-file import { Injectable } from '@angular/core'; -import { BROWSE_DEFINITION } from '../shared/browse-definition.resource-type'; -import { RequestService } from '../data/request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { FindAllData, FindAllDataImpl } from '../data/base/find-all-data'; -import { dataService } from '../data/base/data-service.decorator'; -import { isNotEmpty, isNotEmptyOperator, hasValue } from '../../shared/empty.util'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { take } from 'rxjs/operators'; -import { BrowseDefinitionRestRequest } from '../data/request.models'; + +import { + hasValue, + isNotEmpty, + isNotEmptyOperator, +} from '../../shared/empty.util'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RequestParam } from '../cache/models/request-param.model'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { + FindAllData, + FindAllDataImpl, +} from '../data/base/find-all-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { BrowseDefinitionRestRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; import { BrowseDefinition } from '../shared/browse-definition.model'; +import { BROWSE_DEFINITION } from '../shared/browse-definition.resource-type'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; /** * Create a GET request for the given href, and send it. diff --git a/src/app/core/browse/browse.service.spec.ts b/src/app/core/browse/browse.service.spec.ts index c097718049..f9999439e1 100644 --- a/src/app/core/browse/browse.service.spec.ts +++ b/src/app/core/browse/browse.service.spec.ts @@ -1,20 +1,31 @@ -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + +import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { + createPaginatedList, + getFirstUsedArgumentOfSpyMethod, +} from '../../shared/testing/utils.test'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RequestService } from '../data/request.service'; -import { BrowseEntrySearchOptions } from './browse-entry-search-options.model'; -import { BrowseService } from './browse.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { createPaginatedList, getFirstUsedArgumentOfSpyMethod } from '../../shared/testing/utils.test'; -import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; import { RequestEntry } from '../data/request-entry.model'; import { FlatBrowseDefinition } from '../shared/flat-browse-definition.model'; -import { ValueListBrowseDefinition } from '../shared/value-list-browse-definition.model'; import { HierarchicalBrowseDefinition } from '../shared/hierarchical-browse-definition.model'; +import { ValueListBrowseDefinition } from '../shared/value-list-browse-definition.model'; +import { BrowseService } from './browse.service'; +import { BrowseEntrySearchOptions } from './browse-entry-search-options.model'; describe('BrowseService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/browse/browse.service.ts b/src/app/core/browse/browse.service.ts index 531eef7915..376054e019 100644 --- a/src/app/core/browse/browse.service.ts +++ b/src/app/core/browse/browse.service.ts @@ -1,29 +1,42 @@ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, map, startWith } from 'rxjs/operators'; -import { hasValue, hasValueOperator, isEmpty, isNotEmpty } from '../../shared/empty.util'; +import { + distinctUntilChanged, + map, + startWith, +} from 'rxjs/operators'; + +import { + hasValue, + hasValueOperator, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { SortDirection } from '../cache/models/sort-options.model'; +import { HrefOnlyDataService } from '../data/href-only-data.service'; import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; import { RequestService } from '../data/request.service'; import { BrowseDefinition } from '../shared/browse-definition.model'; -import { FlatBrowseDefinition } from '../shared/flat-browse-definition.model'; import { BrowseEntry } from '../shared/browse-entry.model'; +import { FlatBrowseDefinition } from '../shared/flat-browse-definition.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; import { getBrowseDefinitionLinks, getFirstOccurrence, - getRemoteDataPayload, getFirstSucceededRemoteData, getPaginatedListPayload, + getRemoteDataPayload, } from '../shared/operators'; import { URLCombiner } from '../url-combiner/url-combiner'; -import { BrowseEntrySearchOptions } from './browse-entry-search-options.model'; -import { HrefOnlyDataService } from '../data/href-only-data.service'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { BrowseDefinitionDataService } from './browse-definition-data.service'; -import { SortDirection } from '../cache/models/sort-options.model'; +import { BrowseEntrySearchOptions } from './browse-entry-search-options.model'; export const BROWSE_LINKS_TO_FOLLOW: FollowLinkConfig[] = [ diff --git a/src/app/core/cache/builders/build-decorators.spec.ts b/src/app/core/cache/builders/build-decorators.spec.ts index 150a07f006..6065dd3e5e 100644 --- a/src/app/core/cache/builders/build-decorators.spec.ts +++ b/src/app/core/cache/builders/build-decorators.spec.ts @@ -1,7 +1,10 @@ import { HALLink } from '../../shared/hal-link.model'; import { HALResource } from '../../shared/hal-resource.model'; import { ResourceType } from '../../shared/resource-type'; -import { getLinkDefinition, link } from './build-decorators'; +import { + getLinkDefinition, + link, +} from './build-decorators'; class TestHALResource implements HALResource { _links: { diff --git a/src/app/core/cache/builders/build-decorators.ts b/src/app/core/cache/builders/build-decorators.ts index 904f0c9ce8..849056051c 100644 --- a/src/app/core/cache/builders/build-decorators.ts +++ b/src/app/core/cache/builders/build-decorators.ts @@ -1,10 +1,13 @@ -import { hasNoValue, hasValue } from '../../../shared/empty.util'; +import { InjectionToken } from '@angular/core'; +import { + hasNoValue, + hasValue, +} from '../../../shared/empty.util'; import { GenericConstructor } from '../../shared/generic-constructor'; import { HALResource } from '../../shared/hal-resource.model'; import { ResourceType } from '../../shared/resource-type'; import { getResourceTypeValueFor } from '../object-cache.reducer'; -import { InjectionToken } from '@angular/core'; import { TypedObject } from '../typed-object.model'; export const LINK_DEFINITION_FACTORY = new InjectionToken<(source: GenericConstructor, linkName: keyof T['_links']) => LinkDefinition>('getLinkDefinition', { diff --git a/src/app/core/cache/builders/link.service.spec.ts b/src/app/core/cache/builders/link.service.spec.ts index 3c4147164c..0bb5e4f238 100644 --- a/src/app/core/cache/builders/link.service.spec.ts +++ b/src/app/core/cache/builders/link.service.spec.ts @@ -1,15 +1,22 @@ /* eslint-disable max-classes-per-file */ import { Injectable } from '@angular/core'; import { TestBed } from '@angular/core/testing'; -import { followLink, FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; +import { isEmpty } from 'rxjs/operators'; + +import { + followLink, + FollowLinkConfig, +} from '../../../shared/utils/follow-link-config.model'; +import { DATA_SERVICE_FACTORY } from '../../data/base/data-service.decorator'; +import { FindListOptions } from '../../data/find-list-options.model'; import { HALLink } from '../../shared/hal-link.model'; import { HALResource } from '../../shared/hal-resource.model'; import { ResourceType } from '../../shared/resource-type'; +import { + LINK_DEFINITION_FACTORY, + LINK_DEFINITION_MAP_FACTORY, +} from './build-decorators'; import { LinkService } from './link.service'; -import { LINK_DEFINITION_FACTORY, LINK_DEFINITION_MAP_FACTORY } from './build-decorators'; -import { isEmpty } from 'rxjs/operators'; -import { FindListOptions } from '../../data/find-list-options.model'; -import { DATA_SERVICE_FACTORY } from '../../data/base/data-service.decorator'; const TEST_MODEL = new ResourceType('testmodel'); let result: any; diff --git a/src/app/core/cache/builders/link.service.ts b/src/app/core/cache/builders/link.service.ts index afc7ab88e4..78cd28085e 100644 --- a/src/app/core/cache/builders/link.service.ts +++ b/src/app/core/cache/builders/link.service.ts @@ -1,19 +1,31 @@ -import { Inject, Injectable, Injector } from '@angular/core'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../shared/empty.util'; +import { + Inject, + Injectable, + Injector, +} from '@angular/core'; +import { + EMPTY, + Observable, +} from 'rxjs'; + +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; +import { DATA_SERVICE_FACTORY } from '../../data/base/data-service.decorator'; +import { HALDataService } from '../../data/base/hal-data-service.interface'; +import { PaginatedList } from '../../data/paginated-list.model'; +import { RemoteData } from '../../data/remote-data'; import { GenericConstructor } from '../../shared/generic-constructor'; import { HALResource } from '../../shared/hal-resource.model'; -import { DATA_SERVICE_FACTORY } from '../../data/base/data-service.decorator'; +import { ResourceType } from '../../shared/resource-type'; import { LINK_DEFINITION_FACTORY, LINK_DEFINITION_MAP_FACTORY, LinkDefinition, } from './build-decorators'; -import { RemoteData } from '../../data/remote-data'; -import { EMPTY, Observable } from 'rxjs'; -import { ResourceType } from '../../shared/resource-type'; -import { HALDataService } from '../../data/base/hal-data-service.interface'; -import { PaginatedList } from '../../data/paginated-list.model'; /** * A Service to handle the resolving and removing diff --git a/src/app/core/cache/builders/remote-data-build.service.spec.ts b/src/app/core/cache/builders/remote-data-build.service.spec.ts index 76f6f9fb8f..ec756ce85e 100644 --- a/src/app/core/cache/builders/remote-data-build.service.spec.ts +++ b/src/app/core/cache/builders/remote-data-build.service.spec.ts @@ -1,26 +1,43 @@ -import { createFailedRemoteDataObject, createPendingRemoteDataObject, createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; -import { buildPaginatedList, PaginatedList } from '../../data/paginated-list.model'; -import { Item } from '../../shared/item.model'; -import { PageInfo } from '../../shared/page-info.model'; -import { RemoteDataBuildService } from './remote-data-build.service'; -import { ObjectCacheService } from '../object-cache.service'; -import { ITEM } from '../../shared/item.resource-type'; -import { getMockLinkService } from '../../../shared/mocks/link-service.mock'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { getMockObjectCacheService } from '../../../shared/mocks/object-cache.service.mock'; -import { LinkService } from './link.service'; -import { RequestService } from '../../data/request.service'; -import { UnCacheableObject } from '../../shared/uncacheable-object.model'; -import { RemoteData } from '../../data/remote-data'; -import { Observable, of as observableOf } from 'rxjs'; -import { followLink, FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { take } from 'rxjs/operators'; -import { HALLink } from '../../shared/hal-link.model'; -import { RequestEntryState } from '../../data/request-entry-state.model'; -import { RequestEntry } from '../../data/request-entry.model'; +import { + fakeAsync, + tick, +} from '@angular/core/testing'; import { cold } from 'jasmine-marbles'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { take } from 'rxjs/operators'; import { TestScheduler } from 'rxjs/testing'; -import { fakeAsync, tick } from '@angular/core/testing'; + +import { getMockLinkService } from '../../../shared/mocks/link-service.mock'; +import { getMockObjectCacheService } from '../../../shared/mocks/object-cache.service.mock'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { + createFailedRemoteDataObject, + createPendingRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../../../shared/remote-data.utils'; +import { + followLink, + FollowLinkConfig, +} from '../../../shared/utils/follow-link-config.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../data/paginated-list.model'; +import { RemoteData } from '../../data/remote-data'; +import { RequestService } from '../../data/request.service'; +import { RequestEntry } from '../../data/request-entry.model'; +import { RequestEntryState } from '../../data/request-entry-state.model'; +import { HALLink } from '../../shared/hal-link.model'; +import { Item } from '../../shared/item.model'; +import { ITEM } from '../../shared/item.resource-type'; +import { PageInfo } from '../../shared/page-info.model'; +import { UnCacheableObject } from '../../shared/uncacheable-object.model'; +import { ObjectCacheService } from '../object-cache.service'; +import { LinkService } from './link.service'; +import { RemoteDataBuildService } from './remote-data-build.service'; describe('RemoteDataBuildService', () => { let service: RemoteDataBuildService; diff --git a/src/app/core/cache/builders/remote-data-build.service.ts b/src/app/core/cache/builders/remote-data-build.service.ts index a84ed6804a..ee58c62047 100644 --- a/src/app/core/cache/builders/remote-data-build.service.ts +++ b/src/app/core/cache/builders/remote-data-build.service.ts @@ -5,27 +5,50 @@ import { Observable, of as observableOf, } from 'rxjs'; -import { map, switchMap, filter, distinctUntilKeyChanged, startWith } from 'rxjs/operators'; -import { hasValue, isEmpty, isNotEmpty, hasNoValue, isUndefined } from '../../../shared/empty.util'; +import { + distinctUntilKeyChanged, + filter, + map, + startWith, + switchMap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + isEmpty, + isNotEmpty, + isUndefined, +} from '../../../shared/empty.util'; import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { FollowLinkConfig, followLink } from '../../../shared/utils/follow-link-config.model'; +import { + followLink, + FollowLinkConfig, +} from '../../../shared/utils/follow-link-config.model'; import { PaginatedList } from '../../data/paginated-list.model'; +import { PAGINATED_LIST } from '../../data/paginated-list.resource-type'; import { RemoteData } from '../../data/remote-data'; import { RequestService } from '../../data/request.service'; -import { ObjectCacheService } from '../object-cache.service'; -import { LinkService } from './link.service'; -import { HALLink } from '../../shared/hal-link.model'; -import { GenericConstructor } from '../../shared/generic-constructor'; -import { getClassForType } from './build-decorators'; -import { HALResource } from '../../shared/hal-resource.model'; -import { PAGINATED_LIST } from '../../data/paginated-list.resource-type'; -import { getUrlWithoutEmbedParams } from '../../index/index.selectors'; -import { getResourceTypeValueFor } from '../object-cache.reducer'; -import { hasSucceeded, isStale, RequestEntryState } from '../../data/request-entry-state.model'; -import { getRequestFromRequestHref, getRequestFromRequestUUID } from '../../shared/request.operators'; import { RequestEntry } from '../../data/request-entry.model'; +import { + hasSucceeded, + isStale, + RequestEntryState, +} from '../../data/request-entry-state.model'; import { ResponseState } from '../../data/response-state.model'; +import { getUrlWithoutEmbedParams } from '../../index/index.selectors'; +import { GenericConstructor } from '../../shared/generic-constructor'; +import { HALLink } from '../../shared/hal-link.model'; +import { HALResource } from '../../shared/hal-resource.model'; import { getFirstCompletedRemoteData } from '../../shared/operators'; +import { + getRequestFromRequestHref, + getRequestFromRequestUUID, +} from '../../shared/request.operators'; +import { getResourceTypeValueFor } from '../object-cache.reducer'; +import { ObjectCacheService } from '../object-cache.service'; +import { getClassForType } from './build-decorators'; +import { LinkService } from './link.service'; @Injectable() export class RemoteDataBuildService { diff --git a/src/app/core/cache/cacheable-object.model.ts b/src/app/core/cache/cacheable-object.model.ts index b7d1609d58..86d041dab7 100644 --- a/src/app/core/cache/cacheable-object.model.ts +++ b/src/app/core/cache/cacheable-object.model.ts @@ -1,6 +1,6 @@ /* tslint:disable:max-classes-per-file */ -import { HALResource } from '../shared/hal-resource.model'; import { HALLink } from '../shared/hal-link.model'; +import { HALResource } from '../shared/hal-resource.model'; import { TypedObject } from './typed-object.model'; /** diff --git a/src/app/core/cache/object-cache.actions.ts b/src/app/core/cache/object-cache.actions.ts index 41f4f41a8d..5f8f60e1f1 100644 --- a/src/app/core/cache/object-cache.actions.ts +++ b/src/app/core/cache/object-cache.actions.ts @@ -1,8 +1,8 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; +import { Operation } from 'fast-json-patch'; import { type } from '../../shared/ngrx/type'; -import { Operation } from 'fast-json-patch'; import { CacheableObject } from './cacheable-object.model'; /** diff --git a/src/app/core/cache/object-cache.effects.spec.ts b/src/app/core/cache/object-cache.effects.spec.ts index 3a50a5dbc7..66270be4c2 100644 --- a/src/app/core/cache/object-cache.effects.spec.ts +++ b/src/app/core/cache/object-cache.effects.spec.ts @@ -1,10 +1,14 @@ import { TestBed } from '@angular/core/testing'; -import { Observable } from 'rxjs'; import { provideMockActions } from '@ngrx/effects/testing'; -import { cold, hot } from 'jasmine-marbles'; -import { ObjectCacheEffects } from './object-cache.effects'; -import { ResetObjectCacheTimestampsAction } from './object-cache.actions'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { Observable } from 'rxjs'; + import { StoreActionTypes } from '../../store.actions'; +import { ResetObjectCacheTimestampsAction } from './object-cache.actions'; +import { ObjectCacheEffects } from './object-cache.effects'; describe('ObjectCacheEffects', () => { let cacheEffects: ObjectCacheEffects; diff --git a/src/app/core/cache/object-cache.effects.ts b/src/app/core/cache/object-cache.effects.ts index 7ce7b26119..0de59a152c 100644 --- a/src/app/core/cache/object-cache.effects.ts +++ b/src/app/core/cache/object-cache.effects.ts @@ -1,6 +1,10 @@ -import { map } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { map } from 'rxjs/operators'; import { StoreActionTypes } from '../../store.actions'; import { ResetObjectCacheTimestampsAction } from './object-cache.actions'; diff --git a/src/app/core/cache/object-cache.reducer.spec.ts b/src/app/core/cache/object-cache.reducer.spec.ts index 402ab61b2d..a22c4a9f82 100644 --- a/src/app/core/cache/object-cache.reducer.spec.ts +++ b/src/app/core/cache/object-cache.reducer.spec.ts @@ -1,6 +1,7 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; import { Operation } from 'fast-json-patch'; + import { Item } from '../shared/item.model'; import { AddDependentsObjectCacheAction, @@ -11,7 +12,6 @@ import { RemoveFromObjectCacheAction, ResetObjectCacheTimestampsAction, } from './object-cache.actions'; - import { objectCacheReducer } from './object-cache.reducer'; class NullAction extends RemoveFromObjectCacheAction { diff --git a/src/app/core/cache/object-cache.reducer.ts b/src/app/core/cache/object-cache.reducer.ts index 8f4122eaaa..631ecd2209 100644 --- a/src/app/core/cache/object-cache.reducer.ts +++ b/src/app/core/cache/object-cache.reducer.ts @@ -1,18 +1,26 @@ /* eslint-disable max-classes-per-file */ +import { + applyPatch, + Operation, +} from 'fast-json-patch'; + +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { CacheEntry } from './cache-entry'; +import { CacheableObject } from './cacheable-object.model'; import { AddDependentsObjectCacheAction, AddPatchObjectCacheAction, AddToObjectCacheAction, ApplyPatchObjectCacheAction, ObjectCacheAction, - ObjectCacheActionTypes, RemoveDependentsObjectCacheAction, + ObjectCacheActionTypes, + RemoveDependentsObjectCacheAction, RemoveFromObjectCacheAction, ResetObjectCacheTimestampsAction, } from './object-cache.actions'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { CacheEntry } from './cache-entry'; -import { applyPatch, Operation } from 'fast-json-patch'; -import { CacheableObject } from './cacheable-object.model'; /** * An interface to represent a JsonPatch diff --git a/src/app/core/cache/object-cache.service.spec.ts b/src/app/core/cache/object-cache.service.spec.ts index f183f5da22..9e833af084 100644 --- a/src/app/core/cache/object-cache.service.spec.ts +++ b/src/app/core/cache/object-cache.service.spec.ts @@ -1,33 +1,44 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; - -import { cold } from 'jasmine-marbles'; -import { Store, StoreModule } from '@ngrx/store'; -import { MockStore, provideMockStore } from '@ngrx/store/testing'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + MockStore, + provideMockStore, +} from '@ngrx/store/testing'; import { Operation } from 'fast-json-patch'; -import { empty, of as observableOf } from 'rxjs'; +import { cold } from 'jasmine-marbles'; +import { TestColdObservable } from 'jasmine-marbles/src/test-observables'; +import { + empty, + of as observableOf, +} from 'rxjs'; import { first } from 'rxjs/operators'; +import { TestScheduler } from 'rxjs/testing'; +import { storeModuleConfig } from '../../app.reducer'; import { coreReducers} from '../core.reducers'; +import { CoreState } from '../core-state.model'; import { RestRequestMethod } from '../data/rest-request-method'; +import { RemoveFromIndexBySubstringAction } from '../index/index.actions'; +import { IndexName } from '../index/index-name.model'; +import { HALLink } from '../shared/hal-link.model'; import { Item } from '../shared/item.model'; import { AddDependentsObjectCacheAction, - RemoveDependentsObjectCacheAction, AddPatchObjectCacheAction, AddToObjectCacheAction, ApplyPatchObjectCacheAction, + RemoveDependentsObjectCacheAction, RemoveFromObjectCacheAction, } from './object-cache.actions'; import { Patch } from './object-cache.reducer'; import { ObjectCacheService } from './object-cache.service'; import { AddToSSBAction } from './server-sync-buffer.actions'; -import { RemoveFromIndexBySubstringAction } from '../index/index.actions'; -import { HALLink } from '../shared/hal-link.model'; -import { storeModuleConfig } from '../../app.reducer'; -import { TestColdObservable } from 'jasmine-marbles/src/test-observables'; -import { IndexName } from '../index/index-name.model'; -import { CoreState } from '../core-state.model'; -import { TestScheduler } from 'rxjs/testing'; describe('ObjectCacheService', () => { let service: ObjectCacheService; diff --git a/src/app/core/cache/object-cache.service.ts b/src/app/core/cache/object-cache.service.ts index be1f83fac6..09ea6450bb 100644 --- a/src/app/core/cache/object-cache.service.ts +++ b/src/app/core/cache/object-cache.service.ts @@ -1,25 +1,61 @@ import { Injectable } from '@angular/core'; -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; -import { applyPatch, Operation } from 'fast-json-patch'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; +import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; +import { + applyPatch, + Operation, +} from 'fast-json-patch'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + mergeMap, + switchMap, + take, +} from 'rxjs/operators'; -import { distinctUntilChanged, filter, map, mergeMap, switchMap, take } from 'rxjs/operators'; -import { hasNoValue, hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { CoreState } from '../core-state.model'; +import { + hasNoValue, + hasValue, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; import { coreSelector } from '../core.selectors'; +import { CoreState } from '../core-state.model'; import { RestRequestMethod } from '../data/rest-request-method'; -import { selfLinkFromAlternativeLinkSelector, selfLinkFromUuidSelector } from '../index/index.selectors'; +import { RemoveFromIndexBySubstringAction } from '../index/index.actions'; +import { + selfLinkFromAlternativeLinkSelector, + selfLinkFromUuidSelector, +} from '../index/index.selectors'; +import { IndexName } from '../index/index-name.model'; import { GenericConstructor } from '../shared/generic-constructor'; +import { HALLink } from '../shared/hal-link.model'; import { getClassForType } from './builders/build-decorators'; import { LinkService } from './builders/link.service'; -import { AddDependentsObjectCacheAction, AddPatchObjectCacheAction, AddToObjectCacheAction, ApplyPatchObjectCacheAction, RemoveDependentsObjectCacheAction, RemoveFromObjectCacheAction } from './object-cache.actions'; - -import { ObjectCacheEntry, ObjectCacheState } from './object-cache.reducer'; -import { AddToSSBAction } from './server-sync-buffer.actions'; -import { RemoveFromIndexBySubstringAction } from '../index/index.actions'; -import { HALLink } from '../shared/hal-link.model'; import { CacheableObject } from './cacheable-object.model'; -import { IndexName } from '../index/index-name.model'; +import { + AddDependentsObjectCacheAction, + AddPatchObjectCacheAction, + AddToObjectCacheAction, + ApplyPatchObjectCacheAction, + RemoveDependentsObjectCacheAction, + RemoveFromObjectCacheAction, +} from './object-cache.actions'; +import { + ObjectCacheEntry, + ObjectCacheState, +} from './object-cache.reducer'; +import { AddToSSBAction } from './server-sync-buffer.actions'; /** * The base selector function to select the object cache in the store diff --git a/src/app/core/cache/response.models.ts b/src/app/core/cache/response.models.ts index 9dedb26acf..9a09a49bc8 100644 --- a/src/app/core/cache/response.models.ts +++ b/src/app/core/cache/response.models.ts @@ -1,10 +1,10 @@ /* eslint-disable max-classes-per-file */ -import { PageInfo } from '../shared/page-info.model'; import { ConfigObject } from '../config/models/config.model'; +import { RequestError } from '../data/request-error.model'; import { DSpaceObject } from '../shared/dspace-object.model'; import { HALLink } from '../shared/hal-link.model'; +import { PageInfo } from '../shared/page-info.model'; import { UnCacheableObject } from '../shared/uncacheable-object.model'; -import { RequestError } from '../data/request-error.model'; export class RestResponse { public toCache = true; diff --git a/src/app/core/cache/server-sync-buffer.effects.spec.ts b/src/app/core/cache/server-sync-buffer.effects.spec.ts index 68fd4086d2..889b3b7454 100644 --- a/src/app/core/cache/server-sync-buffer.effects.spec.ts +++ b/src/app/core/cache/server-sync-buffer.effects.spec.ts @@ -1,12 +1,22 @@ import { TestBed } from '@angular/core/testing'; - import { provideMockActions } from '@ngrx/effects/testing'; -import { Store, StoreModule } from '@ngrx/store'; -import { cold, hot } from 'jasmine-marbles'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; +import { storeModuleConfig } from '../../app.reducer'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { NoOpAction } from '../../shared/ngrx/no-op.action'; import { StoreMock } from '../../shared/testing/store.mock'; import { RequestService } from '../data/request.service'; import { RestRequestMethod } from '../data/rest-request-method'; @@ -19,8 +29,6 @@ import { ServerSyncBufferActionTypes, } from './server-sync-buffer.actions'; import { ServerSyncBufferEffects } from './server-sync-buffer.effects'; -import { storeModuleConfig } from '../../app.reducer'; -import { NoOpAction } from '../../shared/ngrx/no-op.action'; describe('ServerSyncBufferEffects', () => { let ssbEffects: ServerSyncBufferEffects; diff --git a/src/app/core/cache/server-sync-buffer.effects.ts b/src/app/core/cache/server-sync-buffer.effects.ts index 91c4ce7efc..6f346d5bb3 100644 --- a/src/app/core/cache/server-sync-buffer.effects.ts +++ b/src/app/core/cache/server-sync-buffer.effects.ts @@ -1,27 +1,55 @@ -import { delay, exhaustMap, map, switchMap, take } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { + Action, + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; +import { Operation } from 'fast-json-patch'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + delay, + exhaustMap, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { environment } from '../../../environments/environment'; +import { + hasValue, + isNotEmpty, + isNotUndefined, +} from '../../shared/empty.util'; +import { NoOpAction } from '../../shared/ngrx/no-op.action'; import { coreSelector } from '../core.selectors'; +import { CoreState } from '../core-state.model'; +import { PatchRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { RestRequestMethod } from '../data/rest-request-method'; +import { ApplyPatchObjectCacheAction } from './object-cache.actions'; +import { ObjectCacheEntry } from './object-cache.reducer'; +import { ObjectCacheService } from './object-cache.service'; import { AddToSSBAction, CommitSSBAction, EmptySSBAction, ServerSyncBufferActionTypes, } from './server-sync-buffer.actions'; -import { Action, createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; -import { ServerSyncBufferEntry, ServerSyncBufferState } from './server-sync-buffer.reducer'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { RequestService } from '../data/request.service'; -import { PatchRequest } from '../data/request.models'; -import { ObjectCacheService } from './object-cache.service'; -import { ApplyPatchObjectCacheAction } from './object-cache.actions'; -import { hasValue, isNotEmpty, isNotUndefined } from '../../shared/empty.util'; -import { RestRequestMethod } from '../data/rest-request-method'; -import { environment } from '../../../environments/environment'; -import { ObjectCacheEntry } from './object-cache.reducer'; -import { Operation } from 'fast-json-patch'; -import { NoOpAction } from '../../shared/ngrx/no-op.action'; -import { CoreState } from '../core-state.model'; +import { + ServerSyncBufferEntry, + ServerSyncBufferState, +} from './server-sync-buffer.reducer'; @Injectable() export class ServerSyncBufferEffects { diff --git a/src/app/core/cache/server-sync-buffer.reducer.spec.ts b/src/app/core/cache/server-sync-buffer.reducer.spec.ts index edfd8e2502..10ef132256 100644 --- a/src/app/core/cache/server-sync-buffer.reducer.spec.ts +++ b/src/app/core/cache/server-sync-buffer.reducer.spec.ts @@ -1,9 +1,13 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; -import { RemoveFromObjectCacheAction } from './object-cache.actions'; -import { serverSyncBufferReducer } from './server-sync-buffer.reducer'; + import { RestRequestMethod } from '../data/rest-request-method'; -import { AddToSSBAction, EmptySSBAction } from './server-sync-buffer.actions'; +import { RemoveFromObjectCacheAction } from './object-cache.actions'; +import { + AddToSSBAction, + EmptySSBAction, +} from './server-sync-buffer.actions'; +import { serverSyncBufferReducer } from './server-sync-buffer.reducer'; class NullAction extends RemoveFromObjectCacheAction { type = null; diff --git a/src/app/core/cache/server-sync-buffer.reducer.ts b/src/app/core/cache/server-sync-buffer.reducer.ts index 866a3004f8..f1ae894315 100644 --- a/src/app/core/cache/server-sync-buffer.reducer.ts +++ b/src/app/core/cache/server-sync-buffer.reducer.ts @@ -1,11 +1,14 @@ -import { hasNoValue, hasValue } from '../../shared/empty.util'; +import { + hasNoValue, + hasValue, +} from '../../shared/empty.util'; +import { RestRequestMethod } from '../data/rest-request-method'; import { AddToSSBAction, EmptySSBAction, ServerSyncBufferAction, ServerSyncBufferActionTypes, } from './server-sync-buffer.actions'; -import { RestRequestMethod } from '../data/rest-request-method'; /** * An entry in the ServerSyncBufferState diff --git a/src/app/core/config/bulk-access-config-data.service.ts b/src/app/core/config/bulk-access-config-data.service.ts index 28b4029ea2..edae249a8f 100644 --- a/src/app/core/config/bulk-access-config-data.service.ts +++ b/src/app/core/config/bulk-access-config-data.service.ts @@ -1,10 +1,11 @@ import { Injectable } from '@angular/core'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { ConfigDataService } from './config-data.service'; import { dataService } from '../data/base/data-service.decorator'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { ConfigDataService } from './config-data.service'; import { BULK_ACCESS_CONDITION_OPTIONS } from './models/config-type'; /** diff --git a/src/app/core/config/config-data.service.spec.ts b/src/app/core/config/config-data.service.spec.ts index 38340d1ad5..a9979f1bb5 100644 --- a/src/app/core/config/config-data.service.spec.ts +++ b/src/app/core/config/config-data.service.spec.ts @@ -1,15 +1,16 @@ import { getTestScheduler } from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; + +import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { ConfigDataService } from './config-data.service'; -import { RequestService } from '../data/request.service'; -import { GetRequest } from '../data/request.models'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; -import { FindListOptions } from '../data/find-list-options.model'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { FindListOptions } from '../data/find-list-options.model'; +import { GetRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { ConfigDataService } from './config-data.service'; const LINK_NAME = 'test'; const BROWSE = 'search/findByCollection'; diff --git a/src/app/core/config/config-data.service.ts b/src/app/core/config/config-data.service.ts index 58b023e62c..51ca655921 100644 --- a/src/app/core/config/config-data.service.ts +++ b/src/app/core/config/config-data.service.ts @@ -1,11 +1,11 @@ import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { ConfigObject } from './models/config.model'; -import { RemoteData } from '../data/remote-data'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { getFirstCompletedRemoteData } from '../shared/operators'; import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { RemoteData } from '../data/remote-data'; +import { getFirstCompletedRemoteData } from '../shared/operators'; +import { ConfigObject } from './models/config.model'; /** * Abstract data service to retrieve configuration objects from the REST server. diff --git a/src/app/core/config/models/bulk-access-condition-options.model.ts b/src/app/core/config/models/bulk-access-condition-options.model.ts index f4c6845397..c491343852 100644 --- a/src/app/core/config/models/bulk-access-condition-options.model.ts +++ b/src/app/core/config/models/bulk-access-condition-options.model.ts @@ -1,8 +1,13 @@ -import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { ResourceType } from '../../shared/resource-type'; import { HALLink } from '../../shared/hal-link.model'; +import { ResourceType } from '../../shared/resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; import { ConfigObject } from './config.model'; import { AccessesConditionOption } from './config-accesses-conditions-options.model'; import { BULK_ACCESS_CONDITION_OPTIONS } from './config-type'; diff --git a/src/app/core/config/models/config-submission-access.model.ts b/src/app/core/config/models/config-submission-access.model.ts index 5688ff0e0f..4617dc4719 100644 --- a/src/app/core/config/models/config-submission-access.model.ts +++ b/src/app/core/config/models/config-submission-access.model.ts @@ -1,9 +1,14 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; +import { HALLink } from '../../shared/hal-link.model'; import { ConfigObject } from './config.model'; import { AccessesConditionOption } from './config-accesses-conditions-options.model'; import { SUBMISSION_ACCESSES_TYPE } from './config-type'; -import { HALLink } from '../../shared/hal-link.model'; /** * Class for the configuration describing the item accesses condition diff --git a/src/app/core/config/models/config-submission-accesses.model.ts b/src/app/core/config/models/config-submission-accesses.model.ts index 3f8004928d..b3c097cc8a 100644 --- a/src/app/core/config/models/config-submission-accesses.model.ts +++ b/src/app/core/config/models/config-submission-accesses.model.ts @@ -1,7 +1,8 @@ import { inheritSerialization } from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { SUBMISSION_ACCESSES_TYPE } from './config-type'; import { SubmissionAccessModel } from './config-submission-access.model'; +import { SUBMISSION_ACCESSES_TYPE } from './config-type'; @typedObject @inheritSerialization(SubmissionAccessModel) diff --git a/src/app/core/config/models/config-submission-definition.model.ts b/src/app/core/config/models/config-submission-definition.model.ts index ce8280330a..2d6b1ad604 100644 --- a/src/app/core/config/models/config-submission-definition.model.ts +++ b/src/app/core/config/models/config-submission-definition.model.ts @@ -1,9 +1,14 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; import { PaginatedList } from '../../data/paginated-list.model'; import { HALLink } from '../../shared/hal-link.model'; -import { SubmissionSectionModel } from './config-submission-section.model'; import { ConfigObject } from './config.model'; +import { SubmissionSectionModel } from './config-submission-section.model'; import { SUBMISSION_DEFINITION_TYPE } from './config-type'; /** diff --git a/src/app/core/config/models/config-submission-definitions.model.ts b/src/app/core/config/models/config-submission-definitions.model.ts index 08f1ef17bb..790334da9b 100644 --- a/src/app/core/config/models/config-submission-definitions.model.ts +++ b/src/app/core/config/models/config-submission-definitions.model.ts @@ -1,4 +1,5 @@ import { inheritSerialization } from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; import { SubmissionDefinitionModel } from './config-submission-definition.model'; import { SUBMISSION_DEFINITIONS_TYPE } from './config-type'; diff --git a/src/app/core/config/models/config-submission-form.model.ts b/src/app/core/config/models/config-submission-form.model.ts index c778d9964d..f6011adc76 100644 --- a/src/app/core/config/models/config-submission-form.model.ts +++ b/src/app/core/config/models/config-submission-form.model.ts @@ -1,7 +1,11 @@ -import { autoserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; + +import { FormFieldModel } from '../../../shared/form/builder/models/form-field.model'; import { typedObject } from '../../cache/builders/build-decorators'; import { ConfigObject } from './config.model'; -import { FormFieldModel } from '../../../shared/form/builder/models/form-field.model'; import { SUBMISSION_FORM_TYPE } from './config-type'; /** diff --git a/src/app/core/config/models/config-submission-forms.model.ts b/src/app/core/config/models/config-submission-forms.model.ts index 506905d88c..4cf71d85d9 100644 --- a/src/app/core/config/models/config-submission-forms.model.ts +++ b/src/app/core/config/models/config-submission-forms.model.ts @@ -1,4 +1,5 @@ import { inheritSerialization } from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; import { SubmissionFormModel } from './config-submission-form.model'; import { SUBMISSION_FORMS_TYPE } from './config-type'; diff --git a/src/app/core/config/models/config-submission-section.model.ts b/src/app/core/config/models/config-submission-section.model.ts index 77575d639d..0d4ae9aa10 100644 --- a/src/app/core/config/models/config-submission-section.model.ts +++ b/src/app/core/config/models/config-submission-section.model.ts @@ -1,4 +1,9 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; + import { SectionsType } from '../../../submission/sections/sections-type'; import { typedObject } from '../../cache/builders/build-decorators'; import { HALLink } from '../../shared/hal-link.model'; diff --git a/src/app/core/config/models/config-submission-sections.model.ts b/src/app/core/config/models/config-submission-sections.model.ts index 423ea99b1e..86894b6e44 100644 --- a/src/app/core/config/models/config-submission-sections.model.ts +++ b/src/app/core/config/models/config-submission-sections.model.ts @@ -1,4 +1,5 @@ import { inheritSerialization } from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; import { SubmissionSectionModel } from './config-submission-section.model'; import { SUBMISSION_SECTIONS_TYPE } from './config-type'; diff --git a/src/app/core/config/models/config-submission-upload.model.ts b/src/app/core/config/models/config-submission-upload.model.ts index 4d1a661e50..edc4626f83 100644 --- a/src/app/core/config/models/config-submission-upload.model.ts +++ b/src/app/core/config/models/config-submission-upload.model.ts @@ -1,12 +1,23 @@ -import { autoserialize, inheritSerialization, deserialize } from 'cerialize'; -import { typedObject, link } from '../../cache/builders/build-decorators'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; +import { Observable } from 'rxjs'; + +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; +import { RemoteData } from '../../data/remote-data'; +import { HALLink } from '../../shared/hal-link.model'; import { ConfigObject } from './config.model'; import { AccessConditionOption } from './config-access-condition-option.model'; import { SubmissionFormsModel } from './config-submission-forms.model'; -import { SUBMISSION_UPLOAD_TYPE, SUBMISSION_FORMS_TYPE } from './config-type'; -import { HALLink } from '../../shared/hal-link.model'; -import { RemoteData } from '../../data/remote-data'; -import { Observable } from 'rxjs'; +import { + SUBMISSION_FORMS_TYPE, + SUBMISSION_UPLOAD_TYPE, +} from './config-type'; @typedObject @inheritSerialization(ConfigObject) diff --git a/src/app/core/config/models/config-submission-uploads.model.ts b/src/app/core/config/models/config-submission-uploads.model.ts index 8fb7dc66b9..235cdd31a1 100644 --- a/src/app/core/config/models/config-submission-uploads.model.ts +++ b/src/app/core/config/models/config-submission-uploads.model.ts @@ -1,7 +1,8 @@ import { inheritSerialization } from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { SUBMISSION_UPLOADS_TYPE } from './config-type'; import { SubmissionUploadModel } from './config-submission-upload.model'; +import { SUBMISSION_UPLOADS_TYPE } from './config-type'; @typedObject @inheritSerialization(SubmissionUploadModel) diff --git a/src/app/core/config/models/config.model.ts b/src/app/core/config/models/config.model.ts index 7b2787c7c5..c1db44e891 100644 --- a/src/app/core/config/models/config.model.ts +++ b/src/app/core/config/models/config.model.ts @@ -1,8 +1,12 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + +import { CacheableObject } from '../../cache/cacheable-object.model'; import { HALLink } from '../../shared/hal-link.model'; import { ResourceType } from '../../shared/resource-type'; import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { CacheableObject } from '../../cache/cacheable-object.model'; export abstract class ConfigObject implements CacheableObject { diff --git a/src/app/core/config/submission-accesses-config-data.service.ts b/src/app/core/config/submission-accesses-config-data.service.ts index d2da0fce42..16986405fd 100644 --- a/src/app/core/config/submission-accesses-config-data.service.ts +++ b/src/app/core/config/submission-accesses-config-data.service.ts @@ -1,16 +1,17 @@ import { Injectable } from '@angular/core'; -import { ConfigDataService } from './config-data.service'; +import { Observable } from 'rxjs'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { RemoteData } from '../data/remote-data'; import { RequestService } from '../data/request.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { SUBMISSION_ACCESSES_TYPE } from './models/config-type'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ConfigDataService } from './config-data.service'; import { ConfigObject } from './models/config.model'; import { SubmissionAccessesModel } from './models/config-submission-accesses.model'; -import { RemoteData } from '../data/remote-data'; -import { Observable } from 'rxjs'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { dataService } from '../data/base/data-service.decorator'; +import { SUBMISSION_ACCESSES_TYPE } from './models/config-type'; /** * Provides methods to retrieve, from REST server, bitstream access conditions configurations applicable during the submission process. diff --git a/src/app/core/config/submission-forms-config-data.service.ts b/src/app/core/config/submission-forms-config-data.service.ts index f4c0690685..fb8e0e60da 100644 --- a/src/app/core/config/submission-forms-config-data.service.ts +++ b/src/app/core/config/submission-forms-config-data.service.ts @@ -1,16 +1,17 @@ import { Injectable } from '@angular/core'; -import { ConfigDataService } from './config-data.service'; -import { RequestService } from '../data/request.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Observable } from 'rxjs'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { ConfigObject } from './models/config.model'; -import { SUBMISSION_FORMS_TYPE } from './models/config-type'; -import { SubmissionFormsModel } from './models/config-submission-forms.model'; -import { RemoteData } from '../data/remote-data'; -import { Observable } from 'rxjs'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { dataService } from '../data/base/data-service.decorator'; +import { RemoteData } from '../data/remote-data'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { ConfigDataService } from './config-data.service'; +import { ConfigObject } from './models/config.model'; +import { SubmissionFormsModel } from './models/config-submission-forms.model'; +import { SUBMISSION_FORMS_TYPE } from './models/config-type'; /** * Data service to retrieve submission form configuration objects from the REST server. diff --git a/src/app/core/config/submission-uploads-config-data.service.ts b/src/app/core/config/submission-uploads-config-data.service.ts index 8f838352a9..b98c8b4f91 100644 --- a/src/app/core/config/submission-uploads-config-data.service.ts +++ b/src/app/core/config/submission-uploads-config-data.service.ts @@ -1,16 +1,17 @@ import { Injectable } from '@angular/core'; -import { ConfigDataService } from './config-data.service'; +import { Observable } from 'rxjs'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { RemoteData } from '../data/remote-data'; import { RequestService } from '../data/request.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { SUBMISSION_UPLOADS_TYPE } from './models/config-type'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ConfigDataService } from './config-data.service'; import { ConfigObject } from './models/config.model'; import { SubmissionUploadsModel } from './models/config-submission-uploads.model'; -import { RemoteData } from '../data/remote-data'; -import { Observable } from 'rxjs'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { dataService } from '../data/base/data-service.decorator'; +import { SUBMISSION_UPLOADS_TYPE } from './models/config-type'; /** * Provides methods to retrieve, from REST server, bitstream access conditions configurations applicable during the submission process. diff --git a/src/app/core/core-state.model.ts b/src/app/core/core-state.model.ts index 86f3b43c7e..2128901754 100644 --- a/src/app/core/core-state.model.ts +++ b/src/app/core/core-state.model.ts @@ -1,16 +1,14 @@ -import { - BitstreamFormatRegistryState, -} from '../admin/admin-registries/bitstream-formats/bitstream-format.reducers'; +import { BitstreamFormatRegistryState } from '../admin/admin-registries/bitstream-formats/bitstream-format.reducers'; +import { AuthState } from './auth/auth.reducer'; import { ObjectCacheState } from './cache/object-cache.reducer'; import { ServerSyncBufferState } from './cache/server-sync-buffer.reducer'; import { ObjectUpdatesState } from './data/object-updates/object-updates.reducer'; +import { RequestState } from './data/request-state.model'; import { HistoryState } from './history/history.reducer'; import { MetaIndexState } from './index/index.reducer'; -import { AuthState } from './auth/auth.reducer'; import { JsonPatchOperationsState } from './json-patch/json-patch-operations.reducer'; import { MetaTagState } from './metadata/meta-tag.reducer'; import { RouteState } from './services/route.reducer'; -import { RequestState } from './data/request-state.model'; /** * The core sub-state in the NgRx store diff --git a/src/app/core/core.effects.ts b/src/app/core/core.effects.ts index b569df290d..03db24343f 100644 --- a/src/app/core/core.effects.ts +++ b/src/app/core/core.effects.ts @@ -1,12 +1,12 @@ -import { ObjectCacheEffects } from './cache/object-cache.effects'; -import { UUIDIndexEffects } from './index/index.effects'; -import { RequestEffects } from './data/request.effects'; import { AuthEffects } from './auth/auth.effects'; -import { JsonPatchOperationsEffects } from './json-patch/json-patch-operations.effects'; +import { ObjectCacheEffects } from './cache/object-cache.effects'; import { ServerSyncBufferEffects } from './cache/server-sync-buffer.effects'; import { ObjectUpdatesEffects } from './data/object-updates/object-updates.effects'; -import { RouteEffects } from './services/route.effects'; +import { RequestEffects } from './data/request.effects'; +import { UUIDIndexEffects } from './index/index.effects'; +import { JsonPatchOperationsEffects } from './json-patch/json-patch-operations.effects'; import { RouterEffects } from './router/router.effects'; +import { RouteEffects } from './services/route.effects'; export const coreEffects = [ RequestEffects, diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index 734bec56b3..545ee0e382 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -1,12 +1,24 @@ import { CommonModule } from '@angular/common'; import { HttpClient } from '@angular/common/http'; -import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core'; - +import { + ModuleWithProviders, + NgModule, + Optional, + SkipSelf, +} from '@angular/core'; import { EffectsModule } from '@ngrx/effects'; +import { + Action, + StoreConfig, + StoreModule, +} from '@ngrx/store'; -import { Action, StoreConfig, StoreModule } from '@ngrx/store'; +import { environment } from '../../environments/environment'; +import { storeModuleConfig } from '../app.reducer'; import { MyDSpaceGuard } from '../my-dspace-page/my-dspace.guard'; - +import { Process } from '../process-page/processes/process.model'; +import { Script } from '../process-page/scripts/script.model'; +import { ProfileClaimService } from '../profile-page/profile-claim/profile-claim.service'; import { isNotEmpty } from '../shared/empty.util'; import { HostWindowService } from '../shared/host-window.service'; import { MenuService } from '../shared/menu/menu.service'; @@ -17,15 +29,22 @@ import { ResponseMapMock, } from '../shared/mocks/dspace-rest/mocks/response-map.mock'; import { NotificationsService } from '../shared/notifications/notifications.service'; +import { AccessStatusObject } from '../shared/object-collection/shared/badges/access-status-badge/access-status.model'; +import { IdentifierData } from '../shared/object-list/identifier-data/identifier-data.model'; import { SelectableListService } from '../shared/object-list/selectable-list/selectable-list.service'; import { ObjectSelectService } from '../shared/object-select/object-select.service'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; import { SidebarService } from '../shared/sidebar/sidebar.service'; +import { Subscription } from '../shared/subscriptions/models/subscription.model'; import { AuthenticatedGuard } from './auth/authenticated.guard'; import { AuthStatus } from './auth/models/auth-status.model'; +import { ShortLivedToken } from './auth/models/short-lived-token.model'; +import { TokenResponseParsingService } from './auth/token-response-parsing.service'; import { BrowseService } from './browse/browse.service'; import { RemoteDataBuildService } from './cache/builders/remote-data-build.service'; import { ObjectCacheService } from './cache/object-cache.service'; +import { BulkAccessConditionOptions } from './config/models/bulk-access-condition-options.model'; +import { SubmissionAccessesModel } from './config/models/config-submission-accesses.model'; import { SubmissionDefinitionsModel } from './config/models/config-submission-definitions.model'; import { SubmissionFormsModel } from './config/models/config-submission-forms.model'; import { SubmissionSectionModel } from './config/models/config-submission-section.model'; @@ -33,9 +52,14 @@ import { SubmissionUploadsModel } from './config/models/config-submission-upload import { SubmissionFormsConfigDataService } from './config/submission-forms-config-data.service'; import { coreEffects } from './core.effects'; import { coreReducers } from './core.reducers'; +import { CoreState } from './core-state.model'; +import { AccessStatusDataService } from './data/access-status-data.service'; +import { ArrayMoveChangeAnalyzer } from './data/array-move-change-analyzer.service'; +import { BitstreamDataService } from './data/bitstream-data.service'; import { BitstreamFormatDataService } from './data/bitstream-format-data.service'; import { CollectionDataService } from './data/collection-data.service'; import { CommunityDataService } from './data/community-data.service'; +import { ConfigurationDataService } from './data/configuration-data.service'; import { ContentSourceResponseParsingService } from './data/content-source-response-parsing.service'; import { DebugResponseParsingService } from './data/debug-response-parsing.service'; import { DefaultChangeAnalyzer } from './data/default-change-analyzer.service'; @@ -47,141 +71,124 @@ import { EntityTypeDataService } from './data/entity-type-data.service'; import { ExternalSourceDataService } from './data/external-source-data.service'; import { FacetConfigResponseParsingService } from './data/facet-config-response-parsing.service'; import { FacetValueResponseParsingService } from './data/facet-value-response-parsing.service'; +import { AuthorizationDataService } from './data/feature-authorization/authorization-data.service'; +import { SiteAdministratorGuard } from './data/feature-authorization/feature-authorization-guard/site-administrator.guard'; +import { SiteRegisterGuard } from './data/feature-authorization/feature-authorization-guard/site-register.guard'; +import { FeatureDataService } from './data/feature-authorization/feature-data.service'; import { FilteredDiscoveryPageResponseParsingService } from './data/filtered-discovery-page-response-parsing.service'; import { ItemDataService } from './data/item-data.service'; +import { ItemTemplateDataService } from './data/item-template-data.service'; import { LookupRelationService } from './data/lookup-relation.service'; +import { MetadataFieldDataService } from './data/metadata-field-data.service'; +import { MetadataSchemaDataService } from './data/metadata-schema-data.service'; import { MyDSpaceResponseParsingService } from './data/mydspace-response-parsing.service'; import { ObjectUpdatesService } from './data/object-updates/object-updates.service'; -import { RelationshipTypeDataService } from './data/relationship-type-data.service'; +import { ProcessDataService } from './data/processes/process-data.service'; +import { ScriptDataService } from './data/processes/script-data.service'; import { RelationshipDataService } from './data/relationship-data.service'; -import { ResourcePolicyDataService } from './resource-policy/resource-policy-data.service'; +import { RelationshipTypeDataService } from './data/relationship-type-data.service'; +import { Root } from './data/root.model'; +import { RootDataService } from './data/root-data.service'; import { SearchResponseParsingService } from './data/search-response-parsing.service'; import { SiteDataService } from './data/site-data.service'; +import { VersionDataService } from './data/version-data.service'; +import { VersionHistoryDataService } from './data/version-history-data.service'; +import { WorkflowActionDataService } from './data/workflow-action-data.service'; import { DspaceRestService } from './dspace-rest/dspace-rest.service'; +import { EndUserAgreementService } from './end-user-agreement/end-user-agreement.service'; +import { EndUserAgreementCookieGuard } from './end-user-agreement/end-user-agreement-cookie.guard'; +import { EndUserAgreementCurrentUserGuard } from './end-user-agreement/end-user-agreement-current-user.guard'; import { EPersonDataService } from './eperson/eperson-data.service'; +import { GroupDataService } from './eperson/group-data.service'; import { EPerson } from './eperson/models/eperson.model'; import { Group } from './eperson/models/group.model'; +import { FeedbackDataService } from './feedback/feedback-data.service'; import { JsonPatchOperationsBuilder } from './json-patch/builder/json-patch-operations-builder'; +import { MetadataService } from './metadata/metadata.service'; import { MetadataField } from './metadata/metadata-field.model'; import { MetadataSchema } from './metadata/metadata-schema.model'; -import { MetadataService } from './metadata/metadata.service'; +import { OrcidHistory } from './orcid/model/orcid-history.model'; +import { OrcidQueue } from './orcid/model/orcid-queue.model'; +import { OrcidAuthService } from './orcid/orcid-auth.service'; +import { OrcidHistoryDataService } from './orcid/orcid-history-data.service'; +import { OrcidQueueDataService } from './orcid/orcid-queue-data.service'; +import { ResearcherProfile } from './profile/model/researcher-profile.model'; +import { ResearcherProfileDataService } from './profile/researcher-profile-data.service'; import { RegistryService } from './registry/registry.service'; +import { ReloadGuard } from './reload/reload.guard'; +import { ResourcePolicy } from './resource-policy/models/resource-policy.model'; +import { ResourcePolicyDataService } from './resource-policy/resource-policy-data.service'; import { RoleService } from './roles/role.service'; -import { FeedbackDataService } from './feedback/feedback-data.service'; - +import { LinkHeadService } from './services/link-head.service'; import { ServerResponseService } from './services/server-response.service'; -import { NativeWindowFactory, NativeWindowService } from './services/window.service'; -import { BitstreamFormat } from './shared/bitstream-format.model'; +import { + NativeWindowFactory, + NativeWindowService, +} from './services/window.service'; +import { Authorization } from './shared/authorization.model'; import { Bitstream } from './shared/bitstream.model'; +import { BitstreamFormat } from './shared/bitstream-format.model'; import { BrowseDefinition } from './shared/browse-definition.model'; import { BrowseEntry } from './shared/browse-entry.model'; import { Bundle } from './shared/bundle.model'; import { Collection } from './shared/collection.model'; import { Community } from './shared/community.model'; +import { ConfigurationProperty } from './shared/configuration-property.model'; import { DSpaceObject } from './shared/dspace-object.model'; -import { ExternalSourceEntry } from './shared/external-source-entry.model'; import { ExternalSource } from './shared/external-source.model'; +import { ExternalSourceEntry } from './shared/external-source-entry.model'; +import { Feature } from './shared/feature.model'; +import { FlatBrowseDefinition } from './shared/flat-browse-definition.model'; import { HALEndpointService } from './shared/hal-endpoint.service'; -import { ItemType } from './shared/item-relationships/item-type.model'; -import { RelationshipType } from './shared/item-relationships/relationship-type.model'; -import { Relationship } from './shared/item-relationships/relationship.model'; +import { HierarchicalBrowseDefinition } from './shared/hierarchical-browse-definition.model'; import { Item } from './shared/item.model'; +import { ItemType } from './shared/item-relationships/item-type.model'; +import { Relationship } from './shared/item-relationships/relationship.model'; +import { RelationshipType } from './shared/item-relationships/relationship-type.model'; +import { ItemRequest } from './shared/item-request.model'; import { License } from './shared/license.model'; -import { ResourcePolicy } from './resource-policy/models/resource-policy.model'; +import { NonHierarchicalBrowseDefinition } from './shared/non-hierarchical-browse-definition'; +import { Registration } from './shared/registration.model'; +import { SearchService } from './shared/search/search.service'; import { SearchConfigurationService } from './shared/search/search-configuration.service'; import { SearchFilterService } from './shared/search/search-filter.service'; -import { SearchService } from './shared/search/search.service'; +import { SearchConfig } from './shared/search/search-filters/search-config.model'; +import { SequenceService } from './shared/sequence.service'; import { Site } from './shared/site.model'; +import { TemplateItem } from './shared/template-item.model'; import { UUIDService } from './shared/uuid.service'; +import { ValueListBrowseDefinition } from './shared/value-list-browse-definition.model'; +import { Version } from './shared/version.model'; +import { VersionHistory } from './shared/version-history.model'; +import { UsageReport } from './statistics/models/usage-report.model'; +import { SubmissionCcLicence } from './submission/models/submission-cc-license.model'; +import { SubmissionCcLicenceUrl } from './submission/models/submission-cc-license-url.model'; import { WorkflowItem } from './submission/models/workflowitem.model'; import { WorkspaceItem } from './submission/models/workspaceitem.model'; +import { SubmissionCcLicenseDataService } from './submission/submission-cc-license-data.service'; +import { SubmissionCcLicenseUrlDataService } from './submission/submission-cc-license-url-data.service'; import { SubmissionJsonPatchOperationsService } from './submission/submission-json-patch-operations.service'; import { SubmissionResponseParsingService } from './submission/submission-response-parsing.service'; import { SubmissionRestService } from './submission/submission-rest.service'; +import { Vocabulary } from './submission/vocabularies/models/vocabulary.model'; +import { VocabularyEntry } from './submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyEntryDetail } from './submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyDataService } from './submission/vocabularies/vocabulary.data.service'; +import { VocabularyService } from './submission/vocabularies/vocabulary.service'; +import { VocabularyEntryDetailsDataService } from './submission/vocabularies/vocabulary-entry-details.data.service'; import { WorkflowItemDataService } from './submission/workflowitem-data.service'; import { WorkspaceitemDataService } from './submission/workspaceitem-data.service'; +import { SupervisionOrderDataService } from './supervision-order/supervision-order-data.service'; import { ClaimedTaskDataService } from './tasks/claimed-task-data.service'; +import { AdvancedWorkflowInfo } from './tasks/models/advanced-workflow-info.model'; import { ClaimedTask } from './tasks/models/claimed-task-object.model'; import { PoolTask } from './tasks/models/pool-task-object.model'; +import { RatingAdvancedWorkflowInfo } from './tasks/models/rating-advanced-workflow-info.model'; +import { SelectReviewerAdvancedWorkflowInfo } from './tasks/models/select-reviewer-advanced-workflow-info.model'; import { TaskObject } from './tasks/models/task-object.model'; +import { WorkflowAction } from './tasks/models/workflow-action-object.model'; import { PoolTaskDataService } from './tasks/pool-task-data.service'; import { TaskResponseParsingService } from './tasks/task-response-parsing.service'; -import { ArrayMoveChangeAnalyzer } from './data/array-move-change-analyzer.service'; -import { BitstreamDataService } from './data/bitstream-data.service'; -import { environment } from '../../environments/environment'; -import { storeModuleConfig } from '../app.reducer'; -import { VersionDataService } from './data/version-data.service'; -import { VersionHistoryDataService } from './data/version-history-data.service'; -import { Version } from './shared/version.model'; -import { VersionHistory } from './shared/version-history.model'; -import { Script } from '../process-page/scripts/script.model'; -import { Process } from '../process-page/processes/process.model'; -import { ProcessDataService } from './data/processes/process-data.service'; -import { ScriptDataService } from './data/processes/script-data.service'; -import { WorkflowActionDataService } from './data/workflow-action-data.service'; -import { WorkflowAction } from './tasks/models/workflow-action-object.model'; -import { ItemTemplateDataService } from './data/item-template-data.service'; -import { TemplateItem } from './shared/template-item.model'; -import { Feature } from './shared/feature.model'; -import { Authorization } from './shared/authorization.model'; -import { FeatureDataService } from './data/feature-authorization/feature-data.service'; -import { AuthorizationDataService } from './data/feature-authorization/authorization-data.service'; -import { - SiteAdministratorGuard, -} from './data/feature-authorization/feature-authorization-guard/site-administrator.guard'; -import { Registration } from './shared/registration.model'; -import { MetadataSchemaDataService } from './data/metadata-schema-data.service'; -import { MetadataFieldDataService } from './data/metadata-field-data.service'; -import { TokenResponseParsingService } from './auth/token-response-parsing.service'; -import { SubmissionCcLicenseDataService } from './submission/submission-cc-license-data.service'; -import { SubmissionCcLicence } from './submission/models/submission-cc-license.model'; -import { SubmissionCcLicenceUrl } from './submission/models/submission-cc-license-url.model'; -import { SubmissionCcLicenseUrlDataService } from './submission/submission-cc-license-url-data.service'; -import { VocabularyEntry } from './submission/vocabularies/models/vocabulary-entry.model'; -import { Vocabulary } from './submission/vocabularies/models/vocabulary.model'; -import { VocabularyEntryDetail } from './submission/vocabularies/models/vocabulary-entry-detail.model'; -import { VocabularyService } from './submission/vocabularies/vocabulary.service'; -import { ConfigurationDataService } from './data/configuration-data.service'; -import { ConfigurationProperty } from './shared/configuration-property.model'; -import { ReloadGuard } from './reload/reload.guard'; -import { EndUserAgreementCurrentUserGuard } from './end-user-agreement/end-user-agreement-current-user.guard'; -import { EndUserAgreementCookieGuard } from './end-user-agreement/end-user-agreement-cookie.guard'; -import { EndUserAgreementService } from './end-user-agreement/end-user-agreement.service'; -import { SiteRegisterGuard } from './data/feature-authorization/feature-authorization-guard/site-register.guard'; -import { ShortLivedToken } from './auth/models/short-lived-token.model'; -import { UsageReport } from './statistics/models/usage-report.model'; -import { RootDataService } from './data/root-data.service'; -import { Root } from './data/root.model'; -import { SearchConfig } from './shared/search/search-filters/search-config.model'; -import { SequenceService } from './shared/sequence.service'; -import { CoreState } from './core-state.model'; -import { GroupDataService } from './eperson/group-data.service'; -import { SubmissionAccessesModel } from './config/models/config-submission-accesses.model'; -import { RatingAdvancedWorkflowInfo } from './tasks/models/rating-advanced-workflow-info.model'; -import { AdvancedWorkflowInfo } from './tasks/models/advanced-workflow-info.model'; -import { SelectReviewerAdvancedWorkflowInfo } from './tasks/models/select-reviewer-advanced-workflow-info.model'; -import { AccessStatusObject } from '../shared/object-collection/shared/badges/access-status-badge/access-status.model'; -import { AccessStatusDataService } from './data/access-status-data.service'; -import { LinkHeadService } from './services/link-head.service'; -import { ResearcherProfileDataService } from './profile/researcher-profile-data.service'; -import { ProfileClaimService } from '../profile-page/profile-claim/profile-claim.service'; -import { ResearcherProfile } from './profile/model/researcher-profile.model'; -import { OrcidQueueDataService } from './orcid/orcid-queue-data.service'; -import { OrcidHistoryDataService } from './orcid/orcid-history-data.service'; -import { OrcidQueue } from './orcid/model/orcid-queue.model'; -import { OrcidHistory } from './orcid/model/orcid-history.model'; -import { OrcidAuthService } from './orcid/orcid-auth.service'; -import { VocabularyDataService } from './submission/vocabularies/vocabulary.data.service'; -import { VocabularyEntryDetailsDataService } from './submission/vocabularies/vocabulary-entry-details.data.service'; -import { IdentifierData } from '../shared/object-list/identifier-data/identifier-data.model'; -import { Subscription } from '../shared/subscriptions/models/subscription.model'; -import { SupervisionOrderDataService } from './supervision-order/supervision-order-data.service'; -import { ItemRequest } from './shared/item-request.model'; -import { HierarchicalBrowseDefinition } from './shared/hierarchical-browse-definition.model'; -import { FlatBrowseDefinition } from './shared/flat-browse-definition.model'; -import { ValueListBrowseDefinition } from './shared/value-list-browse-definition.model'; -import { NonHierarchicalBrowseDefinition } from './shared/non-hierarchical-browse-definition'; -import { BulkAccessConditionOptions } from './config/models/bulk-access-condition-options.model'; /** * When not in production, endpoint responses can be mocked for testing purposes diff --git a/src/app/core/core.reducers.ts b/src/app/core/core.reducers.ts index 83d32ea8ed..fda1e05df0 100644 --- a/src/app/core/core.reducers.ts +++ b/src/app/core/core.reducers.ts @@ -1,19 +1,17 @@ import { ActionReducerMap } from '@ngrx/store'; -import { objectCacheReducer } from './cache/object-cache.reducer'; -import { indexReducer } from './index/index.reducer'; -import { requestReducer } from './data/request.reducer'; +import { bitstreamFormatReducer } from '../admin/admin-registries/bitstream-formats/bitstream-format.reducers'; import { authReducer } from './auth/auth.reducer'; -import { jsonPatchOperationsReducer } from './json-patch/json-patch-operations.reducer'; +import { objectCacheReducer } from './cache/object-cache.reducer'; import { serverSyncBufferReducer } from './cache/server-sync-buffer.reducer'; -import { objectUpdatesReducer } from './data/object-updates/object-updates.reducer'; -import { routeReducer } from './services/route.reducer'; -import { - bitstreamFormatReducer, -} from '../admin/admin-registries/bitstream-formats/bitstream-format.reducers'; -import { historyReducer } from './history/history.reducer'; -import { metaTagReducer } from './metadata/meta-tag.reducer'; import { CoreState } from './core-state.model'; +import { objectUpdatesReducer } from './data/object-updates/object-updates.reducer'; +import { requestReducer } from './data/request.reducer'; +import { historyReducer } from './history/history.reducer'; +import { indexReducer } from './index/index.reducer'; +import { jsonPatchOperationsReducer } from './json-patch/json-patch-operations.reducer'; +import { metaTagReducer } from './metadata/meta-tag.reducer'; +import { routeReducer } from './services/route.reducer'; export const coreReducers: ActionReducerMap = { 'bitstreamFormats': bitstreamFormatReducer, diff --git a/src/app/core/core.selectors.ts b/src/app/core/core.selectors.ts index 77c7974de2..899afb9be9 100644 --- a/src/app/core/core.selectors.ts +++ b/src/app/core/core.selectors.ts @@ -1,4 +1,5 @@ import { createFeatureSelector } from '@ngrx/store'; + import { CoreState } from './core-state.model'; /** diff --git a/src/app/core/data/access-status-data.service.spec.ts b/src/app/core/data/access-status-data.service.spec.ts index eb92e112c7..1240585027 100644 --- a/src/app/core/data/access-status-data.service.spec.ts +++ b/src/app/core/data/access-status-data.service.spec.ts @@ -1,17 +1,21 @@ -import { RequestService } from './request.service'; +import { + fakeAsync, + tick, +} from '@angular/core/testing'; +import { Observable } from 'rxjs'; + +import { hasNoValue } from '../../shared/empty.util'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { fakeAsync, tick } from '@angular/core/testing'; -import { GetRequest } from './request.models'; -import { ObjectCacheService } from '../cache/object-cache.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { Observable } from 'rxjs'; -import { RemoteData } from './remote-data'; -import { hasNoValue } from '../../shared/empty.util'; -import { AccessStatusDataService } from './access-status-data.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { Item } from '../shared/item.model'; +import { AccessStatusDataService } from './access-status-data.service'; +import { RemoteData } from './remote-data'; +import { GetRequest } from './request.models'; +import { RequestService } from './request.service'; const url = 'fake-url'; diff --git a/src/app/core/data/access-status-data.service.ts b/src/app/core/data/access-status-data.service.ts index e8b77245e8..56db0e55e7 100644 --- a/src/app/core/data/access-status-data.service.ts +++ b/src/app/core/data/access-status-data.service.ts @@ -1,15 +1,16 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { AccessStatusObject } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model'; +import { ACCESS_STATUS } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.resource-type'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from './request.service'; -import { AccessStatusObject } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model'; -import { ACCESS_STATUS } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.resource-type'; -import { Observable } from 'rxjs'; -import { RemoteData } from './remote-data'; import { Item } from '../shared/item.model'; import { BaseDataService } from './base/base-data.service'; import { dataService } from './base/data-service.decorator'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; /** * Data service responsible for retrieving the access status of Items diff --git a/src/app/core/data/array-move-change-analyzer.service.spec.ts b/src/app/core/data/array-move-change-analyzer.service.spec.ts index d8f3c51256..cf11decde4 100644 --- a/src/app/core/data/array-move-change-analyzer.service.spec.ts +++ b/src/app/core/data/array-move-change-analyzer.service.spec.ts @@ -1,7 +1,8 @@ -import { ArrayMoveChangeAnalyzer } from './array-move-change-analyzer.service'; import { moveItemInArray } from '@angular/cdk/drag-drop'; import { Operation } from 'fast-json-patch'; +import { ArrayMoveChangeAnalyzer } from './array-move-change-analyzer.service'; + /** * Helper class for creating move tests * Define a "from" and "to" index to move objects within the array before comparing diff --git a/src/app/core/data/array-move-change-analyzer.service.ts b/src/app/core/data/array-move-change-analyzer.service.ts index 36744e9f96..95d86f1032 100644 --- a/src/app/core/data/array-move-change-analyzer.service.ts +++ b/src/app/core/data/array-move-change-analyzer.service.ts @@ -1,6 +1,7 @@ -import { MoveOperation } from 'fast-json-patch'; -import { Injectable } from '@angular/core'; import { moveItemInArray } from '@angular/cdk/drag-drop'; +import { Injectable } from '@angular/core'; +import { MoveOperation } from 'fast-json-patch'; + import { hasValue } from '../../shared/empty.util'; /** diff --git a/src/app/core/data/base-response-parsing.service.spec.ts b/src/app/core/data/base-response-parsing.service.spec.ts index e99e2c76d4..41412c2b75 100644 --- a/src/app/core/data/base-response-parsing.service.spec.ts +++ b/src/app/core/data/base-response-parsing.service.spec.ts @@ -1,9 +1,9 @@ /* eslint-disable max-classes-per-file */ -import { BaseResponseParsingService } from './base-response-parsing.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { GetRequest} from './request.models'; -import { DSpaceObject } from '../shared/dspace-object.model'; import { CacheableObject } from '../cache/cacheable-object.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { DSpaceObject } from '../shared/dspace-object.model'; +import { BaseResponseParsingService } from './base-response-parsing.service'; +import { GetRequest} from './request.models'; import { RestRequest } from './rest-request.model'; class TestService extends BaseResponseParsingService { diff --git a/src/app/core/data/base-response-parsing.service.ts b/src/app/core/data/base-response-parsing.service.ts index 0380dd7614..63b4961b31 100644 --- a/src/app/core/data/base-response-parsing.service.ts +++ b/src/app/core/data/base-response-parsing.service.ts @@ -1,14 +1,21 @@ /* eslint-disable max-classes-per-file */ -import { hasNoValue, hasValue, isNotEmpty } from '../../shared/empty.util'; +import { environment } from '../../../environments/environment'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { getClassForType } from '../cache/builders/build-decorators'; +import { CacheableObject } from '../cache/cacheable-object.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; import { Serializer } from '../serializer'; -import { PageInfo } from '../shared/page-info.model'; -import { ObjectCacheService } from '../cache/object-cache.service'; import { GenericConstructor } from '../shared/generic-constructor'; -import { PaginatedList, buildPaginatedList } from './paginated-list.model'; -import { getClassForType } from '../cache/builders/build-decorators'; -import { environment } from '../../../environments/environment'; -import { CacheableObject } from '../cache/cacheable-object.model'; +import { PageInfo } from '../shared/page-info.model'; +import { + buildPaginatedList, + PaginatedList, +} from './paginated-list.model'; import { RestRequest } from './rest-request.model'; diff --git a/src/app/core/data/base/base-data.service.spec.ts b/src/app/core/data/base/base-data.service.spec.ts index 267da4eba8..21401afff5 100644 --- a/src/app/core/data/base/base-data.service.spec.ts +++ b/src/app/core/data/base/base-data.service.spec.ts @@ -5,22 +5,33 @@ * * http://www.dspace.org/license/ */ -import { RequestService } from '../request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; -import { FindListOptions } from '../find-list-options.model'; -import { Observable, of as observableOf, combineLatest as observableCombineLatest } from 'rxjs'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { + fakeAsync, + tick, +} from '@angular/core/testing'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { FindListOptions } from '../find-list-options.model'; import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; import { RequestEntryState } from '../request-entry-state.model'; -import { fakeAsync, tick } from '@angular/core/testing'; import { BaseDataService } from './base-data.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; const endpoint = 'https://rest.api/core'; diff --git a/src/app/core/data/base/base-data.service.ts b/src/app/core/data/base/base-data.service.ts index 452c8e2346..1ff53c5309 100644 --- a/src/app/core/data/base/base-data.service.ts +++ b/src/app/core/data/base/base-data.service.ts @@ -6,24 +6,42 @@ * http://www.dspace.org/license/ */ -import { AsyncSubject, from as observableFrom, Observable, of as observableOf } from 'rxjs'; -import { map, mergeMap, skipWhile, switchMap, take, tap, toArray } from 'rxjs/operators'; -import { hasValue, isNotEmpty, isNotEmptyOperator } from '../../../shared/empty.util'; +import { + AsyncSubject, + from as observableFrom, + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + mergeMap, + skipWhile, + switchMap, + take, + tap, + toArray, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmpty, + isNotEmptyOperator, +} from '../../../shared/empty.util'; import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { RequestParam } from '../../cache/models/request-param.model'; +import { ObjectCacheEntry } from '../../cache/object-cache.reducer'; +import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { getFirstCompletedRemoteData } from '../../shared/operators'; import { URLCombiner } from '../../url-combiner/url-combiner'; +import { FindListOptions } from '../find-list-options.model'; +import { PaginatedList } from '../paginated-list.model'; import { RemoteData } from '../remote-data'; import { GetRequest } from '../request.models'; import { RequestService } from '../request.service'; -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { FindListOptions } from '../find-list-options.model'; -import { PaginatedList } from '../paginated-list.model'; -import { ObjectCacheEntry } from '../../cache/object-cache.reducer'; -import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALDataService } from './hal-data-service.interface'; -import { getFirstCompletedRemoteData } from '../../shared/operators'; export const EMBED_SEPARATOR = '%2F'; /** diff --git a/src/app/core/data/base/create-data.spec.ts b/src/app/core/data/base/create-data.spec.ts index d22bc0a796..1248c5ffe4 100644 --- a/src/app/core/data/base/create-data.spec.ts +++ b/src/app/core/data/base/create-data.spec.ts @@ -5,23 +5,33 @@ * * http://www.dspace.org/license/ */ -import { RequestService } from '../request.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { RequestParam } from '../../cache/models/request-param.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; +import { DSpaceObject } from '../../shared/dspace-object.model'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; import { FindListOptions } from '../find-list-options.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { CreateData, CreateDataImpl } from './create-data'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; import { RequestEntryState } from '../request-entry-state.model'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; -import { RequestParam } from '../../cache/models/request-param.model'; import { RestRequestMethod } from '../rest-request-method'; -import { DSpaceObject } from '../../shared/dspace-object.model'; +import { + CreateData, + CreateDataImpl, +} from './create-data'; /** * Tests whether calls to `CreateData` methods are correctly patched through in a concrete data service that implements it diff --git a/src/app/core/data/base/create-data.ts b/src/app/core/data/base/create-data.ts index bd7b74a574..daf69374b6 100644 --- a/src/app/core/data/base/create-data.ts +++ b/src/app/core/data/base/create-data.ts @@ -5,22 +5,31 @@ * * http://www.dspace.org/license/ */ -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { BaseDataService } from './base-data.service'; -import { RequestParam } from '../../cache/models/request-param.model'; import { Observable } from 'rxjs'; -import { RemoteData } from '../remote-data'; -import { hasValue, isNotEmptyOperator } from '../../../shared/empty.util'; -import { distinctUntilChanged, map, take, takeWhile } from 'rxjs/operators'; -import { DSpaceSerializer } from '../../dspace-rest/dspace.serializer'; -import { getClassForType } from '../../cache/builders/build-decorators'; -import { CreateRequest } from '../request.models'; +import { + distinctUntilChanged, + map, + take, + takeWhile, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmptyOperator, +} from '../../../shared/empty.util'; import { NotificationOptions } from '../../../shared/notifications/models/notification-options.model'; -import { RequestService } from '../request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { getClassForType } from '../../cache/builders/build-decorators'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; +import { RequestParam } from '../../cache/models/request-param.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; +import { DSpaceSerializer } from '../../dspace-rest/dspace.serializer'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { RemoteData } from '../remote-data'; +import { CreateRequest } from '../request.models'; +import { RequestService } from '../request.service'; +import { BaseDataService } from './base-data.service'; /** * Interface for a data service that can create objects. diff --git a/src/app/core/data/base/data-service.decorator.spec.ts b/src/app/core/data/base/data-service.decorator.spec.ts index e09c531a56..296371be69 100644 --- a/src/app/core/data/base/data-service.decorator.spec.ts +++ b/src/app/core/data/base/data-service.decorator.spec.ts @@ -6,11 +6,15 @@ * * http://www.dspace.org/license/ */ +import { v4 as uuidv4 } from 'uuid'; + import { ResourceType } from '../../shared/resource-type'; import { BaseDataService } from './base-data.service'; +import { + dataService, + getDataServiceFor, +} from './data-service.decorator'; import { HALDataService } from './hal-data-service.interface'; -import { dataService, getDataServiceFor } from './data-service.decorator'; -import { v4 as uuidv4 } from 'uuid'; class TestService extends BaseDataService { } diff --git a/src/app/core/data/base/data-service.decorator.ts b/src/app/core/data/base/data-service.decorator.ts index fbde9bd94f..600fb5e3e3 100644 --- a/src/app/core/data/base/data-service.decorator.ts +++ b/src/app/core/data/base/data-service.decorator.ts @@ -6,10 +6,14 @@ * http://www.dspace.org/license/ */ import { InjectionToken } from '@angular/core'; + +import { + hasNoValue, + hasValue, +} from '../../../shared/empty.util'; import { CacheableObject } from '../../cache/cacheable-object.model'; -import { ResourceType } from '../../shared/resource-type'; import { GenericConstructor } from '../../shared/generic-constructor'; -import { hasNoValue, hasValue } from '../../../shared/empty.util'; +import { ResourceType } from '../../shared/resource-type'; import { HALDataService } from './hal-data-service.interface'; export const DATA_SERVICE_FACTORY = new InjectionToken<(resourceType: ResourceType) => GenericConstructor>>('getDataServiceFor', { diff --git a/src/app/core/data/base/delete-data.spec.ts b/src/app/core/data/base/delete-data.spec.ts index 07da7a1a76..53d651402f 100644 --- a/src/app/core/data/base/delete-data.spec.ts +++ b/src/app/core/data/base/delete-data.spec.ts @@ -5,24 +5,35 @@ * * http://www.dspace.org/license/ */ -import { constructIdEndpointDefault } from './identifiable-data.service'; -import { RequestService } from '../request.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; import { FindListOptions } from '../find-list-options.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { TestScheduler } from 'rxjs/testing'; import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; import { RequestEntryState } from '../request-entry-state.model'; -import { DeleteData, DeleteDataImpl } from './delete-data'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; import { RestRequestMethod } from '../rest-request-method'; +import { + DeleteData, + DeleteDataImpl, +} from './delete-data'; +import { constructIdEndpointDefault } from './identifiable-data.service'; /** * Tests whether calls to `DeleteData` methods are correctly patched through in a concrete data service that implements it diff --git a/src/app/core/data/base/delete-data.ts b/src/app/core/data/base/delete-data.ts index 807d9d838e..e758ee40fa 100644 --- a/src/app/core/data/base/delete-data.ts +++ b/src/app/core/data/base/delete-data.ts @@ -5,19 +5,26 @@ * * http://www.dspace.org/license/ */ -import { CacheableObject } from '../../cache/cacheable-object.model'; import { Observable } from 'rxjs'; -import { RemoteData } from '../remote-data'; -import { NoContent } from '../../shared/NoContent.model'; import { switchMap } from 'rxjs/operators'; -import { DeleteRequest } from '../request.models'; -import { hasNoValue, hasValue } from '../../../shared/empty.util'; -import { RequestService } from '../request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; + +import { + hasNoValue, + hasValue, +} from '../../../shared/empty.util'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; -import { ConstructIdEndpoint, IdentifiableDataService } from './identifiable-data.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { NoContent } from '../../shared/NoContent.model'; +import { RemoteData } from '../remote-data'; +import { DeleteRequest } from '../request.models'; +import { RequestService } from '../request.service'; +import { + ConstructIdEndpoint, + IdentifiableDataService, +} from './identifiable-data.service'; export interface DeleteData { /** diff --git a/src/app/core/data/base/find-all-data.spec.ts b/src/app/core/data/base/find-all-data.spec.ts index c1d3002617..f2c48feb76 100644 --- a/src/app/core/data/base/find-all-data.spec.ts +++ b/src/app/core/data/base/find-all-data.spec.ts @@ -5,24 +5,33 @@ * * http://www.dspace.org/license/ */ -import { FindAllData, FindAllDataImpl } from './find-all-data'; -import { FindListOptions } from '../find-list-options.model'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; -import { TestScheduler } from 'rxjs/testing'; -import { RemoteData } from '../remote-data'; -import { RequestEntryState } from '../request-entry-state.model'; -import { SortDirection, SortOptions } from '../../cache/models/sort-options.model'; -import { RequestParam } from '../../cache/models/request-param.model'; - -import { RequestService } from '../request.service'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { RequestParam } from '../../cache/models/request-param.model'; +import { + SortDirection, + SortOptions, +} from '../../cache/models/sort-options.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; -import { Observable, of as observableOf } from 'rxjs'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { FindListOptions } from '../find-list-options.model'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; +import { RequestEntryState } from '../request-entry-state.model'; import { EMBED_SEPARATOR } from './base-data.service'; +import { + FindAllData, + FindAllDataImpl, +} from './find-all-data'; /** * Tests whether calls to `FindAllData` methods are correctly patched through in a concrete data service that implements it diff --git a/src/app/core/data/base/find-all-data.ts b/src/app/core/data/base/find-all-data.ts index 7c17fa75d0..7a5526c4ba 100644 --- a/src/app/core/data/base/find-all-data.ts +++ b/src/app/core/data/base/find-all-data.ts @@ -7,18 +7,23 @@ */ import { Observable } from 'rxjs'; -import { FindListOptions } from '../find-list-options.model'; -import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { RemoteData } from '../remote-data'; -import { PaginatedList } from '../paginated-list.model'; -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { BaseDataService } from './base-data.service'; -import { distinctUntilChanged, filter, map } from 'rxjs/operators'; +import { + distinctUntilChanged, + filter, + map, +} from 'rxjs/operators'; + import { isNotEmpty } from '../../../shared/empty.util'; -import { RequestService } from '../request.service'; +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { FindListOptions } from '../find-list-options.model'; +import { PaginatedList } from '../paginated-list.model'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; +import { BaseDataService } from './base-data.service'; /** * Interface for a data service that list all of its objects. diff --git a/src/app/core/data/base/hal-data-service.interface.ts b/src/app/core/data/base/hal-data-service.interface.ts index 6959399760..1ffdffaa7c 100644 --- a/src/app/core/data/base/hal-data-service.interface.ts +++ b/src/app/core/data/base/hal-data-service.interface.ts @@ -6,11 +6,12 @@ * http://www.dspace.org/license/ */ import { Observable } from 'rxjs'; + import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { RemoteData } from '../remote-data'; +import { HALResource } from '../../shared/hal-resource.model'; import { FindListOptions } from '../find-list-options.model'; import { PaginatedList } from '../paginated-list.model'; -import { HALResource } from '../../shared/hal-resource.model'; +import { RemoteData } from '../remote-data'; /** * An interface defining the minimum functionality needed for a data service to resolve HAL resources. diff --git a/src/app/core/data/base/identifiable-data.service.spec.ts b/src/app/core/data/base/identifiable-data.service.spec.ts index 2f47d32a70..528d6c4945 100644 --- a/src/app/core/data/base/identifiable-data.service.spec.ts +++ b/src/app/core/data/base/identifiable-data.service.spec.ts @@ -5,21 +5,25 @@ * * http://www.dspace.org/license/ */ -import { FindListOptions } from '../find-list-options.model'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { TestScheduler } from 'rxjs/testing'; -import { RemoteData } from '../remote-data'; -import { RequestEntryState } from '../request-entry-state.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { RequestService } from '../request.service'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; import { ObjectCacheService } from '../../cache/object-cache.service'; -import { IdentifiableDataService } from './identifiable-data.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { FindListOptions } from '../find-list-options.model'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; +import { RequestEntryState } from '../request-entry-state.model'; import { EMBED_SEPARATOR } from './base-data.service'; +import { IdentifiableDataService } from './identifiable-data.service'; const endpoint = 'https://rest.api/core'; diff --git a/src/app/core/data/base/identifiable-data.service.ts b/src/app/core/data/base/identifiable-data.service.ts index 904f925765..da3167903e 100644 --- a/src/app/core/data/base/identifiable-data.service.ts +++ b/src/app/core/data/base/identifiable-data.service.ts @@ -5,16 +5,17 @@ * * http://www.dspace.org/license/ */ -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { RemoteData } from '../remote-data'; -import { BaseDataService } from './base-data.service'; -import { RequestService } from '../request.service'; + +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; +import { BaseDataService } from './base-data.service'; /** * Shorthand type for the method to construct an ID endpoint. diff --git a/src/app/core/data/base/patch-data.spec.ts b/src/app/core/data/base/patch-data.spec.ts index 3b94ec04f8..03c15199a7 100644 --- a/src/app/core/data/base/patch-data.spec.ts +++ b/src/app/core/data/base/patch-data.spec.ts @@ -6,28 +6,38 @@ * http://www.dspace.org/license/ */ /* eslint-disable max-classes-per-file */ -import { RequestService } from '../request.service'; +import { + compare, + Operation, +} from 'fast-json-patch'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { FindListOptions } from '../find-list-options.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { TestScheduler } from 'rxjs/testing'; -import { RemoteData } from '../remote-data'; -import { RequestEntryState } from '../request-entry-state.model'; -import { PatchData, PatchDataImpl } from './patch-data'; -import { ChangeAnalyzer } from '../change-analyzer'; -import { Item } from '../../shared/item.model'; -import { compare, Operation } from 'fast-json-patch'; -import { PatchRequest } from '../request.models'; import { DSpaceObject } from '../../shared/dspace-object.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { constructIdEndpointDefault } from './identifiable-data.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { Item } from '../../shared/item.model'; +import { ChangeAnalyzer } from '../change-analyzer'; +import { FindListOptions } from '../find-list-options.model'; +import { RemoteData } from '../remote-data'; +import { PatchRequest } from '../request.models'; +import { RequestService } from '../request.service'; +import { RequestEntryState } from '../request-entry-state.model'; import { RestRequestMethod } from '../rest-request-method'; +import { constructIdEndpointDefault } from './identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from './patch-data'; /** * Tests whether calls to `PatchData` methods are correctly patched through in a concrete data service that implements it diff --git a/src/app/core/data/base/patch-data.ts b/src/app/core/data/base/patch-data.ts index e30c394a34..c6cd551716 100644 --- a/src/app/core/data/base/patch-data.ts +++ b/src/app/core/data/base/patch-data.ts @@ -5,21 +5,36 @@ * * http://www.dspace.org/license/ */ -import { CacheableObject } from '../../cache/cacheable-object.model'; import { Operation } from 'fast-json-patch'; import { Observable } from 'rxjs'; -import { RemoteData } from '../remote-data'; -import { find, map, mergeMap } from 'rxjs/operators'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { PatchRequest } from '../request.models'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../../shared/operators'; -import { ChangeAnalyzer } from '../change-analyzer'; -import { RequestService } from '../request.service'; +import { + find, + map, + mergeMap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../shared/operators'; +import { ChangeAnalyzer } from '../change-analyzer'; +import { RemoteData } from '../remote-data'; +import { PatchRequest } from '../request.models'; +import { RequestService } from '../request.service'; import { RestRequestMethod } from '../rest-request-method'; -import { ConstructIdEndpoint, IdentifiableDataService } from './identifiable-data.service'; +import { + ConstructIdEndpoint, + IdentifiableDataService, +} from './identifiable-data.service'; /** diff --git a/src/app/core/data/base/put-data.spec.ts b/src/app/core/data/base/put-data.spec.ts index 5bfc0cc16e..1430bb3106 100644 --- a/src/app/core/data/base/put-data.spec.ts +++ b/src/app/core/data/base/put-data.spec.ts @@ -6,20 +6,27 @@ * http://www.dspace.org/license/ */ -import { RequestService } from '../request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { FindListOptions } from '../find-list-options.model'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; -import { RemoteData } from '../remote-data'; -import { RequestEntryState } from '../request-entry-state.model'; -import { PutData, PutDataImpl } from './put-data'; -import { RestRequestMethod } from '../rest-request-method'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../../cache/object-cache.service'; import { DSpaceObject } from '../../shared/dspace-object.model'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { FindListOptions } from '../find-list-options.model'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; +import { RequestEntryState } from '../request-entry-state.model'; +import { RestRequestMethod } from '../rest-request-method'; +import { + PutData, + PutDataImpl, +} from './put-data'; /** * Tests whether calls to `PutData` methods are correctly patched through in a concrete data service that implements it diff --git a/src/app/core/data/base/put-data.ts b/src/app/core/data/base/put-data.ts index 6cd61791e7..b1f3ec395c 100644 --- a/src/app/core/data/base/put-data.ts +++ b/src/app/core/data/base/put-data.ts @@ -5,18 +5,19 @@ * * http://www.dspace.org/license/ */ -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { BaseDataService } from './base-data.service'; import { Observable } from 'rxjs'; -import { RemoteData } from '../remote-data'; + +import { hasValue } from '../../../shared/empty.util'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; +import { ObjectCacheService } from '../../cache/object-cache.service'; import { DSpaceSerializer } from '../../dspace-rest/dspace.serializer'; import { GenericConstructor } from '../../shared/generic-constructor'; -import { PutRequest } from '../request.models'; -import { hasValue } from '../../../shared/empty.util'; -import { RequestService } from '../request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { RemoteData } from '../remote-data'; +import { PutRequest } from '../request.models'; +import { RequestService } from '../request.service'; +import { BaseDataService } from './base-data.service'; /** * Interface for a data service that can send PUT requests. diff --git a/src/app/core/data/base/search-data.spec.ts b/src/app/core/data/base/search-data.spec.ts index 31dddeddfc..af9f87bf2c 100644 --- a/src/app/core/data/base/search-data.spec.ts +++ b/src/app/core/data/base/search-data.spec.ts @@ -5,12 +5,17 @@ * * http://www.dspace.org/license/ */ -import { constructSearchEndpointDefault, SearchData, SearchDataImpl } from './search-data'; -import { FindListOptions } from '../find-list-options.model'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; import { of as observableOf } from 'rxjs'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; + import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { FindListOptions } from '../find-list-options.model'; +import { + constructSearchEndpointDefault, + SearchData, + SearchDataImpl, +} from './search-data'; /** * Tests whether calls to `SearchData` methods are correctly patched through in a concrete data service that implements it diff --git a/src/app/core/data/base/search-data.ts b/src/app/core/data/base/search-data.ts index e9dfc92d65..2a42283104 100644 --- a/src/app/core/data/base/search-data.ts +++ b/src/app/core/data/base/search-data.ts @@ -5,19 +5,26 @@ * * http://www.dspace.org/license/ */ -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { BaseDataService } from './base-data.service'; import { Observable } from 'rxjs'; -import { filter, map } from 'rxjs/operators'; -import { hasNoValue, isNotEmpty } from '../../../shared/empty.util'; -import { FindListOptions } from '../find-list-options.model'; +import { + filter, + map, +} from 'rxjs/operators'; + +import { + hasNoValue, + isNotEmpty, +} from '../../../shared/empty.util'; import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { RemoteData } from '../remote-data'; -import { PaginatedList } from '../paginated-list.model'; -import { RequestService } from '../request.service'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { FindListOptions } from '../find-list-options.model'; +import { PaginatedList } from '../paginated-list.model'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; +import { BaseDataService } from './base-data.service'; /** * Shorthand type for method to construct a search endpoint diff --git a/src/app/core/data/bitstream-data.service.spec.ts b/src/app/core/data/bitstream-data.service.spec.ts index 4a78ad611c..bab0f963c0 100644 --- a/src/app/core/data/bitstream-data.service.spec.ts +++ b/src/app/core/data/bitstream-data.service.spec.ts @@ -1,26 +1,33 @@ import { TestBed } from '@angular/core/testing'; -import { BitstreamDataService } from './bitstream-data.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { RequestService } from './request.service'; -import { Bitstream } from '../shared/bitstream.model'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { BitstreamFormatDataService } from './bitstream-format-data.service'; -import { Observable, of as observableOf } from 'rxjs'; -import { BitstreamFormat } from '../shared/bitstream-format.model'; -import { BitstreamFormatSupportLevel } from '../shared/bitstream-format-support-level'; -import { PatchRequest, PutRequest } from './request.models'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; -import { testSearchDataImplementation } from './base/search-data.spec'; -import { testPatchDataImplementation } from './base/patch-data.spec'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { Bitstream } from '../shared/bitstream.model'; +import { BitstreamFormat } from '../shared/bitstream-format.model'; +import { BitstreamFormatSupportLevel } from '../shared/bitstream-format-support-level'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testPatchDataImplementation } from './base/patch-data.spec'; +import { testSearchDataImplementation } from './base/search-data.spec'; +import { BitstreamDataService } from './bitstream-data.service'; +import { BitstreamFormatDataService } from './bitstream-format-data.service'; import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + PatchRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; import objectContaining = jasmine.objectContaining; -import { RemoteData } from './remote-data'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteData } from './remote-data'; describe('BitstreamDataService', () => { let service: BitstreamDataService; diff --git a/src/app/core/data/bitstream-data.service.ts b/src/app/core/data/bitstream-data.service.ts index 8a293666f3..7a364ee750 100644 --- a/src/app/core/data/bitstream-data.service.ts +++ b/src/app/core/data/bitstream-data.service.ts @@ -1,39 +1,66 @@ import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { find, map, switchMap, take } from 'rxjs/operators'; +import { + Operation, + RemoveOperation, +} from 'fast-json-patch'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + find, + map, + switchMap, + take, +} from 'rxjs/operators'; + import { hasValue } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { Bitstream } from '../shared/bitstream.model'; import { BITSTREAM } from '../shared/bitstream.resource-type'; +import { BitstreamFormat } from '../shared/bitstream-format.model'; import { Bundle } from '../shared/bundle.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; -import { BundleDataService } from './bundle-data.service'; -import { buildPaginatedList, PaginatedList } from './paginated-list.model'; -import { RemoteData } from './remote-data'; -import { PatchRequest, PutRequest } from './request.models'; -import { RequestService } from './request.service'; -import { BitstreamFormatDataService } from './bitstream-format-data.service'; -import { BitstreamFormat } from '../shared/bitstream-format.model'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { PageInfo } from '../shared/page-info.model'; -import { RequestParam } from '../cache/models/request-param.model'; -import { sendRequest } from '../shared/request.operators'; -import { FindListOptions } from './find-list-options.model'; -import { SearchData, SearchDataImpl } from './base/search-data'; -import { PatchData, PatchDataImpl } from './base/patch-data'; -import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; -import { RestRequestMethod } from './rest-request-method'; -import { DeleteData, DeleteDataImpl } from './base/delete-data'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { NoContent } from '../shared/NoContent.model'; -import { IdentifiableDataService } from './base/identifiable-data.service'; +import { PageInfo } from '../shared/page-info.model'; +import { sendRequest } from '../shared/request.operators'; import { dataService } from './base/data-service.decorator'; -import { Operation, RemoveOperation } from 'fast-json-patch'; +import { + DeleteData, + DeleteDataImpl, +} from './base/delete-data'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from './base/patch-data'; +import { + SearchData, + SearchDataImpl, +} from './base/search-data'; +import { BitstreamFormatDataService } from './bitstream-format-data.service'; +import { BundleDataService } from './bundle-data.service'; +import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; +import { FindListOptions } from './find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from './paginated-list.model'; +import { RemoteData } from './remote-data'; +import { + PatchRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; +import { RestRequestMethod } from './rest-request-method'; /** * A service to retrieve {@link Bitstream}s from the REST API diff --git a/src/app/core/data/bitstream-format-data.service.spec.ts b/src/app/core/data/bitstream-format-data.service.spec.ts index 5dc6a39122..234326d453 100644 --- a/src/app/core/data/bitstream-format-data.service.spec.ts +++ b/src/app/core/data/bitstream-format-data.service.spec.ts @@ -1,21 +1,36 @@ -import { BitstreamFormatDataService } from './bitstream-format-data.service'; -import { RestResponse } from '../cache/response.models'; -import { Observable, of as observableOf } from 'rxjs'; -import { Action, Store } from '@ngrx/store'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { BitstreamFormat } from '../shared/bitstream-format.model'; import { waitForAsync } from '@angular/core/testing'; -import { BitstreamFormatsRegistryDeselectAction, BitstreamFormatsRegistryDeselectAllAction, BitstreamFormatsRegistrySelectAction } from '../../admin/admin-registries/bitstream-formats/bitstream-format.actions'; +import { + Action, + Store, +} from '@ngrx/store'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + +import { + BitstreamFormatsRegistryDeselectAction, + BitstreamFormatsRegistryDeselectAllAction, + BitstreamFormatsRegistrySelectAction, +} from '../../admin/admin-registries/bitstream-formats/bitstream-format.actions'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { RestResponse } from '../cache/response.models'; import { CoreState } from '../core-state.model'; -import { RequestEntry } from './request-entry.model'; -import { testFindAllDataImplementation } from './base/find-all-data.spec'; +import { BitstreamFormat } from '../shared/bitstream-format.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testFindAllDataImplementation } from './base/find-all-data.spec'; +import { BitstreamFormatDataService } from './bitstream-format-data.service'; +import { RequestEntry } from './request-entry.model'; describe('BitstreamFormatDataService', () => { let service: BitstreamFormatDataService; diff --git a/src/app/core/data/bitstream-format-data.service.ts b/src/app/core/data/bitstream-format-data.service.ts index 49c9335c7c..1006e4eae0 100644 --- a/src/app/core/data/bitstream-format-data.service.ts +++ b/src/app/core/data/bitstream-format-data.service.ts @@ -1,30 +1,52 @@ import { Injectable } from '@angular/core'; -import { createSelector, select, Store } from '@ngrx/store'; +import { + createSelector, + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, map, tap } from 'rxjs/operators'; -import { BitstreamFormatsRegistryDeselectAction, BitstreamFormatsRegistryDeselectAllAction, BitstreamFormatsRegistrySelectAction } from '../../admin/admin-registries/bitstream-formats/bitstream-format.actions'; +import { + distinctUntilChanged, + map, + tap, +} from 'rxjs/operators'; +import { FollowLinkConfig } from 'src/app/shared/utils/follow-link-config.model'; + +import { + BitstreamFormatsRegistryDeselectAction, + BitstreamFormatsRegistryDeselectAllAction, + BitstreamFormatsRegistrySelectAction, +} from '../../admin/admin-registries/bitstream-formats/bitstream-format.actions'; import { BitstreamFormatRegistryState } from '../../admin/admin-registries/bitstream-formats/bitstream-format.reducers'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { coreSelector } from '../core.selectors'; +import { CoreState } from '../core-state.model'; +import { Bitstream } from '../shared/bitstream.model'; import { BitstreamFormat } from '../shared/bitstream-format.model'; import { BITSTREAM_FORMAT } from '../shared/bitstream-format.resource-type'; -import { Bitstream } from '../shared/bitstream.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RemoteData } from './remote-data'; -import { PostRequest, PutRequest } from './request.models'; -import { RequestService } from './request.service'; +import { NoContent } from '../shared/NoContent.model'; import { sendRequest } from '../shared/request.operators'; -import { CoreState } from '../core-state.model'; +import { dataService } from './base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from './base/delete-data'; +import { + FindAllData, + FindAllDataImpl, +} from './base/find-all-data'; import { IdentifiableDataService } from './base/identifiable-data.service'; -import { DeleteData, DeleteDataImpl } from './base/delete-data'; -import { FindAllData, FindAllDataImpl } from './base/find-all-data'; -import { FollowLinkConfig } from 'src/app/shared/utils/follow-link-config.model'; import { FindListOptions } from './find-list-options.model'; import { PaginatedList } from './paginated-list.model'; -import { NoContent } from '../shared/NoContent.model'; -import { dataService } from './base/data-service.decorator'; +import { RemoteData } from './remote-data'; +import { + PostRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; const bitstreamFormatsStateSelector = createSelector( coreSelector, diff --git a/src/app/core/data/browse-response-parsing.service.spec.ts b/src/app/core/data/browse-response-parsing.service.spec.ts index 3e6d727b96..53d2ec20fc 100644 --- a/src/app/core/data/browse-response-parsing.service.spec.ts +++ b/src/app/core/data/browse-response-parsing.service.spec.ts @@ -1,9 +1,9 @@ import { getMockObjectCacheService } from '../../shared/mocks/object-cache.service.mock'; -import { BrowseResponseParsingService } from './browse-response-parsing.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HIERARCHICAL_BROWSE_DEFINITION } from '../shared/hierarchical-browse-definition.resource-type'; import { FLAT_BROWSE_DEFINITION } from '../shared/flat-browse-definition.resource-type'; +import { HIERARCHICAL_BROWSE_DEFINITION } from '../shared/hierarchical-browse-definition.resource-type'; import { VALUE_LIST_BROWSE_DEFINITION } from '../shared/value-list-browse-definition.resource-type'; +import { BrowseResponseParsingService } from './browse-response-parsing.service'; class TestService extends BrowseResponseParsingService { constructor(protected objectCache: ObjectCacheService) { diff --git a/src/app/core/data/browse-response-parsing.service.ts b/src/app/core/data/browse-response-parsing.service.ts index d290e13a46..e01fa17f1f 100644 --- a/src/app/core/data/browse-response-parsing.service.ts +++ b/src/app/core/data/browse-response-parsing.service.ts @@ -1,18 +1,17 @@ import { Injectable } from '@angular/core'; -import { ObjectCacheService } from '../cache/object-cache.service'; + import { hasValue } from '../../shared/empty.util'; -import { - HIERARCHICAL_BROWSE_DEFINITION, -} from '../shared/hierarchical-browse-definition.resource-type'; -import { FLAT_BROWSE_DEFINITION } from '../shared/flat-browse-definition.resource-type'; -import { HierarchicalBrowseDefinition } from '../shared/hierarchical-browse-definition.model'; -import { FlatBrowseDefinition } from '../shared/flat-browse-definition.model'; -import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { Serializer } from '../serializer'; import { BrowseDefinition } from '../shared/browse-definition.model'; import { BROWSE_DEFINITION } from '../shared/browse-definition.resource-type'; +import { FlatBrowseDefinition } from '../shared/flat-browse-definition.model'; +import { FLAT_BROWSE_DEFINITION } from '../shared/flat-browse-definition.resource-type'; +import { HierarchicalBrowseDefinition } from '../shared/hierarchical-browse-definition.model'; +import { HIERARCHICAL_BROWSE_DEFINITION } from '../shared/hierarchical-browse-definition.resource-type'; import { ValueListBrowseDefinition } from '../shared/value-list-browse-definition.model'; import { VALUE_LIST_BROWSE_DEFINITION } from '../shared/value-list-browse-definition.resource-type'; +import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; /** * A ResponseParsingService used to parse a REST API response to a BrowseDefinition object diff --git a/src/app/core/data/bundle-data.service.spec.ts b/src/app/core/data/bundle-data.service.spec.ts index 80fb1c8c0d..b2c8be06af 100644 --- a/src/app/core/data/bundle-data.service.spec.ts +++ b/src/app/core/data/bundle-data.service.spec.ts @@ -1,19 +1,23 @@ import { HttpClient } from '@angular/common/http'; import { Store } from '@ngrx/store'; -import { compare, Operation } from 'fast-json-patch'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { Item } from '../shared/item.model'; -import { ChangeAnalyzer } from './change-analyzer'; +import { + compare, + Operation, +} from 'fast-json-patch'; + import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { BundleDataService } from './bundle-data.service'; -import { HALLink } from '../shared/hal-link.model'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; -import { Bundle } from '../shared/bundle.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { CoreState } from '../core-state.model'; +import { Bundle } from '../shared/bundle.model'; +import { HALLink } from '../shared/hal-link.model'; +import { Item } from '../shared/item.model'; import { testPatchDataImplementation } from './base/patch-data.spec'; +import { BundleDataService } from './bundle-data.service'; +import { ChangeAnalyzer } from './change-analyzer'; class DummyChangeAnalyzer implements ChangeAnalyzer { diff(object1: Item, object2: Item): Operation[] { diff --git a/src/app/core/data/bundle-data.service.ts b/src/app/core/data/bundle-data.service.ts index 7f0a372165..84684c6603 100644 --- a/src/app/core/data/bundle-data.service.ts +++ b/src/app/core/data/bundle-data.service.ts @@ -1,28 +1,36 @@ import { Injectable } from '@angular/core'; +import { Operation } from 'fast-json-patch'; import { Observable } from 'rxjs'; -import { map, switchMap, take } from 'rxjs/operators'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + import { hasValue } from '../../shared/empty.util'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { Bitstream } from '../shared/bitstream.model'; import { Bundle } from '../shared/bundle.model'; import { BUNDLE } from '../shared/bundle.resource-type'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; +import { dataService } from './base/data-service.decorator'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from './base/patch-data'; +import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; +import { FindListOptions } from './find-list-options.model'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { GetRequest } from './request.models'; import { RequestService } from './request.service'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { Bitstream } from '../shared/bitstream.model'; import { RequestEntryState } from './request-entry-state.model'; -import { FindListOptions } from './find-list-options.model'; -import { IdentifiableDataService } from './base/identifiable-data.service'; -import { PatchData, PatchDataImpl } from './base/patch-data'; -import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; import { RestRequestMethod } from './rest-request-method'; -import { Operation } from 'fast-json-patch'; -import { dataService } from './base/data-service.decorator'; /** * A service to retrieve {@link Bundle}s from the REST API diff --git a/src/app/core/data/collection-data.service.spec.ts b/src/app/core/data/collection-data.service.spec.ts index f400970c63..9ffba4a933 100644 --- a/src/app/core/data/collection-data.service.spec.ts +++ b/src/app/core/data/collection-data.service.spec.ts @@ -1,29 +1,44 @@ -import { CollectionDataService } from './collection-data.service'; -import { RequestService } from './request.service'; +import { + fakeAsync, + tick, +} from '@angular/core/testing'; import { TranslateService } from '@ngx-translate/core'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { Observable } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { hasNoValue } from '../../shared/empty.util'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; -import { fakeAsync, tick } from '@angular/core/testing'; -import { ContentSourceRequest, UpdateContentSourceRequest } from './request.models'; -import { ContentSource } from '../shared/content-source.model'; -import { ObjectCacheService } from '../cache/object-cache.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { Collection } from '../shared/collection.model'; +import { ContentSource } from '../shared/content-source.model'; import { PageInfo } from '../shared/page-info.model'; -import { buildPaginatedList } from './paginated-list.model'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; -import { Observable } from 'rxjs'; -import { RemoteData } from './remote-data'; -import { hasNoValue } from '../../shared/empty.util'; import { testCreateDataImplementation } from './base/create-data.spec'; -import { testFindAllDataImplementation } from './base/find-all-data.spec'; -import { testSearchDataImplementation } from './base/search-data.spec'; -import { testPatchDataImplementation } from './base/patch-data.spec'; import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testFindAllDataImplementation } from './base/find-all-data.spec'; +import { testPatchDataImplementation } from './base/patch-data.spec'; +import { testSearchDataImplementation } from './base/search-data.spec'; +import { CollectionDataService } from './collection-data.service'; +import { buildPaginatedList } from './paginated-list.model'; +import { RemoteData } from './remote-data'; +import { + ContentSourceRequest, + UpdateContentSourceRequest, +} from './request.models'; +import { RequestService } from './request.service'; const url = 'fake-url'; const collectionId = 'fake-collection-id'; diff --git a/src/app/core/data/collection-data.service.ts b/src/app/core/data/collection-data.service.ts index 8f5f1af673..a85d7c0798 100644 --- a/src/app/core/data/collection-data.service.ts +++ b/src/app/core/data/collection-data.service.ts @@ -2,26 +2,40 @@ import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { filter, map, switchMap, take } from 'rxjs/operators'; -import { hasValue, isNotEmpty, isNotEmptyOperator } from '../../shared/empty.util'; -import { NotificationOptions } from '../../shared/notifications/models/notification-options.model'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmpty, + isNotEmptyOperator, +} from '../../shared/empty.util'; import { INotification } from '../../shared/notifications/models/notification.model'; +import { NotificationOptions } from '../../shared/notifications/models/notification-options.model'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { Collection } from '../shared/collection.model'; import { COLLECTION } from '../shared/collection.resource-type'; +import { Community } from '../shared/community.model'; import { ContentSource } from '../shared/content-source.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; import { getFirstCompletedRemoteData } from '../shared/operators'; +import { dataService } from './base/data-service.decorator'; +import { BitstreamDataService } from './bitstream-data.service'; import { ComColDataService } from './comcol-data.service'; import { CommunityDataService } from './community-data.service'; import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; +import { FindListOptions } from './find-list-options.model'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { @@ -29,11 +43,7 @@ import { UpdateContentSourceRequest, } from './request.models'; import { RequestService } from './request.service'; -import { BitstreamDataService } from './bitstream-data.service'; import { RestRequest } from './rest-request.model'; -import { FindListOptions } from './find-list-options.model'; -import { Community } from '../shared/community.model'; -import { dataService } from './base/data-service.decorator'; @Injectable() @dataService(COLLECTION) diff --git a/src/app/core/data/comcol-data.service.spec.ts b/src/app/core/data/comcol-data.service.spec.ts index 5e044caff6..e1fe48c076 100644 --- a/src/app/core/data/comcol-data.service.spec.ts +++ b/src/app/core/data/comcol-data.service.spec.ts @@ -1,28 +1,37 @@ import { HttpClient } from '@angular/common/http'; import { Store } from '@ngrx/store'; import { cold } from 'jasmine-marbles'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject, + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { CoreState } from '../core-state.model'; +import { Bitstream } from '../shared/bitstream.model'; import { Community } from '../shared/community.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { testCreateDataImplementation } from './base/create-data.spec'; +import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testFindAllDataImplementation } from './base/find-all-data.spec'; +import { testPatchDataImplementation } from './base/patch-data.spec'; +import { testSearchDataImplementation } from './base/search-data.spec'; +import { BitstreamDataService } from './bitstream-data.service'; import { ComColDataService } from './comcol-data.service'; import { CommunityDataService } from './community-data.service'; import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; -import { RequestService } from './request.service'; -import { createFailedRemoteDataObject, createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { BitstreamDataService } from './bitstream-data.service'; -import { CoreState } from '../core-state.model'; import { FindListOptions } from './find-list-options.model'; -import { Bitstream } from '../shared/bitstream.model'; -import { testCreateDataImplementation } from './base/create-data.spec'; -import { testFindAllDataImplementation } from './base/find-all-data.spec'; -import { testSearchDataImplementation } from './base/search-data.spec'; -import { testPatchDataImplementation } from './base/patch-data.spec'; -import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { RequestService } from './request.service'; const LINK_NAME = 'test'; diff --git a/src/app/core/data/comcol-data.service.ts b/src/app/core/data/comcol-data.service.ts index 7590fb4dd0..de0d1a3157 100644 --- a/src/app/core/data/comcol-data.service.ts +++ b/src/app/core/data/comcol-data.service.ts @@ -1,34 +1,63 @@ -import { distinctUntilChanged, filter, map, switchMap, take } from 'rxjs/operators'; -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util'; +import { Operation } from 'fast-json-patch'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createFailedRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { Community } from '../shared/community.model'; -import { HALLink } from '../shared/hal-link.model'; -import { PaginatedList } from './paginated-list.model'; -import { RemoteData } from './remote-data'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { getFirstCompletedRemoteData } from '../shared/operators'; import { Bitstream } from '../shared/bitstream.model'; import { Collection } from '../shared/collection.model'; -import { BitstreamDataService } from './bitstream-data.service'; +import { Community } from '../shared/community.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { HALLink } from '../shared/hal-link.model'; import { NoContent } from '../shared/NoContent.model'; -import { createFailedRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { getFirstCompletedRemoteData } from '../shared/operators'; import { URLCombiner } from '../url-combiner/url-combiner'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { FindListOptions } from './find-list-options.model'; +import { + CreateData, + CreateDataImpl, +} from './base/create-data'; +import { + DeleteData, + DeleteDataImpl, +} from './base/delete-data'; +import { + FindAllData, + FindAllDataImpl, +} from './base/find-all-data'; import { IdentifiableDataService } from './base/identifiable-data.service'; -import { PatchData, PatchDataImpl } from './base/patch-data'; -import { DeleteData, DeleteDataImpl } from './base/delete-data'; -import { FindAllData, FindAllDataImpl } from './base/find-all-data'; -import { SearchData, SearchDataImpl } from './base/search-data'; -import { RestRequestMethod } from './rest-request-method'; -import { CreateData, CreateDataImpl } from './base/create-data'; -import { RequestParam } from '../cache/models/request-param.model'; -import { RequestService } from './request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + PatchData, + PatchDataImpl, +} from './base/patch-data'; +import { + SearchData, + SearchDataImpl, +} from './base/search-data'; +import { BitstreamDataService } from './bitstream-data.service'; import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; -import { Operation } from 'fast-json-patch'; +import { FindListOptions } from './find-list-options.model'; +import { PaginatedList } from './paginated-list.model'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; +import { RestRequestMethod } from './rest-request-method'; export abstract class ComColDataService extends IdentifiableDataService implements CreateData, FindAllData, SearchData, PatchData, DeleteData { private createData: CreateData; diff --git a/src/app/core/data/community-data.service.ts b/src/app/core/data/community-data.service.ts index c6c09e9653..ad06e9ee91 100644 --- a/src/app/core/data/community-data.service.ts +++ b/src/app/core/data/community-data.service.ts @@ -1,23 +1,28 @@ import { Injectable } from '@angular/core'; - import { Observable } from 'rxjs'; -import { filter, map, switchMap, take } from 'rxjs/operators'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { isNotEmpty } from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { Community } from '../shared/community.model'; import { COMMUNITY } from '../shared/community.resource-type'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { dataService } from './base/data-service.decorator'; +import { BitstreamDataService } from './bitstream-data.service'; import { ComColDataService } from './comcol-data.service'; import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; +import { FindListOptions } from './find-list-options.model'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; -import { BitstreamDataService } from './bitstream-data.service'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { isNotEmpty } from '../../shared/empty.util'; -import { FindListOptions } from './find-list-options.model'; -import { dataService } from './base/data-service.decorator'; @Injectable() @dataService(COMMUNITY) diff --git a/src/app/core/data/configuration-data.service.spec.ts b/src/app/core/data/configuration-data.service.spec.ts index b9fefdbd2d..bccfe45da4 100644 --- a/src/app/core/data/configuration-data.service.spec.ts +++ b/src/app/core/data/configuration-data.service.spec.ts @@ -1,12 +1,16 @@ -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { ConfigurationProperty } from '../shared/configuration-property.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { ConfigurationDataService } from './configuration-data.service'; import { GetRequest } from './request.models'; import { RequestService } from './request.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { ConfigurationDataService } from './configuration-data.service'; -import { ConfigurationProperty } from '../shared/configuration-property.model'; describe('ConfigurationDataService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/data/configuration-data.service.ts b/src/app/core/data/configuration-data.service.ts index de044e25e3..7e9dc554bd 100644 --- a/src/app/core/data/configuration-data.service.ts +++ b/src/app/core/data/configuration-data.service.ts @@ -1,15 +1,16 @@ /* eslint-disable max-classes-per-file */ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { CONFIG_PROPERTY } from '../shared/config-property.resource-type'; +import { ConfigurationProperty } from '../shared/configuration-property.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { dataService } from './base/data-service.decorator'; +import { IdentifiableDataService } from './base/identifiable-data.service'; import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; -import { ConfigurationProperty } from '../shared/configuration-property.model'; -import { CONFIG_PROPERTY } from '../shared/config-property.resource-type'; -import { IdentifiableDataService } from './base/identifiable-data.service'; -import { dataService } from './base/data-service.decorator'; @Injectable() @dataService(CONFIG_PROPERTY) diff --git a/src/app/core/data/content-source-response-parsing.service.ts b/src/app/core/data/content-source-response-parsing.service.ts index 066ccf28c9..c4eaa8418d 100644 --- a/src/app/core/data/content-source-response-parsing.service.ts +++ b/src/app/core/data/content-source-response-parsing.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@angular/core'; + import { ParsedResponse } from '../cache/response.models'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { ContentSource } from '../shared/content-source.model'; import { MetadataConfig } from '../shared/metadata-config.model'; import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; diff --git a/src/app/core/data/debug-response-parsing.service.ts b/src/app/core/data/debug-response-parsing.service.ts index 992a29e4b8..067afcee87 100644 --- a/src/app/core/data/debug-response-parsing.service.ts +++ b/src/app/core/data/debug-response-parsing.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; + import { RestResponse } from '../cache/response.models'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { ResponseParsingService } from './parsing.service'; diff --git a/src/app/core/data/default-change-analyzer.service.ts b/src/app/core/data/default-change-analyzer.service.ts index 70c45bbc2d..94e1856543 100644 --- a/src/app/core/data/default-change-analyzer.service.ts +++ b/src/app/core/data/default-change-analyzer.service.ts @@ -1,10 +1,13 @@ import { Injectable } from '@angular/core'; -import { compare } from 'fast-json-patch'; -import { Operation } from 'fast-json-patch'; +import { + compare, + Operation, +} from 'fast-json-patch'; + import { getClassForType } from '../cache/builders/build-decorators'; +import { TypedObject } from '../cache/typed-object.model'; import { DSpaceNotNullSerializer } from '../dspace-rest/dspace-not-null.serializer'; import { ChangeAnalyzer } from './change-analyzer'; -import { TypedObject } from '../cache/typed-object.model'; /** * A class to determine what differs between two diff --git a/src/app/core/data/dso-change-analyzer.service.ts b/src/app/core/data/dso-change-analyzer.service.ts index a621895633..4f0ade27b1 100644 --- a/src/app/core/data/dso-change-analyzer.service.ts +++ b/src/app/core/data/dso-change-analyzer.service.ts @@ -1,9 +1,13 @@ -import { compare, Operation } from 'fast-json-patch'; -import { ChangeAnalyzer } from './change-analyzer'; import { Injectable } from '@angular/core'; +import { + compare, + Operation, +} from 'fast-json-patch'; +import cloneDeep from 'lodash/cloneDeep'; + import { DSpaceObject } from '../shared/dspace-object.model'; import { MetadataMap } from '../shared/metadata.models'; -import cloneDeep from 'lodash/cloneDeep'; +import { ChangeAnalyzer } from './change-analyzer'; /** * A class to determine what differs between two diff --git a/src/app/core/data/dso-redirect.service.spec.ts b/src/app/core/data/dso-redirect.service.spec.ts index 6d0b0f0449..95fbe56308 100644 --- a/src/app/core/data/dso-redirect.service.spec.ts +++ b/src/app/core/data/dso-redirect.service.spec.ts @@ -1,16 +1,23 @@ -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; + +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { followLink } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { HardRedirectService } from '../services/hard-redirect.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { DsoRedirectService } from './dso-redirect.service'; -import { GetRequest, IdentifierType } from './request.models'; -import { RequestService } from './request.service'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { Item } from '../shared/item.model'; import { EMBED_SEPARATOR } from './base/base-data.service'; -import { HardRedirectService } from '../services/hard-redirect.service'; +import { DsoRedirectService } from './dso-redirect.service'; +import { + GetRequest, + IdentifierType, +} from './request.models'; +import { RequestService } from './request.service'; describe('DsoRedirectService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/data/dso-redirect.service.ts b/src/app/core/data/dso-redirect.service.ts index 057e471488..30064ff4e1 100644 --- a/src/app/core/data/dso-redirect.service.ts +++ b/src/app/core/data/dso-redirect.service.ts @@ -9,18 +9,19 @@ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; + +import { getDSORoute } from '../../app-routing-paths'; import { hasValue } from '../../shared/empty.util'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { HardRedirectService } from '../services/hard-redirect.service'; +import { DSpaceObject } from '../shared/dspace-object.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { getFirstCompletedRemoteData } from '../shared/operators'; +import { IdentifiableDataService } from './base/identifiable-data.service'; import { RemoteData } from './remote-data'; import { IdentifierType } from './request.models'; import { RequestService } from './request.service'; -import { getFirstCompletedRemoteData } from '../shared/operators'; -import { DSpaceObject } from '../shared/dspace-object.model'; -import { IdentifiableDataService } from './base/identifiable-data.service'; -import { getDSORoute } from '../../app-routing-paths'; -import { HardRedirectService } from '../services/hard-redirect.service'; const ID_ENDPOINT = 'pid'; const UUID_ENDPOINT = 'dso'; diff --git a/src/app/core/data/dso-response-parsing.service.ts b/src/app/core/data/dso-response-parsing.service.ts index 74117e79d3..6c9028bf6b 100644 --- a/src/app/core/data/dso-response-parsing.service.ts +++ b/src/app/core/data/dso-response-parsing.service.ts @@ -1,13 +1,18 @@ import { Injectable } from '@angular/core'; +import { + hasNoValue, + hasValue, +} from '../../shared/empty.util'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { + DSOSuccessResponse, + RestResponse, +} from '../cache/response.models'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { RestResponse, DSOSuccessResponse } from '../cache/response.models'; - -import { ResponseParsingService } from './parsing.service'; -import { BaseResponseParsingService } from './base-response-parsing.service'; -import { hasNoValue, hasValue } from '../../shared/empty.util'; import { DSpaceObject } from '../shared/dspace-object.model'; +import { BaseResponseParsingService } from './base-response-parsing.service'; +import { ResponseParsingService } from './parsing.service'; import { RestRequest } from './rest-request.model'; /** diff --git a/src/app/core/data/dspace-object-data.service.spec.ts b/src/app/core/data/dspace-object-data.service.spec.ts index e003cc7ffc..1e4809ac4b 100644 --- a/src/app/core/data/dspace-object-data.service.spec.ts +++ b/src/app/core/data/dspace-object-data.service.spec.ts @@ -1,12 +1,16 @@ -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { DSpaceObject } from '../shared/dspace-object.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { DSpaceObjectDataService } from './dspace-object-data.service'; import { GetRequest } from './request.models'; import { RequestService } from './request.service'; -import { DSpaceObjectDataService } from './dspace-object-data.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; describe('DSpaceObjectDataService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/data/dspace-object-data.service.ts b/src/app/core/data/dspace-object-data.service.ts index 2ad024133c..15e405a132 100644 --- a/src/app/core/data/dspace-object-data.service.ts +++ b/src/app/core/data/dspace-object-data.service.ts @@ -1,12 +1,13 @@ import { Injectable } from '@angular/core'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { DSpaceObject } from '../shared/dspace-object.model'; import { DSPACE_OBJECT } from '../shared/dspace-object.resource-type'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from './request.service'; -import { IdentifiableDataService } from './base/identifiable-data.service'; import { dataService } from './base/data-service.decorator'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { RequestService } from './request.service'; @Injectable() @dataService(DSPACE_OBJECT) diff --git a/src/app/core/data/dspace-rest-response-parsing.service.ts b/src/app/core/data/dspace-rest-response-parsing.service.ts index 66506b4bff..0177a9813a 100644 --- a/src/app/core/data/dspace-rest-response-parsing.service.ts +++ b/src/app/core/data/dspace-rest-response-parsing.service.ts @@ -1,23 +1,34 @@ /* eslint-disable max-classes-per-file */ -import { hasNoValue, hasValue, isNotEmpty } from '../../shared/empty.util'; -import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; -import { Serializer } from '../serializer'; -import { PageInfo } from '../shared/page-info.model'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { GenericConstructor } from '../shared/generic-constructor'; -import { PaginatedList, buildPaginatedList } from './paginated-list.model'; -import { getClassForType } from '../cache/builders/build-decorators'; -import { environment } from '../../../environments/environment'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { DSpaceObject } from '../shared/dspace-object.model'; import { Injectable } from '@angular/core'; -import { ResponseParsingService } from './parsing.service'; -import { ParsedResponse } from '../cache/response.models'; -import { RestRequestMethod } from './rest-request-method'; -import { getUrlWithoutEmbedParams, getEmbedSizeParams } from '../index/index.selectors'; -import { URLCombiner } from '../url-combiner/url-combiner'; + +import { environment } from '../../../environments/environment'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { getClassForType } from '../cache/builders/build-decorators'; import { CacheableObject } from '../cache/cacheable-object.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { ParsedResponse } from '../cache/response.models'; +import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; +import { + getEmbedSizeParams, + getUrlWithoutEmbedParams, +} from '../index/index.selectors'; +import { Serializer } from '../serializer'; +import { DSpaceObject } from '../shared/dspace-object.model'; +import { GenericConstructor } from '../shared/generic-constructor'; +import { PageInfo } from '../shared/page-info.model'; +import { URLCombiner } from '../url-combiner/url-combiner'; +import { + buildPaginatedList, + PaginatedList, +} from './paginated-list.model'; +import { ResponseParsingService } from './parsing.service'; import { RestRequest } from './rest-request.model'; +import { RestRequestMethod } from './rest-request-method'; /** diff --git a/src/app/core/data/endpoint-map-response-parsing.service.ts b/src/app/core/data/endpoint-map-response-parsing.service.ts index eaf46f93e9..69e9ec2de6 100644 --- a/src/app/core/data/endpoint-map-response-parsing.service.ts +++ b/src/app/core/data/endpoint-map-response-parsing.service.ts @@ -1,17 +1,17 @@ import { Injectable } from '@angular/core'; +import { environment } from '../../../environments/environment'; +import { hasValue } from '../../shared/empty.util'; +import { getClassForType } from '../cache/builders/build-decorators'; +import { CacheableObject } from '../cache/cacheable-object.model'; +import { ParsedResponse } from '../cache/response.models'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; +import { DSpaceObject } from '../shared/dspace-object.model'; +import { GenericConstructor } from '../shared/generic-constructor'; import { DspaceRestResponseParsingService, isCacheableObject, } from './dspace-rest-response-parsing.service'; -import { hasValue } from '../../shared/empty.util'; -import { getClassForType } from '../cache/builders/build-decorators'; -import { GenericConstructor } from '../shared/generic-constructor'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { ParsedResponse } from '../cache/response.models'; -import { DSpaceObject } from '../shared/dspace-object.model'; -import { environment } from '../../../environments/environment'; -import { CacheableObject } from '../cache/cacheable-object.model'; import { RestRequest } from './rest-request.model'; /** diff --git a/src/app/core/data/entity-type-data.service.ts b/src/app/core/data/entity-type-data.service.ts index d0afce0679..22cf1a1706 100644 --- a/src/app/core/data/entity-type-data.service.ts +++ b/src/app/core/data/entity-type-data.service.ts @@ -1,21 +1,36 @@ -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { RequestService } from './request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { filter, map, switchMap, take } from 'rxjs/operators'; -import { RemoteData } from './remote-data'; -import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; -import { PaginatedList } from './paginated-list.model'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { ItemType } from '../shared/item-relationships/item-type.model'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../shared/operators'; -import { RelationshipTypeDataService } from './relationship-type-data.service'; -import { FindListOptions } from './find-list-options.model'; +import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; import { BaseDataService } from './base/base-data.service'; -import { SearchData, SearchDataImpl } from './base/search-data'; -import { FindAllData, FindAllDataImpl } from './base/find-all-data'; +import { + FindAllData, + FindAllDataImpl, +} from './base/find-all-data'; +import { + SearchData, + SearchDataImpl, +} from './base/search-data'; +import { FindListOptions } from './find-list-options.model'; +import { PaginatedList } from './paginated-list.model'; +import { RelationshipTypeDataService } from './relationship-type-data.service'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; /** * Service handling all ItemType requests diff --git a/src/app/core/data/eperson-registration.service.spec.ts b/src/app/core/data/eperson-registration.service.spec.ts index 686b13b56d..a60cef121a 100644 --- a/src/app/core/data/eperson-registration.service.spec.ts +++ b/src/app/core/data/eperson-registration.service.spec.ts @@ -1,16 +1,17 @@ -import { RequestService } from './request.service'; -import { EpersonRegistrationService } from './eperson-registration.service'; -import { RestResponse } from '../cache/response.models'; +import { HttpHeaders } from '@angular/common/http'; import { cold } from 'jasmine-marbles'; -import { PostRequest } from './request.models'; -import { Registration } from '../shared/registration.model'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { RequestEntry } from './request-entry.model'; -import { HttpHeaders } from '@angular/common/http'; + +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { RestResponse } from '../cache/response.models'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { Registration } from '../shared/registration.model'; +import { EpersonRegistrationService } from './eperson-registration.service'; +import { PostRequest } from './request.models'; +import { RequestService } from './request.service'; +import { RequestEntry } from './request-entry.model'; describe('EpersonRegistrationService', () => { let testScheduler; diff --git a/src/app/core/data/eperson-registration.service.ts b/src/app/core/data/eperson-registration.service.ts index b526c9f29f..90a3fab83a 100644 --- a/src/app/core/data/eperson-registration.service.ts +++ b/src/app/core/data/eperson-registration.service.ts @@ -1,20 +1,33 @@ +import { + HttpHeaders, + HttpParams, +} from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { RequestService } from './request.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { GetRequest, PostRequest } from './request.models'; import { Observable } from 'rxjs'; -import { filter, find, map } from 'rxjs/operators'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { Registration } from '../shared/registration.model'; -import { getFirstCompletedRemoteData } from '../shared/operators'; -import { ResponseParsingService } from './parsing.service'; -import { GenericConstructor } from '../shared/generic-constructor'; -import { RegistrationResponseParsingService } from './registration-response-parsing.service'; -import { RemoteData } from './remote-data'; +import { + filter, + find, + map, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { HttpHeaders } from '@angular/common/http'; -import { HttpParams } from '@angular/common/http'; +import { GenericConstructor } from '../shared/generic-constructor'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { getFirstCompletedRemoteData } from '../shared/operators'; +import { Registration } from '../shared/registration.model'; +import { ResponseParsingService } from './parsing.service'; +import { RegistrationResponseParsingService } from './registration-response-parsing.service'; +import { RemoteData } from './remote-data'; +import { + GetRequest, + PostRequest, +} from './request.models'; +import { RequestService } from './request.service'; @Injectable({ providedIn: 'root', diff --git a/src/app/core/data/external-source-data.service.spec.ts b/src/app/core/data/external-source-data.service.spec.ts index e52f6e72b8..7e4f453ec1 100644 --- a/src/app/core/data/external-source-data.service.spec.ts +++ b/src/app/core/data/external-source-data.service.spec.ts @@ -1,11 +1,12 @@ -import { ExternalSourceDataService } from './external-source-data.service'; +import { of as observableOf } from 'rxjs'; +import { take } from 'rxjs/operators'; + import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { createPaginatedList } from '../../shared/testing/utils.test'; import { ExternalSourceEntry } from '../shared/external-source-entry.model'; -import { of as observableOf } from 'rxjs'; -import { GetRequest } from './request.models'; import { testSearchDataImplementation } from './base/search-data.spec'; -import { take } from 'rxjs/operators'; +import { ExternalSourceDataService } from './external-source-data.service'; +import { GetRequest } from './request.models'; describe('ExternalSourceService', () => { let service: ExternalSourceDataService; diff --git a/src/app/core/data/external-source-data.service.ts b/src/app/core/data/external-source-data.service.ts index 1b3b3f2fd7..16eaeb9321 100644 --- a/src/app/core/data/external-source-data.service.ts +++ b/src/app/core/data/external-source-data.service.ts @@ -1,20 +1,32 @@ import { Injectable } from '@angular/core'; -import { ExternalSource } from '../shared/external-source.model'; -import { RequestService } from './request.service'; +import { Observable } from 'rxjs'; +import { + distinctUntilChanged, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmptyOperator, +} from '../../shared/empty.util'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { Observable } from 'rxjs'; -import { distinctUntilChanged, map, switchMap, take } from 'rxjs/operators'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { hasValue, isNotEmptyOperator } from '../../shared/empty.util'; -import { RemoteData } from './remote-data'; -import { PaginatedList } from './paginated-list.model'; +import { ExternalSource } from '../shared/external-source.model'; import { ExternalSourceEntry } from '../shared/external-source-entry.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { FindListOptions } from './find-list-options.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { IdentifiableDataService } from './base/identifiable-data.service'; -import { SearchData, SearchDataImpl } from './base/search-data'; +import { + SearchData, + SearchDataImpl, +} from './base/search-data'; +import { FindListOptions } from './find-list-options.model'; +import { PaginatedList } from './paginated-list.model'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; /** * A service handling all external source requests diff --git a/src/app/core/data/facet-config-response-parsing.service.ts b/src/app/core/data/facet-config-response-parsing.service.ts index 474d42872b..b4086428ea 100644 --- a/src/app/core/data/facet-config-response-parsing.service.ts +++ b/src/app/core/data/facet-config-response-parsing.service.ts @@ -1,10 +1,11 @@ import { Injectable } from '@angular/core'; + +import { FacetConfigResponse } from '../../shared/search/models/facet-config-response.model'; import { SearchFilterConfig } from '../../shared/search/models/search-filter-config.model'; import { ParsedResponse } from '../cache/response.models'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; -import { FacetConfigResponse } from '../../shared/search/models/facet-config-response.model'; import { RestRequest } from './rest-request.model'; @Injectable() diff --git a/src/app/core/data/facet-value-response-parsing.service.ts b/src/app/core/data/facet-value-response-parsing.service.ts index 0911ed5073..871f2a4965 100644 --- a/src/app/core/data/facet-value-response-parsing.service.ts +++ b/src/app/core/data/facet-value-response-parsing.service.ts @@ -1,9 +1,10 @@ import { Injectable } from '@angular/core'; + import { FacetValue } from '../../shared/search/models/facet-value.model'; -import { ParsedResponse } from '../cache/response.models'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; import { FacetValues } from '../../shared/search/models/facet-values.model'; +import { ParsedResponse } from '../cache/response.models'; +import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; import { RestRequest } from './rest-request.model'; diff --git a/src/app/core/data/feature-authorization/authorization-data.service.spec.ts b/src/app/core/data/feature-authorization/authorization-data.service.spec.ts index 91492cdcbb..4048efe4ff 100644 --- a/src/app/core/data/feature-authorization/authorization-data.service.spec.ts +++ b/src/app/core/data/feature-authorization/authorization-data.service.spec.ts @@ -1,18 +1,26 @@ -import { AuthorizationDataService } from './authorization-data.service'; -import { SiteDataService } from '../site-data.service'; -import { Site } from '../../shared/site.model'; -import { EPerson } from '../../eperson/models/eperson.model'; -import { of as observableOf, combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { FeatureID } from './feature-id'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; + import { hasValue } from '../../../shared/empty.util'; -import { RequestParam } from '../../cache/models/request-param.model'; -import { Authorization } from '../../shared/authorization.model'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { Feature } from '../../shared/feature.model'; -import { FindListOptions } from '../find-list-options.model'; -import { testSearchDataImplementation } from '../base/search-data.spec'; import { getMockObjectCacheService } from '../../../shared/mocks/object-cache.service.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { RequestParam } from '../../cache/models/request-param.model'; +import { EPerson } from '../../eperson/models/eperson.model'; +import { Authorization } from '../../shared/authorization.model'; +import { Feature } from '../../shared/feature.model'; +import { Site } from '../../shared/site.model'; +import { testSearchDataImplementation } from '../base/search-data.spec'; +import { FindListOptions } from '../find-list-options.model'; +import { SiteDataService } from '../site-data.service'; +import { AuthorizationDataService } from './authorization-data.service'; +import { FeatureID } from './feature-id'; describe('AuthorizationDataService', () => { let service: AuthorizationDataService; diff --git a/src/app/core/data/feature-authorization/authorization-data.service.ts b/src/app/core/data/feature-authorization/authorization-data.service.ts index bb33aba037..227a233d6b 100644 --- a/src/app/core/data/feature-authorization/authorization-data.service.ts +++ b/src/app/core/data/feature-authorization/authorization-data.service.ts @@ -1,26 +1,44 @@ -import { Observable, of as observableOf } from 'rxjs'; import { Injectable } from '@angular/core'; -import { AUTHORIZATION } from '../../shared/authorization.resource-type'; -import { Authorization } from '../../shared/authorization.model'; -import { RequestService } from '../request.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + catchError, + map, + switchMap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; +import { + followLink, + FollowLinkConfig, +} from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { SiteDataService } from '../site-data.service'; -import { followLink, FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { RemoteData } from '../remote-data'; -import { PaginatedList } from '../paginated-list.model'; -import { catchError, map, switchMap } from 'rxjs/operators'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../shared/empty.util'; import { RequestParam } from '../../cache/models/request-param.model'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { Authorization } from '../../shared/authorization.model'; +import { AUTHORIZATION } from '../../shared/authorization.resource-type'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { getFirstCompletedRemoteData } from '../../shared/operators'; +import { BaseDataService } from '../base/base-data.service'; +import { dataService } from '../base/data-service.decorator'; +import { + SearchData, + SearchDataImpl, +} from '../base/search-data'; +import { FindListOptions } from '../find-list-options.model'; +import { PaginatedList } from '../paginated-list.model'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; +import { SiteDataService } from '../site-data.service'; import { AuthorizationSearchParams } from './authorization-search-params'; import { oneAuthorizationMatchesFeature } from './authorization-utils'; import { FeatureID } from './feature-id'; -import { getFirstCompletedRemoteData } from '../../shared/operators'; -import { FindListOptions } from '../find-list-options.model'; -import { BaseDataService } from '../base/base-data.service'; -import { SearchData, SearchDataImpl } from '../base/search-data'; -import { dataService } from '../base/data-service.decorator'; /** * A service to retrieve {@link Authorization}s from the REST API diff --git a/src/app/core/data/feature-authorization/authorization-utils.ts b/src/app/core/data/feature-authorization/authorization-utils.ts index 8db3f1ef19..523502aba8 100644 --- a/src/app/core/data/feature-authorization/authorization-utils.ts +++ b/src/app/core/data/feature-authorization/authorization-utils.ts @@ -1,13 +1,25 @@ -import { map, switchMap } from 'rxjs/operators'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { AuthorizationSearchParams } from './authorization-search-params'; -import { SiteDataService } from '../site-data.service'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../shared/empty.util'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; import { AuthService } from '../../auth/auth.service'; import { Authorization } from '../../shared/authorization.model'; import { Feature } from '../../shared/feature.model'; -import { FeatureID } from './feature-id'; import { getFirstSucceededRemoteDataPayload } from '../../shared/operators'; +import { SiteDataService } from '../site-data.service'; +import { AuthorizationSearchParams } from './authorization-search-params'; +import { FeatureID } from './feature-id'; /** * Operator accepting {@link AuthorizationSearchParams} and adding the current {@link Site}'s selflink to the parameter's diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard.ts index 9af82e335a..5af9f18b33 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/collection-administrator.guard.ts @@ -1,10 +1,18 @@ import { Injectable } from '@angular/core'; -import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../../auth/auth.service'; -import { Observable, of as observableOf } from 'rxjs'; +import { AuthorizationDataService } from '../authorization-data.service'; import { FeatureID } from '../feature-id'; +import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; /** * Prevent unauthorized activating and loading of routes when the current authenticated user diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/community-administrator.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/community-administrator.guard.ts index 11211029ed..2092fce110 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/community-administrator.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/community-administrator.guard.ts @@ -1,10 +1,18 @@ import { Injectable } from '@angular/core'; -import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../../auth/auth.service'; -import { Observable, of as observableOf } from 'rxjs'; +import { AuthorizationDataService } from '../authorization-data.service'; import { FeatureID } from '../feature-id'; +import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; /** * Prevent unauthorized activating and loading of routes when the current authenticated user diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.spec.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.spec.ts index 469178399a..234c2e1628 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.spec.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.spec.ts @@ -1,12 +1,21 @@ -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; -import { RemoteData } from '../../remote-data'; -import { Observable, of as observableOf } from 'rxjs'; +import { + ActivatedRouteSnapshot, + Resolve, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { DSpaceObject } from '../../../shared/dspace-object.model'; -import { DsoPageSingleFeatureGuard } from './dso-page-single-feature.guard'; -import { FeatureID } from '../feature-id'; import { AuthService } from '../../../auth/auth.service'; +import { DSpaceObject } from '../../../shared/dspace-object.model'; +import { RemoteData } from '../../remote-data'; +import { AuthorizationDataService } from '../authorization-data.service'; +import { FeatureID } from '../feature-id'; +import { DsoPageSingleFeatureGuard } from './dso-page-single-feature.guard'; /** * Test implementation of abstract class DsoPageSingleFeatureGuard diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.ts index 3fc90f9069..1f75df846b 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.ts @@ -1,9 +1,13 @@ -import { DSpaceObject } from '../../../shared/dspace-object.model'; -import { DsoPageSomeFeatureGuard } from './dso-page-some-feature.guard'; -import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; -import { FeatureID } from '../feature-id'; -import { map } from 'rxjs/operators'; +import { + ActivatedRouteSnapshot, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { DSpaceObject } from '../../../shared/dspace-object.model'; +import { FeatureID } from '../feature-id'; +import { DsoPageSomeFeatureGuard } from './dso-page-some-feature.guard'; /** * Abstract Guard for preventing unauthorized access to {@link DSpaceObject} pages that require rights for a specific feature diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.spec.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.spec.ts index 7d86202993..61e236188d 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.spec.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.spec.ts @@ -1,11 +1,20 @@ -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; -import { RemoteData } from '../../remote-data'; -import { Observable, of as observableOf } from 'rxjs'; +import { + ActivatedRouteSnapshot, + Resolve, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { DSpaceObject } from '../../../shared/dspace-object.model'; -import { FeatureID } from '../feature-id'; import { AuthService } from '../../../auth/auth.service'; +import { DSpaceObject } from '../../../shared/dspace-object.model'; +import { RemoteData } from '../../remote-data'; +import { AuthorizationDataService } from '../authorization-data.service'; +import { FeatureID } from '../feature-id'; import { DsoPageSomeFeatureGuard } from './dso-page-some-feature.guard'; /** diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.ts index 81365660d8..eff2da2102 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.ts @@ -1,12 +1,21 @@ -import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Resolve, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, +} from '../../../../shared/empty.util'; +import { AuthService } from '../../../auth/auth.service'; +import { DSpaceObject } from '../../../shared/dspace-object.model'; +import { getAllSucceededRemoteDataPayload } from '../../../shared/operators'; import { RemoteData } from '../../remote-data'; import { AuthorizationDataService } from '../authorization-data.service'; -import { Observable } from 'rxjs'; -import { getAllSucceededRemoteDataPayload } from '../../../shared/operators'; -import { map } from 'rxjs/operators'; -import { DSpaceObject } from '../../../shared/dspace-object.model'; -import { AuthService } from '../../../auth/auth.service'; -import { hasNoValue, hasValue } from '../../../../shared/empty.util'; import { SomeFeatureAuthorizationGuard } from './some-feature-authorization.guard'; /** diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/group-administrator.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/group-administrator.guard.ts index 7b24121032..5f32e26851 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/group-administrator.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/group-administrator.guard.ts @@ -1,10 +1,18 @@ import { Injectable } from '@angular/core'; -import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../../auth/auth.service'; -import { Observable, of as observableOf } from 'rxjs'; +import { AuthorizationDataService } from '../authorization-data.service'; import { FeatureID } from '../feature-id'; +import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; /** * Prevent unauthorized activating and loading of routes when the current authenticated user doesn't have group diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.spec.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.spec.ts index b7f0998d69..e789f8c473 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.spec.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.spec.ts @@ -1,9 +1,17 @@ -import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../../../auth/auth.service'; import { AuthorizationDataService } from '../authorization-data.service'; import { FeatureID } from '../feature-id'; -import { Observable, of as observableOf } from 'rxjs'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { AuthService } from '../../../auth/auth.service'; +import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; /** * Test implementation of abstract class SingleFeatureAuthorizationGuard diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.ts index cb71d2f418..e3a72846bb 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/single-feature-authorization.guard.ts @@ -1,7 +1,11 @@ -import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; -import { FeatureID } from '../feature-id'; +import { + ActivatedRouteSnapshot, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; import { map} from 'rxjs/operators'; + +import { FeatureID } from '../feature-id'; import { SomeFeatureAuthorizationGuard } from './some-feature-authorization.guard'; /** diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/site-administrator.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/site-administrator.guard.ts index be59235b20..9a7c9de5c4 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/site-administrator.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/site-administrator.guard.ts @@ -1,10 +1,18 @@ import { Injectable } from '@angular/core'; -import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; -import { FeatureID } from '../feature-id'; -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../../auth/auth.service'; +import { AuthorizationDataService } from '../authorization-data.service'; +import { FeatureID } from '../feature-id'; +import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; /** * Prevent unauthorized activating and loading of routes when the current authenticated user doesn't have administrator diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/site-register.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/site-register.guard.ts index 245c91026d..bde2d1c14e 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/site-register.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/site-register.guard.ts @@ -1,10 +1,18 @@ -import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; import { Injectable } from '@angular/core'; -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../feature-id'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../../auth/auth.service'; +import { AuthorizationDataService } from '../authorization-data.service'; +import { FeatureID } from '../feature-id'; +import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; /** * Prevent unauthorized activating and loading of routes when the current authenticated user doesn't have registration diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.spec.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.spec.ts index 84f77e04af..53d77cadad 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.spec.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.spec.ts @@ -1,8 +1,16 @@ +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../../../auth/auth.service'; import { AuthorizationDataService } from '../authorization-data.service'; import { FeatureID } from '../feature-id'; -import { Observable, of as observableOf } from 'rxjs'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { AuthService } from '../../../auth/auth.service'; import { SomeFeatureAuthorizationGuard } from './some-feature-authorization.guard'; /** diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.ts index ea59b164b4..0849c5a96a 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.ts @@ -1,10 +1,21 @@ -import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; -import { AuthorizationDataService } from '../authorization-data.service'; -import { FeatureID } from '../feature-id'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; +import { + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, + UrlTree, +} from '@angular/router'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; import { switchMap } from 'rxjs/operators'; + import { AuthService } from '../../../auth/auth.service'; import { returnForbiddenUrlTreeOrLoginOnAllFalse } from '../../../shared/authorized.operators'; +import { AuthorizationDataService } from '../authorization-data.service'; +import { FeatureID } from '../feature-id'; /** * Abstract Guard for preventing unauthorized activating and loading of routes when a user diff --git a/src/app/core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard.ts b/src/app/core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard.ts index f25d1728a8..b301d550a1 100644 --- a/src/app/core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard.ts +++ b/src/app/core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard.ts @@ -1,10 +1,18 @@ import { Injectable } from '@angular/core'; -import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; -import { AuthorizationDataService } from '../authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../../auth/auth.service'; -import { Observable, of as observableOf } from 'rxjs'; +import { AuthorizationDataService } from '../authorization-data.service'; import { FeatureID } from '../feature-id'; +import { SingleFeatureAuthorizationGuard } from './single-feature-authorization.guard'; /** * Prevent unauthorized activating and loading of routes when the current authenticated user doesn't have group diff --git a/src/app/core/data/feature-authorization/feature-data.service.ts b/src/app/core/data/feature-authorization/feature-data.service.ts index eda8791153..184e8c0be9 100644 --- a/src/app/core/data/feature-authorization/feature-data.service.ts +++ b/src/app/core/data/feature-authorization/feature-data.service.ts @@ -1,12 +1,13 @@ import { Injectable } from '@angular/core'; -import { FEATURE } from '../../shared/feature.resource-type'; -import { Feature } from '../../shared/feature.model'; -import { RequestService } from '../request.service'; + import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../cache/object-cache.service'; +import { Feature } from '../../shared/feature.model'; +import { FEATURE } from '../../shared/feature.resource-type'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; import { BaseDataService } from '../base/base-data.service'; import { dataService } from '../base/data-service.decorator'; +import { RequestService } from '../request.service'; /** * A service to retrieve {@link Feature}s from the REST API diff --git a/src/app/core/data/filtered-discovery-page-response-parsing.service.spec.ts b/src/app/core/data/filtered-discovery-page-response-parsing.service.spec.ts index 633c1cb7f5..6966e6a631 100644 --- a/src/app/core/data/filtered-discovery-page-response-parsing.service.spec.ts +++ b/src/app/core/data/filtered-discovery-page-response-parsing.service.spec.ts @@ -1,10 +1,10 @@ -import { FilteredDiscoveryPageResponseParsingService } from './filtered-discovery-page-response-parsing.service'; import { getMockObjectCacheService } from '../../shared/mocks/object-cache.service.mock'; +import { FilteredDiscoveryQueryResponse } from '../cache/response.models'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { GenericConstructor } from '../shared/generic-constructor'; +import { FilteredDiscoveryPageResponseParsingService } from './filtered-discovery-page-response-parsing.service'; import { ResponseParsingService } from './parsing.service'; import { GetRequest } from './request.models'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { FilteredDiscoveryQueryResponse } from '../cache/response.models'; describe('FilteredDiscoveryPageResponseParsingService', () => { let service: FilteredDiscoveryPageResponseParsingService; diff --git a/src/app/core/data/filtered-discovery-page-response-parsing.service.ts b/src/app/core/data/filtered-discovery-page-response-parsing.service.ts index da7a21c488..fed0d70c58 100644 --- a/src/app/core/data/filtered-discovery-page-response-parsing.service.ts +++ b/src/app/core/data/filtered-discovery-page-response-parsing.service.ts @@ -1,9 +1,13 @@ import { Injectable } from '@angular/core'; -import { ResponseParsingService } from './parsing.service'; + +import { ObjectCacheService } from '../cache/object-cache.service'; +import { + FilteredDiscoveryQueryResponse, + RestResponse, +} from '../cache/response.models'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { BaseResponseParsingService } from './base-response-parsing.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { FilteredDiscoveryQueryResponse, RestResponse } from '../cache/response.models'; +import { ResponseParsingService } from './parsing.service'; import { RestRequest } from './rest-request.model'; /** diff --git a/src/app/core/data/find-list-options.model.ts b/src/app/core/data/find-list-options.model.ts index 8e37cb49fd..78fe26fcab 100644 --- a/src/app/core/data/find-list-options.model.ts +++ b/src/app/core/data/find-list-options.model.ts @@ -1,5 +1,5 @@ -import { SortOptions } from '../cache/models/sort-options.model'; import { RequestParam } from '../cache/models/request-param.model'; +import { SortOptions } from '../cache/models/sort-options.model'; /** * The options for a find list request diff --git a/src/app/core/data/href-only-data.service.spec.ts b/src/app/core/data/href-only-data.service.spec.ts index ed0386f705..cba85d5de6 100644 --- a/src/app/core/data/href-only-data.service.spec.ts +++ b/src/app/core/data/href-only-data.service.spec.ts @@ -1,8 +1,11 @@ -import { HrefOnlyDataService } from './href-only-data.service'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { FindListOptions } from './find-list-options.model'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; import { BaseDataService } from './base/base-data.service'; +import { FindListOptions } from './find-list-options.model'; +import { HrefOnlyDataService } from './href-only-data.service'; describe(`HrefOnlyDataService`, () => { let service: HrefOnlyDataService; diff --git a/src/app/core/data/href-only-data.service.ts b/src/app/core/data/href-only-data.service.ts index 0a765de101..f58d292136 100644 --- a/src/app/core/data/href-only-data.service.ts +++ b/src/app/core/data/href-only-data.service.ts @@ -1,20 +1,21 @@ -import { RequestService } from './request.service'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../cache/cacheable-object.model'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { Injectable } from '@angular/core'; -import { VOCABULARY_ENTRY } from '../submission/vocabularies/models/vocabularies.resource-type'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { RemoteData } from './remote-data'; -import { Observable } from 'rxjs'; -import { PaginatedList } from './paginated-list.model'; import { ITEM_TYPE } from '../shared/item-relationships/item-type.resource-type'; import { LICENSE } from '../shared/license.resource-type'; -import { CacheableObject } from '../cache/cacheable-object.model'; -import { FindListOptions } from './find-list-options.model'; +import { VOCABULARY_ENTRY } from '../submission/vocabularies/models/vocabularies.resource-type'; import { BaseDataService } from './base/base-data.service'; -import { HALDataService } from './base/hal-data-service.interface'; import { dataService } from './base/data-service.decorator'; +import { HALDataService } from './base/hal-data-service.interface'; +import { FindListOptions } from './find-list-options.model'; +import { PaginatedList } from './paginated-list.model'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; /** * A DataService with only findByHref methods. Its purpose is to be used for resources that don't diff --git a/src/app/core/data/identifier-data.service.ts b/src/app/core/data/identifier-data.service.ts index 4ab28a62fe..3a6e355722 100644 --- a/src/app/core/data/identifier-data.service.ts +++ b/src/app/core/data/identifier-data.service.ts @@ -1,27 +1,35 @@ -import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; +import { + HttpClient, + HttpHeaders, + HttpParams, +} from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Store } from '@ngrx/store'; +import { Observable } from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { dataService } from './base/data-service.decorator'; +import { IdentifierData } from '../../shared/object-list/identifier-data/identifier-data.model'; +import { IDENTIFIERS } from '../../shared/object-list/identifier-data/identifier-data.resource-type'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { BaseDataService } from './base/base-data.service'; -import { RequestService } from './request.service'; -import { DefaultChangeAnalyzer } from './default-change-analyzer.service'; import { CoreState } from '../core-state.model'; -import { Observable } from 'rxjs'; -import { RemoteData } from './remote-data'; -import { Item } from '../shared/item.model'; -import { IDENTIFIERS } from '../../shared/object-list/identifier-data/identifier-data.resource-type'; -import { IdentifierData } from '../../shared/object-list/identifier-data/identifier-data.model'; -import { getFirstCompletedRemoteData } from '../shared/operators'; -import { map, switchMap } from 'rxjs/operators'; -import {ConfigurationProperty} from '../shared/configuration-property.model'; -import {ConfigurationDataService} from './configuration-data.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { PostRequest } from './request.models'; +import {ConfigurationProperty} from '../shared/configuration-property.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Item } from '../shared/item.model'; +import { getFirstCompletedRemoteData } from '../shared/operators'; import { sendRequest } from '../shared/request.operators'; +import { BaseDataService } from './base/base-data.service'; +import { dataService } from './base/data-service.decorator'; +import {ConfigurationDataService} from './configuration-data.service'; +import { DefaultChangeAnalyzer } from './default-change-analyzer.service'; +import { RemoteData } from './remote-data'; +import { PostRequest } from './request.models'; +import { RequestService } from './request.service'; import { RestRequest } from './rest-request.model'; /** diff --git a/src/app/core/data/item-data.service.spec.ts b/src/app/core/data/item-data.service.spec.ts index e08ffdb329..915c065a9e 100644 --- a/src/app/core/data/item-data.service.spec.ts +++ b/src/app/core/data/item-data.service.spec.ts @@ -1,25 +1,32 @@ import { HttpClient } from '@angular/common/http'; import { Store } from '@ngrx/store'; -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; +import { HALEndpointServiceStub } from 'src/app/shared/testing/hal-endpoint-service.stub'; + +import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { BrowseService } from '../browse/browse.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { RestResponse } from '../cache/response.models'; -import { ExternalSourceEntry } from '../shared/external-source-entry.model'; -import { ItemDataService } from './item-data.service'; -import { DeleteRequest, PostRequest } from './request.models'; -import { RequestService } from './request.service'; -import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { CoreState } from '../core-state.model'; -import { RequestEntry } from './request-entry.model'; -import { FindListOptions } from './find-list-options.model'; -import { HALEndpointServiceStub } from 'src/app/shared/testing/hal-endpoint-service.stub'; +import { ExternalSourceEntry } from '../shared/external-source-entry.model'; import { testCreateDataImplementation } from './base/create-data.spec'; -import { testPatchDataImplementation } from './base/patch-data.spec'; import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testPatchDataImplementation } from './base/patch-data.spec'; +import { FindListOptions } from './find-list-options.model'; +import { ItemDataService } from './item-data.service'; +import { + DeleteRequest, + PostRequest, +} from './request.models'; +import { RequestService } from './request.service'; +import { RequestEntry } from './request-entry.model'; describe('ItemDataService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/data/item-data.service.ts b/src/app/core/data/item-data.service.ts index a0fd5ae00e..f071f6e1b8 100644 --- a/src/app/core/data/item-data.service.ts +++ b/src/app/core/data/item-data.service.ts @@ -8,44 +8,73 @@ /* eslint-disable max-classes-per-file */ import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; +import { Operation } from 'fast-json-patch'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, find, map, switchMap, take } from 'rxjs/operators'; -import { hasValue, isNotEmpty, isNotEmptyOperator } from '../../shared/empty.util'; +import { + distinctUntilChanged, + filter, + find, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmpty, + isNotEmptyOperator, +} from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; import { BrowseService } from '../browse/browse.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { Bundle } from '../shared/bundle.model'; import { Collection } from '../shared/collection.model'; import { ExternalSourceEntry } from '../shared/external-source-entry.model'; +import { GenericConstructor } from '../shared/generic-constructor'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; import { ITEM } from '../shared/item.resource-type'; -import { URLCombiner } from '../url-combiner/url-combiner'; -import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; -import { PaginatedList } from './paginated-list.model'; -import { RemoteData } from './remote-data'; -import { DeleteRequest, GetRequest, PostRequest, PutRequest } from './request.models'; -import { RequestService } from './request.service'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { Bundle } from '../shared/bundle.model'; import { MetadataMap } from '../shared/metadata.models'; -import { BundleDataService } from './bundle-data.service'; -import { Operation } from 'fast-json-patch'; import { NoContent } from '../shared/NoContent.model'; -import { GenericConstructor } from '../shared/generic-constructor'; -import { ResponseParsingService } from './parsing.service'; -import { StatusCodeOnlyResponseParsingService } from './status-code-only-response-parsing.service'; import { sendRequest } from '../shared/request.operators'; -import { RestRequest } from './rest-request.model'; -import { FindListOptions } from './find-list-options.model'; -import { ConstructIdEndpoint, IdentifiableDataService } from './base/identifiable-data.service'; -import { PatchData, PatchDataImpl } from './base/patch-data'; -import { DeleteData, DeleteDataImpl } from './base/delete-data'; -import { RestRequestMethod } from './rest-request-method'; -import { CreateData, CreateDataImpl } from './base/create-data'; -import { RequestParam } from '../cache/models/request-param.model'; +import { URLCombiner } from '../url-combiner/url-combiner'; +import { + CreateData, + CreateDataImpl, +} from './base/create-data'; import { dataService } from './base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from './base/delete-data'; +import { + ConstructIdEndpoint, + IdentifiableDataService, +} from './base/identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from './base/patch-data'; +import { BundleDataService } from './bundle-data.service'; +import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; +import { FindListOptions } from './find-list-options.model'; +import { PaginatedList } from './paginated-list.model'; +import { ResponseParsingService } from './parsing.service'; +import { RemoteData } from './remote-data'; +import { + DeleteRequest, + GetRequest, + PostRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; +import { RestRequest } from './rest-request.model'; +import { RestRequestMethod } from './rest-request-method'; +import { StatusCodeOnlyResponseParsingService } from './status-code-only-response-parsing.service'; /** * An abstract service for CRUD operations on Items diff --git a/src/app/core/data/item-request-data.service.spec.ts b/src/app/core/data/item-request-data.service.spec.ts index a5d1872510..68577ae6e2 100644 --- a/src/app/core/data/item-request-data.service.spec.ts +++ b/src/app/core/data/item-request-data.service.spec.ts @@ -1,12 +1,13 @@ -import { ItemRequestDataService } from './item-request-data.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from './request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { ItemRequest } from '../shared/item-request.model'; -import { PostRequest } from './request.models'; + import { RequestCopyEmail } from '../../request-copy/email-request-copy/request-copy-email.model'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { ItemRequest } from '../shared/item-request.model'; +import { ItemRequestDataService } from './item-request-data.service'; +import { PostRequest } from './request.models'; +import { RequestService } from './request.service'; import { RestRequestMethod } from './rest-request-method'; describe('ItemRequestDataService', () => { diff --git a/src/app/core/data/item-request-data.service.ts b/src/app/core/data/item-request-data.service.ts index ced5817fc1..5c85ed1471 100644 --- a/src/app/core/data/item-request-data.service.ts +++ b/src/app/core/data/item-request-data.service.ts @@ -1,20 +1,32 @@ +import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, find, map } from 'rxjs/operators'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { getFirstCompletedRemoteData } from '../shared/operators'; -import { RemoteData } from './remote-data'; -import { PostRequest, PutRequest } from './request.models'; -import { RequestService } from './request.service'; -import { ItemRequest } from '../shared/item-request.model'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { HttpHeaders } from '@angular/common/http'; +import { + distinctUntilChanged, + filter, + find, + map, +} from 'rxjs/operators'; + import { RequestCopyEmail } from '../../request-copy/email-request-copy/request-copy-email.model'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { ItemRequest } from '../shared/item-request.model'; +import { getFirstCompletedRemoteData } from '../shared/operators'; import { sendRequest } from '../shared/request.operators'; import { IdentifiableDataService } from './base/identifiable-data.service'; +import { RemoteData } from './remote-data'; +import { + PostRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; /** * A service responsible for fetching/sending data from/to the REST API on the itemrequests endpoint diff --git a/src/app/core/data/item-template-data.service.spec.ts b/src/app/core/data/item-template-data.service.spec.ts index 9a7390648d..27db819861 100644 --- a/src/app/core/data/item-template-data.service.spec.ts +++ b/src/app/core/data/item-template-data.service.spec.ts @@ -1,22 +1,26 @@ -import { ItemTemplateDataService } from './item-template-data.service'; -import { RestResponse } from '../cache/response.models'; -import { RequestService } from './request.service'; -import { Observable, of as observableOf } from 'rxjs'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { Store } from '@ngrx/store'; -import { BrowseService } from '../browse/browse.service'; import { cold } from 'jasmine-marbles'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { CollectionDataService } from './collection-data.service'; -import { RestRequestMethod } from './rest-request-method'; -import { Item } from '../shared/item.model'; -import { RestRequest } from './rest-request.model'; +import { BrowseService } from '../browse/browse.service'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RestResponse } from '../cache/response.models'; import { CoreState } from '../core-state.model'; -import { RequestEntry } from './request-entry.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Item } from '../shared/item.model'; import { testCreateDataImplementation } from './base/create-data.spec'; -import { testPatchDataImplementation } from './base/patch-data.spec'; import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testPatchDataImplementation } from './base/patch-data.spec'; +import { CollectionDataService } from './collection-data.service'; +import { ItemTemplateDataService } from './item-template-data.service'; +import { RequestService } from './request.service'; +import { RequestEntry } from './request-entry.model'; +import { RestRequest } from './rest-request.model'; +import { RestRequestMethod } from './rest-request-method'; import createSpyObj = jasmine.createSpyObj; describe('ItemTemplateDataService', () => { diff --git a/src/app/core/data/item-template-data.service.ts b/src/app/core/data/item-template-data.service.ts index 634c966dba..0ee362c71a 100644 --- a/src/app/core/data/item-template-data.service.ts +++ b/src/app/core/data/item-template-data.service.ts @@ -1,22 +1,23 @@ /* eslint-disable max-classes-per-file */ import { Injectable } from '@angular/core'; -import { BaseItemDataService } from './item-data.service'; -import { Item } from '../shared/item.model'; -import { RemoteData } from './remote-data'; import { Observable } from 'rxjs'; -import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; -import { RequestService } from './request.service'; +import { switchMap } from 'rxjs/operators'; + +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { BrowseService } from '../browse/browse.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { BrowseService } from '../browse/browse.service'; -import { CollectionDataService } from './collection-data.service'; -import { switchMap } from 'rxjs/operators'; -import { BundleDataService } from './bundle-data.service'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { IdentifiableDataService } from './base/identifiable-data.service'; +import { Item } from '../shared/item.model'; import { CreateDataImpl } from './base/create-data'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { BundleDataService } from './bundle-data.service'; +import { CollectionDataService } from './collection-data.service'; +import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; +import { BaseItemDataService } from './item-data.service'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; /** * Data service for interacting with Item templates via their Collection diff --git a/src/app/core/data/lookup-relation.service.spec.ts b/src/app/core/data/lookup-relation.service.spec.ts index 48bcb4fd3c..93b4ed6696 100644 --- a/src/app/core/data/lookup-relation.service.spec.ts +++ b/src/app/core/data/lookup-relation.service.spec.ts @@ -1,18 +1,22 @@ -import { LookupRelationService } from './lookup-relation.service'; -import { ExternalSourceDataService } from './external-source-data.service'; -import { SearchService } from '../shared/search/search.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; -import { buildPaginatedList } from './paginated-list.model'; -import { PageInfo } from '../shared/page-info.model'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { RelationshipOptions } from '../../shared/form/builder/models/relationship-options.model'; -import { SearchResult } from '../../shared/search/models/search-result.model'; -import { Item } from '../shared/item.model'; -import { skip, take } from 'rxjs/operators'; -import { ExternalSource } from '../shared/external-source.model'; -import { RequestService } from './request.service'; import { of as observableOf } from 'rxjs'; +import { + skip, + take, +} from 'rxjs/operators'; + +import { RelationshipOptions } from '../../shared/form/builder/models/relationship-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { SearchResult } from '../../shared/search/models/search-result.model'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { ExternalSource } from '../shared/external-source.model'; +import { Item } from '../shared/item.model'; +import { PageInfo } from '../shared/page-info.model'; +import { SearchService } from '../shared/search/search.service'; +import { ExternalSourceDataService } from './external-source-data.service'; +import { LookupRelationService } from './lookup-relation.service'; +import { buildPaginatedList } from './paginated-list.model'; +import { RequestService } from './request.service'; describe('LookupRelationService', () => { let service: LookupRelationService; diff --git a/src/app/core/data/lookup-relation.service.ts b/src/app/core/data/lookup-relation.service.ts index aa8c549250..31b9ed845c 100644 --- a/src/app/core/data/lookup-relation.service.ts +++ b/src/app/core/data/lookup-relation.service.ts @@ -1,19 +1,34 @@ -import { ExternalSourceDataService } from './external-source-data.service'; -import { SearchService } from '../shared/search/search.service'; -import { concat, distinctUntilChanged, map, multicast, startWith, take, takeWhile } from 'rxjs/operators'; +import { Injectable } from '@angular/core'; +import { + Observable, + ReplaySubject, +} from 'rxjs'; +import { + concat, + distinctUntilChanged, + map, + multicast, + startWith, + take, + takeWhile, +} from 'rxjs/operators'; + +import { RelationshipOptions } from '../../shared/form/builder/models/relationship-options.model'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { Observable, ReplaySubject } from 'rxjs'; -import { RemoteData } from './remote-data'; -import { PaginatedList } from './paginated-list.model'; import { SearchResult } from '../../shared/search/models/search-result.model'; import { DSpaceObject } from '../shared/dspace-object.model'; -import { RelationshipOptions } from '../../shared/form/builder/models/relationship-options.model'; -import { Item } from '../shared/item.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { getAllSucceededRemoteData, getRemoteDataPayload } from '../shared/operators'; -import { Injectable } from '@angular/core'; import { ExternalSource } from '../shared/external-source.model'; import { ExternalSourceEntry } from '../shared/external-source-entry.model'; +import { Item } from '../shared/item.model'; +import { + getAllSucceededRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { SearchService } from '../shared/search/search.service'; +import { ExternalSourceDataService } from './external-source-data.service'; +import { PaginatedList } from './paginated-list.model'; +import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; /** diff --git a/src/app/core/data/metadata-field-data.service.spec.ts b/src/app/core/data/metadata-field-data.service.spec.ts index 72b1ff6632..8d65038060 100644 --- a/src/app/core/data/metadata-field-data.service.spec.ts +++ b/src/app/core/data/metadata-field-data.service.spec.ts @@ -1,20 +1,21 @@ -import { RequestService } from './request.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { of as observableOf } from 'rxjs'; -import { RestResponse } from '../cache/response.models'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { MetadataFieldDataService } from './metadata-field-data.service'; -import { MetadataSchema } from '../metadata/metadata-schema.model'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; + +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { RequestParam } from '../cache/models/request-param.model'; -import { FindListOptions } from './find-list-options.model'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { RestResponse } from '../cache/response.models'; +import { MetadataSchema } from '../metadata/metadata-schema.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { testCreateDataImplementation } from './base/create-data.spec'; -import { testSearchDataImplementation } from './base/search-data.spec'; -import { testPutDataImplementation } from './base/put-data.spec'; import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testPutDataImplementation } from './base/put-data.spec'; +import { testSearchDataImplementation } from './base/search-data.spec'; +import { FindListOptions } from './find-list-options.model'; +import { MetadataFieldDataService } from './metadata-field-data.service'; +import { RequestService } from './request.service'; describe('MetadataFieldDataService', () => { let metadataFieldService: MetadataFieldDataService; diff --git a/src/app/core/data/metadata-field-data.service.ts b/src/app/core/data/metadata-field-data.service.ts index d05e3533d3..c6a08fa82b 100644 --- a/src/app/core/data/metadata-field-data.service.ts +++ b/src/app/core/data/metadata-field-data.service.ts @@ -1,27 +1,40 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { take } from 'rxjs/operators'; + import { hasValue } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { MetadataField } from '../metadata/metadata-field.model'; +import { METADATA_FIELD } from '../metadata/metadata-field.resource-type'; +import { MetadataSchema } from '../metadata/metadata-schema.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { NoContent } from '../shared/NoContent.model'; +import { + CreateData, + CreateDataImpl, +} from './base/create-data'; +import { dataService } from './base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from './base/delete-data'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { + PutData, + PutDataImpl, +} from './base/put-data'; +import { + SearchData, + SearchDataImpl, +} from './base/search-data'; +import { FindListOptions } from './find-list-options.model'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { METADATA_FIELD } from '../metadata/metadata-field.resource-type'; -import { MetadataField } from '../metadata/metadata-field.model'; -import { MetadataSchema } from '../metadata/metadata-schema.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { Observable } from 'rxjs'; -import { take } from 'rxjs/operators'; -import { RequestParam } from '../cache/models/request-param.model'; -import { FindListOptions } from './find-list-options.model'; -import { SearchData, SearchDataImpl } from './base/search-data'; -import { PutData, PutDataImpl } from './base/put-data'; -import { CreateData, CreateDataImpl } from './base/create-data'; -import { NoContent } from '../shared/NoContent.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { DeleteData, DeleteDataImpl } from './base/delete-data'; -import { IdentifiableDataService } from './base/identifiable-data.service'; -import { dataService } from './base/data-service.decorator'; /** * A service responsible for fetching/sending data from/to the REST API on the metadatafields endpoint diff --git a/src/app/core/data/metadata-schema-data.service.spec.ts b/src/app/core/data/metadata-schema-data.service.spec.ts index 07c71a4646..02fbc016e7 100644 --- a/src/app/core/data/metadata-schema-data.service.spec.ts +++ b/src/app/core/data/metadata-schema-data.service.spec.ts @@ -1,16 +1,20 @@ -import { RequestService } from './request.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { MetadataSchemaDataService } from './metadata-schema-data.service'; import { of as observableOf } from 'rxjs'; -import { RestResponse } from '../cache/response.models'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { MetadataSchema } from '../metadata/metadata-schema.model'; -import { CreateRequest, PutRequest } from './request.models'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; + import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; -import { testFindAllDataImplementation } from './base/find-all-data.spec'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RestResponse } from '../cache/response.models'; +import { MetadataSchema } from '../metadata/metadata-schema.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { testDeleteDataImplementation } from './base/delete-data.spec'; +import { testFindAllDataImplementation } from './base/find-all-data.spec'; +import { MetadataSchemaDataService } from './metadata-schema-data.service'; +import { + CreateRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; describe('MetadataSchemaDataService', () => { let metadataSchemaService: MetadataSchemaDataService; diff --git a/src/app/core/data/metadata-schema-data.service.ts b/src/app/core/data/metadata-schema-data.service.ts index 6bd633b8c6..8054dcf657 100644 --- a/src/app/core/data/metadata-schema-data.service.ts +++ b/src/app/core/data/metadata-schema-data.service.ts @@ -1,25 +1,38 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { tap } from 'rxjs/operators'; + +import { hasValue } from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { MetadataSchema } from '../metadata/metadata-schema.model'; import { METADATA_SCHEMA } from '../metadata/metadata-schema.resource-type'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from './request.service'; -import { Observable } from 'rxjs'; -import { hasValue } from '../../shared/empty.util'; -import { tap } from 'rxjs/operators'; -import { RemoteData } from './remote-data'; -import { PutData, PutDataImpl } from './base/put-data'; -import { CreateData, CreateDataImpl } from './base/create-data'; import { NoContent } from '../shared/NoContent.model'; -import { FindAllData, FindAllDataImpl } from './base/find-all-data'; -import { FindListOptions } from './find-list-options.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { PaginatedList } from './paginated-list.model'; -import { IdentifiableDataService } from './base/identifiable-data.service'; -import { DeleteData, DeleteDataImpl } from './base/delete-data'; +import { + CreateData, + CreateDataImpl, +} from './base/create-data'; import { dataService } from './base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from './base/delete-data'; +import { + FindAllData, + FindAllDataImpl, +} from './base/find-all-data'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { + PutData, + PutDataImpl, +} from './base/put-data'; +import { FindListOptions } from './find-list-options.model'; +import { PaginatedList } from './paginated-list.model'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; /** * A service responsible for fetching/sending data from/to the REST API on the metadataschemas endpoint diff --git a/src/app/core/data/mydspace-response-parsing.service.ts b/src/app/core/data/mydspace-response-parsing.service.ts index d1f28a572d..8e7532a58e 100644 --- a/src/app/core/data/mydspace-response-parsing.service.ts +++ b/src/app/core/data/mydspace-response-parsing.service.ts @@ -1,10 +1,14 @@ import { Injectable } from '@angular/core'; + +import { hasValue } from '../../shared/empty.util'; +import { SearchObjects } from '../../shared/search/models/search-objects.model'; import { ParsedResponse } from '../cache/response.models'; import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { hasValue } from '../../shared/empty.util'; -import { SearchObjects } from '../../shared/search/models/search-objects.model'; -import { MetadataMap, MetadataValue } from '../shared/metadata.models'; +import { + MetadataMap, + MetadataValue, +} from '../shared/metadata.models'; import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; import { RestRequest } from './rest-request.model'; diff --git a/src/app/core/data/object-updates/field-update.model.ts b/src/app/core/data/object-updates/field-update.model.ts index 47b6782471..71ae3bb68f 100644 --- a/src/app/core/data/object-updates/field-update.model.ts +++ b/src/app/core/data/object-updates/field-update.model.ts @@ -1,5 +1,5 @@ -import { Identifiable } from './identifiable.model'; import { FieldChangeType } from './field-change-type.model'; +import { Identifiable } from './identifiable.model'; /** * The state of a single field update diff --git a/src/app/core/data/object-updates/object-updates.actions.ts b/src/app/core/data/object-updates/object-updates.actions.ts index 2bd50655fd..8c44cd0218 100644 --- a/src/app/core/data/object-updates/object-updates.actions.ts +++ b/src/app/core/data/object-updates/object-updates.actions.ts @@ -1,11 +1,12 @@ /* eslint-disable max-classes-per-file */ -import { type } from '../../../shared/ngrx/type'; import { Action } from '@ngrx/store'; + +import { type } from '../../../shared/ngrx/type'; import { INotification } from '../../../shared/notifications/models/notification.model'; -import { PatchOperationService } from './patch-operation-service/patch-operation.service'; import { GenericConstructor } from '../../shared/generic-constructor'; -import { Identifiable } from './identifiable.model'; import { FieldChangeType } from './field-change-type.model'; +import { Identifiable } from './identifiable.model'; +import { PatchOperationService } from './patch-operation-service/patch-operation.service'; /** * The list of ObjectUpdatesAction type definitions diff --git a/src/app/core/data/object-updates/object-updates.effects.spec.ts b/src/app/core/data/object-updates/object-updates.effects.spec.ts index fff9e13f66..daa0013e8b 100644 --- a/src/app/core/data/object-updates/object-updates.effects.spec.ts +++ b/src/app/core/data/object-updates/object-updates.effects.spec.ts @@ -1,9 +1,26 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { Observable, Subject } from 'rxjs'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { provideMockActions } from '@ngrx/effects/testing'; -import { cold, hot } from 'jasmine-marbles'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { + Observable, + Subject, +} from 'rxjs'; +import { filter } from 'rxjs/operators'; + +import { hasValue } from '../../../shared/empty.util'; +import { NoOpAction } from '../../../shared/ngrx/no-op.action'; +import { + INotification, + Notification, +} from '../../../shared/notifications/models/notification.model'; +import { NotificationType } from '../../../shared/notifications/models/notification-type'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ObjectUpdatesEffects } from './object-updates.effects'; import { DiscardObjectUpdatesAction, ObjectUpdatesAction, @@ -11,14 +28,7 @@ import { RemoveFieldUpdateAction, RemoveObjectUpdatesAction, } from './object-updates.actions'; -import { - INotification, - Notification, -} from '../../../shared/notifications/models/notification.model'; -import { NotificationType } from '../../../shared/notifications/models/notification-type'; -import { filter } from 'rxjs/operators'; -import { hasValue } from '../../../shared/empty.util'; -import { NoOpAction } from '../../../shared/ngrx/no-op.action'; +import { ObjectUpdatesEffects } from './object-updates.effects'; describe('ObjectUpdatesEffects', () => { let updatesEffects: ObjectUpdatesEffects; diff --git a/src/app/core/data/object-updates/object-updates.effects.ts b/src/app/core/data/object-updates/object-updates.effects.ts index cee45b5197..5ef86dbbec 100644 --- a/src/app/core/data/object-updates/object-updates.effects.ts +++ b/src/app/core/data/object-updates/object-updates.effects.ts @@ -1,5 +1,36 @@ import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { Action } from '@ngrx/store'; +import { + of as observableOf, + race as observableRace, + Subject, +} from 'rxjs'; +import { + delay, + filter, + map, + switchMap, + take, + tap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, +} from '../../../shared/empty.util'; +import { NoOpAction } from '../../../shared/ngrx/no-op.action'; +import { INotification } from '../../../shared/notifications/models/notification.model'; +import { + NotificationsActions, + NotificationsActionTypes, + RemoveNotificationAction, +} from '../../../shared/notifications/notifications.actions'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { DiscardObjectUpdatesAction, ObjectUpdatesAction, @@ -7,18 +38,6 @@ import { RemoveAllObjectUpdatesAction, RemoveObjectUpdatesAction, } from './object-updates.actions'; -import { delay, filter, map, switchMap, take, tap } from 'rxjs/operators'; -import { of as observableOf, race as observableRace, Subject } from 'rxjs'; -import { hasNoValue, hasValue } from '../../../shared/empty.util'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { INotification } from '../../../shared/notifications/models/notification.model'; -import { - NotificationsActions, - NotificationsActionTypes, - RemoveNotificationAction, -} from '../../../shared/notifications/notifications.actions'; -import { Action } from '@ngrx/store'; -import { NoOpAction } from '../../../shared/ngrx/no-op.action'; /** * NGRX effects for ObjectUpdatesActions diff --git a/src/app/core/data/object-updates/object-updates.reducer.spec.ts b/src/app/core/data/object-updates/object-updates.reducer.spec.ts index 7b8413fb7a..557c1133e6 100644 --- a/src/app/core/data/object-updates/object-updates.reducer.spec.ts +++ b/src/app/core/data/object-updates/object-updates.reducer.spec.ts @@ -1,5 +1,8 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; + +import { Relationship } from '../../shared/item-relationships/relationship.model'; +import { FieldChangeType } from './field-change-type.model'; import { AddFieldUpdateAction, DiscardObjectUpdatesAction, @@ -12,9 +15,10 @@ import { SetEditableFieldUpdateAction, SetValidFieldUpdateAction, } from './object-updates.actions'; -import { OBJECT_UPDATES_TRASH_PATH, objectUpdatesReducer } from './object-updates.reducer'; -import { Relationship } from '../../shared/item-relationships/relationship.model'; -import { FieldChangeType } from './field-change-type.model'; +import { + OBJECT_UPDATES_TRASH_PATH, + objectUpdatesReducer, +} from './object-updates.reducer'; class NullAction extends RemoveFieldUpdateAction { type = null; diff --git a/src/app/core/data/object-updates/object-updates.reducer.ts b/src/app/core/data/object-updates/object-updates.reducer.ts index c0bf1bc628..a0056e1b4c 100644 --- a/src/app/core/data/object-updates/object-updates.reducer.ts +++ b/src/app/core/data/object-updates/object-updates.reducer.ts @@ -1,3 +1,14 @@ +import { + hasNoValue, + hasValue, +} from '../../../shared/empty.util'; +import { GenericConstructor } from '../../shared/generic-constructor'; +import { Item } from '../../shared/item.model'; +import { Relationship } from '../../shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../shared/item-relationships/relationship-type.model'; +import { FieldChangeType } from './field-change-type.model'; +import { FieldUpdates } from './field-updates.model'; +import { Identifiable } from './identifiable.model'; import { AddFieldUpdateAction, DiscardObjectUpdatesAction, @@ -11,15 +22,7 @@ import { SetEditableFieldUpdateAction, SetValidFieldUpdateAction, } from './object-updates.actions'; -import { hasNoValue, hasValue } from '../../../shared/empty.util'; -import { Relationship } from '../../shared/item-relationships/relationship.model'; import { PatchOperationService } from './patch-operation-service/patch-operation.service'; -import { Item } from '../../shared/item.model'; -import { RelationshipType } from '../../shared/item-relationships/relationship-type.model'; -import { GenericConstructor } from '../../shared/generic-constructor'; -import { Identifiable } from './identifiable.model'; -import { FieldUpdates } from './field-updates.model'; -import { FieldChangeType } from './field-change-type.model'; /** * Path where discarded objects are saved diff --git a/src/app/core/data/object-updates/object-updates.service.spec.ts b/src/app/core/data/object-updates/object-updates.service.spec.ts index 9b6ffb8dc3..21486a581c 100644 --- a/src/app/core/data/object-updates/object-updates.service.spec.ts +++ b/src/app/core/data/object-updates/object-updates.service.spec.ts @@ -1,5 +1,12 @@ +import { Injector } from '@angular/core'; import { Store } from '@ngrx/store'; -import { ObjectUpdatesService } from './object-updates.service'; +import { of as observableOf } from 'rxjs'; + +import { Notification } from '../../../shared/notifications/models/notification.model'; +import { NotificationType } from '../../../shared/notifications/models/notification-type'; +import { CoreState } from '../../core-state.model'; +import { Relationship } from '../../shared/item-relationships/relationship.model'; +import { FieldChangeType } from './field-change-type.model'; import { DiscardObjectUpdatesAction, InitializeFieldsAction, @@ -8,14 +15,8 @@ import { SelectVirtualMetadataAction, SetEditableFieldUpdateAction, } from './object-updates.actions'; -import { of as observableOf } from 'rxjs'; -import { Notification } from '../../../shared/notifications/models/notification.model'; -import { NotificationType } from '../../../shared/notifications/models/notification-type'; import { OBJECT_UPDATES_TRASH_PATH } from './object-updates.reducer'; -import { Relationship } from '../../shared/item-relationships/relationship.model'; -import { Injector } from '@angular/core'; -import { FieldChangeType } from './field-change-type.model'; -import { CoreState } from '../../core-state.model'; +import { ObjectUpdatesService } from './object-updates.service'; describe('ObjectUpdatesService', () => { let service: ObjectUpdatesService; diff --git a/src/app/core/data/object-updates/object-updates.service.ts b/src/app/core/data/object-updates/object-updates.service.ts index d0a7ee12d0..b526e7e980 100644 --- a/src/app/core/data/object-updates/object-updates.service.ts +++ b/src/app/core/data/object-updates/object-updates.service.ts @@ -1,14 +1,36 @@ -import { Injectable, Injector } from '@angular/core'; -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; -import { coreSelector } from '../../core.selectors'; import { - FieldState, - OBJECT_UPDATES_TRASH_PATH, - ObjectUpdatesEntry, - ObjectUpdatesState, - VirtualMetadataSource, -} from './object-updates.reducer'; + Injectable, + Injector, +} from '@angular/core'; +import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; +import { Operation } from 'fast-json-patch'; import { Observable } from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + switchMap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + hasValueOperator, + isEmpty, + isNotEmpty, +} from '../../../shared/empty.util'; +import { INotification } from '../../../shared/notifications/models/notification.model'; +import { coreSelector } from '../../core.selectors'; +import { CoreState } from '../../core-state.model'; +import { GenericConstructor } from '../../shared/generic-constructor'; +import { FieldChangeType } from './field-change-type.model'; +import { FieldUpdates } from './field-updates.model'; +import { Identifiable } from './identifiable.model'; import { AddFieldUpdateAction, DiscardObjectUpdatesAction, @@ -19,22 +41,14 @@ import { SetEditableFieldUpdateAction, SetValidFieldUpdateAction, } from './object-updates.actions'; -import { distinctUntilChanged, filter, map, switchMap } from 'rxjs/operators'; import { - hasNoValue, - hasValue, - isEmpty, - isNotEmpty, - hasValueOperator, -} from '../../../shared/empty.util'; -import { INotification } from '../../../shared/notifications/models/notification.model'; -import { Operation } from 'fast-json-patch'; + FieldState, + OBJECT_UPDATES_TRASH_PATH, + ObjectUpdatesEntry, + ObjectUpdatesState, + VirtualMetadataSource, +} from './object-updates.reducer'; import { PatchOperationService } from './patch-operation-service/patch-operation.service'; -import { GenericConstructor } from '../../shared/generic-constructor'; -import { Identifiable } from './identifiable.model'; -import { FieldUpdates } from './field-updates.model'; -import { FieldChangeType } from './field-change-type.model'; -import { CoreState } from '../../core-state.model'; function objectUpdatesStateSelector(): MemoizedSelector { return createSelector(coreSelector, (state: CoreState) => state['cache/object-updates']); diff --git a/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.spec.ts b/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.spec.ts index f44887816b..ddf38dd2bb 100644 --- a/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.spec.ts +++ b/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.spec.ts @@ -1,8 +1,9 @@ -import { MetadataPatchOperationService } from './metadata-patch-operation.service'; import { Operation } from 'fast-json-patch'; + import { MetadatumViewModel } from '../../../shared/metadata.models'; -import { FieldUpdates } from '../field-updates.model'; import { FieldChangeType } from '../field-change-type.model'; +import { FieldUpdates } from '../field-updates.model'; +import { MetadataPatchOperationService } from './metadata-patch-operation.service'; describe('MetadataPatchOperationService', () => { let service: MetadataPatchOperationService; diff --git a/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.ts b/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.ts index 8ef094286b..b6dccb759b 100644 --- a/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.ts +++ b/src/app/core/data/object-updates/patch-operation-service/metadata-patch-operation.service.ts @@ -1,14 +1,15 @@ -import { PatchOperationService } from './patch-operation.service'; -import { MetadatumViewModel } from '../../../shared/metadata.models'; -import { Operation } from 'fast-json-patch'; import { Injectable } from '@angular/core'; -import { MetadataPatchOperation } from './operations/metadata/metadata-patch-operation.model'; +import { Operation } from 'fast-json-patch'; + import { hasValue } from '../../../../shared/empty.util'; +import { MetadatumViewModel } from '../../../shared/metadata.models'; +import { FieldChangeType } from '../field-change-type.model'; +import { FieldUpdates } from '../field-updates.model'; import { MetadataPatchAddOperation } from './operations/metadata/metadata-patch-add-operation.model'; +import { MetadataPatchOperation } from './operations/metadata/metadata-patch-operation.model'; import { MetadataPatchRemoveOperation } from './operations/metadata/metadata-patch-remove-operation.model'; import { MetadataPatchReplaceOperation } from './operations/metadata/metadata-patch-replace-operation.model'; -import { FieldUpdates } from '../field-updates.model'; -import { FieldChangeType } from '../field-change-type.model'; +import { PatchOperationService } from './patch-operation.service'; /** * Service transforming {@link FieldUpdates} into {@link Operation}s for metadata values diff --git a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-add-operation.model.ts b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-add-operation.model.ts index 7f9b1d772f..9242290c6b 100644 --- a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-add-operation.model.ts +++ b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-add-operation.model.ts @@ -1,6 +1,7 @@ -import { MetadataPatchOperation } from './metadata-patch-operation.model'; import { Operation } from 'fast-json-patch'; +import { MetadataPatchOperation } from './metadata-patch-operation.model'; + /** * Wrapper object for a metadata patch add Operation */ diff --git a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-move-operation.model.ts b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-move-operation.model.ts index 962d53dfee..d80ec16cd1 100644 --- a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-move-operation.model.ts +++ b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-move-operation.model.ts @@ -1,6 +1,7 @@ -import { MetadataPatchOperation } from './metadata-patch-operation.model'; import { Operation } from 'fast-json-patch'; +import { MetadataPatchOperation } from './metadata-patch-operation.model'; + /** * Wrapper object for a metadata patch move Operation */ diff --git a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-remove-operation.model.ts b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-remove-operation.model.ts index 61fbae1980..efaf61f381 100644 --- a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-remove-operation.model.ts +++ b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-remove-operation.model.ts @@ -1,6 +1,7 @@ -import { MetadataPatchOperation } from './metadata-patch-operation.model'; import { Operation } from 'fast-json-patch'; +import { MetadataPatchOperation } from './metadata-patch-operation.model'; + /** * Wrapper object for a metadata patch remove Operation */ diff --git a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-replace-operation.model.ts b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-replace-operation.model.ts index e889bede0b..c2d9581293 100644 --- a/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-replace-operation.model.ts +++ b/src/app/core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-replace-operation.model.ts @@ -1,6 +1,7 @@ -import { MetadataPatchOperation } from './metadata-patch-operation.model'; import { Operation } from 'fast-json-patch'; +import { MetadataPatchOperation } from './metadata-patch-operation.model'; + /** * Wrapper object for a metadata patch replace Operation */ diff --git a/src/app/core/data/object-updates/patch-operation-service/patch-operation.service.ts b/src/app/core/data/object-updates/patch-operation-service/patch-operation.service.ts index 171c1d2a54..7e9c1087ff 100644 --- a/src/app/core/data/object-updates/patch-operation-service/patch-operation.service.ts +++ b/src/app/core/data/object-updates/patch-operation-service/patch-operation.service.ts @@ -1,4 +1,5 @@ import { Operation } from 'fast-json-patch'; + import { FieldUpdates } from '../field-updates.model'; /** diff --git a/src/app/core/data/paginated-list.model.ts b/src/app/core/data/paginated-list.model.ts index 1044186746..e412af4986 100644 --- a/src/app/core/data/paginated-list.model.ts +++ b/src/app/core/data/paginated-list.model.ts @@ -1,13 +1,22 @@ -import { PageInfo } from '../shared/page-info.model'; -import { hasValue, isEmpty, hasNoValue, isUndefined } from '../../shared/empty.util'; -import { HALResource } from '../shared/hal-resource.model'; -import { HALLink } from '../shared/hal-link.model'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + +import { + hasNoValue, + hasValue, + isEmpty, + isUndefined, +} from '../../shared/empty.util'; import { typedObject } from '../cache/builders/build-decorators'; -import { PAGINATED_LIST } from './paginated-list.resource-type'; +import { CacheableObject } from '../cache/cacheable-object.model'; +import { HALLink } from '../shared/hal-link.model'; +import { HALResource } from '../shared/hal-resource.model'; +import { PageInfo } from '../shared/page-info.model'; import { ResourceType } from '../shared/resource-type'; import { excludeFromEquals } from '../utilities/equals.decorators'; -import { autoserialize, deserialize } from 'cerialize'; -import { CacheableObject } from '../cache/cacheable-object.model'; +import { PAGINATED_LIST } from './paginated-list.resource-type'; /** * Factory function for a paginated list diff --git a/src/app/core/data/parsing.service.ts b/src/app/core/data/parsing.service.ts index fbebe75b2b..9bf91121cc 100644 --- a/src/app/core/data/parsing.service.ts +++ b/src/app/core/data/parsing.service.ts @@ -1,5 +1,5 @@ -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { ParsedResponse } from '../cache/response.models'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { RestRequest } from './rest-request.model'; export interface ResponseParsingService { diff --git a/src/app/core/data/primary-bitstream.service.spec.ts b/src/app/core/data/primary-bitstream.service.spec.ts index 3919a80ef2..6d6f1a03d3 100644 --- a/src/app/core/data/primary-bitstream.service.spec.ts +++ b/src/app/core/data/primary-bitstream.service.spec.ts @@ -1,21 +1,31 @@ -import { ObjectCacheService } from '../cache/object-cache.service'; -import { RequestService } from './request.service'; -import { Bitstream } from '../shared/bitstream.model'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; -import { PrimaryBitstreamService } from './primary-bitstream.service'; -import { BundleDataService } from './bundle-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { CreateRequest, DeleteRequest, PostRequest, PutRequest } from './request.models'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { Bundle } from '../shared/bundle.model'; import { getTestScheduler } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; +import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { Bitstream } from '../shared/bitstream.model'; +import { Bundle } from '../shared/bundle.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { BundleDataService } from './bundle-data.service'; +import { PrimaryBitstreamService } from './primary-bitstream.service'; +import { + CreateRequest, + DeleteRequest, + PostRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; + describe('PrimaryBitstreamService', () => { let service: PrimaryBitstreamService; let objectCache: ObjectCacheService; diff --git a/src/app/core/data/primary-bitstream.service.ts b/src/app/core/data/primary-bitstream.service.ts index 727f983b41..a5367e67ed 100644 --- a/src/app/core/data/primary-bitstream.service.ts +++ b/src/app/core/data/primary-bitstream.service.ts @@ -1,20 +1,28 @@ -import { Bitstream } from '../shared/bitstream.model'; +import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { RequestService } from './request.service'; +import { + Observable, + switchMap, +} from 'rxjs'; + +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { Observable, switchMap } from 'rxjs'; -import { RemoteData } from './remote-data'; -import { Bundle } from '../shared/bundle.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { HttpHeaders } from '@angular/common/http'; +import { Bitstream } from '../shared/bitstream.model'; +import { Bundle } from '../shared/bundle.model'; import { GenericConstructor } from '../shared/generic-constructor'; -import { PutRequest, PostRequest, DeleteRequest } from './request.models'; -import { getAllCompletedRemoteData } from '../shared/operators'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { NoContent } from '../shared/NoContent.model'; +import { getAllCompletedRemoteData } from '../shared/operators'; import { BundleDataService } from './bundle-data.service'; +import { RemoteData } from './remote-data'; +import { + DeleteRequest, + PostRequest, + PutRequest, +} from './request.models'; +import { RequestService } from './request.service'; @Injectable({ providedIn: 'root', diff --git a/src/app/core/data/processes/process-data.service.spec.ts b/src/app/core/data/processes/process-data.service.spec.ts index 88e5bd5791..3261e86f4e 100644 --- a/src/app/core/data/processes/process-data.service.spec.ts +++ b/src/app/core/data/processes/process-data.service.spec.ts @@ -6,9 +6,9 @@ * http://www.dspace.org/license/ */ +import { testDeleteDataImplementation } from '../base/delete-data.spec'; import { testFindAllDataImplementation } from '../base/find-all-data.spec'; import { ProcessDataService } from './process-data.service'; -import { testDeleteDataImplementation } from '../base/delete-data.spec'; describe('ProcessDataService', () => { describe('composition', () => { diff --git a/src/app/core/data/processes/process-data.service.ts b/src/app/core/data/processes/process-data.service.ts index dd039867d0..78a03a7947 100644 --- a/src/app/core/data/processes/process-data.service.ts +++ b/src/app/core/data/processes/process-data.service.ts @@ -1,24 +1,31 @@ import { Injectable } from '@angular/core'; -import { RequestService } from '../request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { Process } from '../../../process-page/processes/process.model'; -import { PROCESS } from '../../../process-page/processes/process.resource-type'; import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; -import { PaginatedList } from '../paginated-list.model'; -import { Bitstream } from '../../shared/bitstream.model'; -import { RemoteData } from '../remote-data'; -import { BitstreamDataService } from '../bitstream-data.service'; -import { IdentifiableDataService } from '../base/identifiable-data.service'; -import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { FindAllData, FindAllDataImpl } from '../base/find-all-data'; -import { FindListOptions } from '../find-list-options.model'; -import { dataService } from '../base/data-service.decorator'; -import { DeleteData, DeleteDataImpl } from '../base/delete-data'; + +import { Process } from '../../../process-page/processes/process.model'; +import { PROCESS } from '../../../process-page/processes/process.resource-type'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { Bitstream } from '../../shared/bitstream.model'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; import { NoContent } from '../../shared/NoContent.model'; +import { dataService } from '../base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from '../base/delete-data'; +import { + FindAllData, + FindAllDataImpl, +} from '../base/find-all-data'; +import { IdentifiableDataService } from '../base/identifiable-data.service'; +import { BitstreamDataService } from '../bitstream-data.service'; +import { FindListOptions } from '../find-list-options.model'; +import { PaginatedList } from '../paginated-list.model'; +import { RemoteData } from '../remote-data'; +import { RequestService } from '../request.service'; @Injectable() @dataService(PROCESS) diff --git a/src/app/core/data/processes/script-data.service.ts b/src/app/core/data/processes/script-data.service.ts index ca34d8f658..901a92e818 100644 --- a/src/app/core/data/processes/script-data.service.ts +++ b/src/app/core/data/processes/script-data.service.ts @@ -1,26 +1,33 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; + +import { Process } from '../../../process-page/processes/process.model'; +import { ProcessParameter } from '../../../process-page/processes/process-parameter.model'; +import { Script } from '../../../process-page/scripts/script.model'; +import { SCRIPT } from '../../../process-page/scripts/script.resource-type'; +import { hasValue } from '../../../shared/empty.util'; +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../cache/object-cache.service'; import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { Script } from '../../../process-page/scripts/script.model'; -import { ProcessParameter } from '../../../process-page/processes/process-parameter.model'; -import { map, take } from 'rxjs/operators'; +import { getFirstCompletedRemoteData } from '../../shared/operators'; import { URLCombiner } from '../../url-combiner/url-combiner'; +import { dataService } from '../base/data-service.decorator'; +import { + FindAllData, + FindAllDataImpl, +} from '../base/find-all-data'; +import { IdentifiableDataService } from '../base/identifiable-data.service'; +import { FindListOptions } from '../find-list-options.model'; +import { PaginatedList } from '../paginated-list.model'; import { RemoteData } from '../remote-data'; import { MultipartPostRequest } from '../request.models'; import { RequestService } from '../request.service'; -import { Observable } from 'rxjs'; -import { SCRIPT } from '../../../process-page/scripts/script.resource-type'; -import { Process } from '../../../process-page/processes/process.model'; -import { hasValue } from '../../../shared/empty.util'; -import { getFirstCompletedRemoteData } from '../../shared/operators'; import { RestRequest } from '../rest-request.model'; -import { IdentifiableDataService } from '../base/identifiable-data.service'; -import { FindAllData, FindAllDataImpl } from '../base/find-all-data'; -import { FindListOptions } from '../find-list-options.model'; -import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { PaginatedList } from '../paginated-list.model'; -import { dataService } from '../base/data-service.decorator'; export const METADATA_IMPORT_SCRIPT_NAME = 'metadata-import'; export const METADATA_EXPORT_SCRIPT_NAME = 'metadata-export'; diff --git a/src/app/core/data/registration-response-parsing.service.spec.ts b/src/app/core/data/registration-response-parsing.service.spec.ts index e8859c3192..50bf650908 100644 --- a/src/app/core/data/registration-response-parsing.service.spec.ts +++ b/src/app/core/data/registration-response-parsing.service.spec.ts @@ -1,6 +1,6 @@ +import { ParsedResponse } from '../cache/response.models'; import { Registration } from '../shared/registration.model'; import { RegistrationResponseParsingService } from './registration-response-parsing.service'; -import { ParsedResponse } from '../cache/response.models'; describe('RegistrationResponseParsingService', () => { describe('parse', () => { diff --git a/src/app/core/data/registration-response-parsing.service.ts b/src/app/core/data/registration-response-parsing.service.ts index e25683779e..2984550447 100644 --- a/src/app/core/data/registration-response-parsing.service.ts +++ b/src/app/core/data/registration-response-parsing.service.ts @@ -1,10 +1,9 @@ import { Injectable } from '@angular/core'; -import { - ParsedResponse, -} from '../cache/response.models'; + +import { ParsedResponse } from '../cache/response.models'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { ResponseParsingService } from './parsing.service'; import { Registration } from '../shared/registration.model'; +import { ResponseParsingService } from './parsing.service'; import { RestRequest } from './rest-request.model'; @Injectable({ diff --git a/src/app/core/data/relationship-data.service.spec.ts b/src/app/core/data/relationship-data.service.spec.ts index 87b033b385..ce4d1f1a27 100644 --- a/src/app/core/data/relationship-data.service.spec.ts +++ b/src/app/core/data/relationship-data.service.spec.ts @@ -1,28 +1,29 @@ import { of as observableOf } from 'rxjs'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; -import { Relationship } from '../shared/item-relationships/relationship.model'; -import { Item } from '../shared/item.model'; -import { PageInfo } from '../shared/page-info.model'; -import { buildPaginatedList } from './paginated-list.model'; -import { DeleteRequest } from './request.models'; -import { RelationshipDataService } from './relationship-data.service'; -import { RequestService } from './request.service'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; + +import { getMockRemoteDataBuildServiceHrefMap } from '../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { getMockRemoteDataBuildServiceHrefMap } from '../../shared/mocks/remote-data-build.service.mock'; -import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; -import { RequestEntry } from './request-entry.model'; -import { FindListOptions } from './find-list-options.model'; -import { testSearchDataImplementation } from './base/search-data.spec'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { Item } from '../shared/item.model'; +import { Relationship } from '../shared/item-relationships/relationship.model'; +import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; import { MetadataValue } from '../shared/metadata.models'; import { MetadataRepresentationType } from '../shared/metadata-representation/metadata-representation.model'; +import { PageInfo } from '../shared/page-info.model'; +import { testSearchDataImplementation } from './base/search-data.spec'; +import { FindListOptions } from './find-list-options.model'; +import { buildPaginatedList } from './paginated-list.model'; +import { RelationshipDataService } from './relationship-data.service'; +import { DeleteRequest } from './request.models'; +import { RequestService } from './request.service'; +import { RequestEntry } from './request-entry.model'; describe('RelationshipDataService', () => { let service: RelationshipDataService; diff --git a/src/app/core/data/relationship-data.service.ts b/src/app/core/data/relationship-data.service.ts index 7784cef432..682c50e076 100644 --- a/src/app/core/data/relationship-data.service.ts +++ b/src/app/core/data/relationship-data.service.ts @@ -1,56 +1,98 @@ import { HttpHeaders } from '@angular/common/http'; -import { Inject, Injectable } from '@angular/core'; -import { MemoizedSelector, select, Store } from '@ngrx/store'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { distinctUntilChanged, filter, map, mergeMap, startWith, switchMap, take, tap } from 'rxjs/operators'; import { - compareArraysUsingIds, PAGINATED_RELATIONS_TO_ITEMS_OPERATOR, + Inject, + Injectable, +} from '@angular/core'; +import { + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + mergeMap, + startWith, + switchMap, + take, + tap, +} from 'rxjs/operators'; + +import { + AppState, + keySelector, +} from '../../app.reducer'; +import { + compareArraysUsingIds, + PAGINATED_RELATIONS_TO_ITEMS_OPERATOR, relationsToItems, } from '../../item-page/simple/item-types/shared/item-relationships-utils'; -import { AppState, keySelector } from '../../app.reducer'; -import { hasValue, hasValueOperator, isNotEmpty, isNotEmptyOperator } from '../../shared/empty.util'; +import { + hasValue, + hasValueOperator, + isNotEmpty, + isNotEmptyOperator, +} from '../../shared/empty.util'; import { ReorderableRelationship } from '../../shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component'; import { RemoveNameVariantAction, SetNameVariantAction, } from '../../shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions'; import { NameVariantListState } from '../../shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; +import { itemLinksToFollow } from '../../shared/utils/relation-query.utils'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { DSpaceObject } from '../shared/dspace-object.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; +import { Item } from '../shared/item.model'; import { Relationship } from '../shared/item-relationships/relationship.model'; import { RELATIONSHIP } from '../shared/item-relationships/relationship.resource-type'; -import { Item } from '../shared/item.model'; +import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; +import { MetadataValue } from '../shared/metadata.models'; +import { ItemMetadataRepresentation } from '../shared/metadata-representation/item/item-metadata-representation.model'; +import { MetadataRepresentation } from '../shared/metadata-representation/metadata-representation.model'; +import { MetadatumRepresentation } from '../shared/metadata-representation/metadatum/metadatum-representation.model'; +import { NoContent } from '../shared/NoContent.model'; import { getFirstCompletedRemoteData, getFirstSucceededRemoteData, getFirstSucceededRemoteDataPayload, getRemoteDataPayload, } from '../shared/operators'; +import { sendRequest } from '../shared/request.operators'; +import { dataService } from './base/data-service.decorator'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { + PutData, + PutDataImpl, +} from './base/put-data'; +import { + SearchData, + SearchDataImpl, +} from './base/search-data'; +import { FindListOptions } from './find-list-options.model'; import { ItemDataService } from './item-data.service'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; -import { DeleteRequest, PostRequest } from './request.models'; +import { + DeleteRequest, + PostRequest, +} from './request.models'; import { RequestService } from './request.service'; -import { NoContent } from '../shared/NoContent.model'; import { RequestEntryState } from './request-entry-state.model'; -import { sendRequest } from '../shared/request.operators'; import { RestRequest } from './rest-request.model'; -import { FindListOptions } from './find-list-options.model'; -import { SearchData, SearchDataImpl } from './base/search-data'; -import { PutData, PutDataImpl } from './base/put-data'; -import { IdentifiableDataService } from './base/identifiable-data.service'; -import { dataService } from './base/data-service.decorator'; -import { itemLinksToFollow } from '../../shared/utils/relation-query.utils'; -import { MetadataValue } from '../shared/metadata.models'; -import { MetadataRepresentation } from '../shared/metadata-representation/metadata-representation.model'; -import { MetadatumRepresentation } from '../shared/metadata-representation/metadatum/metadatum-representation.model'; -import { ItemMetadataRepresentation } from '../shared/metadata-representation/item/item-metadata-representation.model'; -import { DSpaceObject } from '../shared/dspace-object.model'; const relationshipListsStateSelector = (state: AppState) => state.relationshipLists; diff --git a/src/app/core/data/relationship-type-data.service.spec.ts b/src/app/core/data/relationship-type-data.service.spec.ts index 927f8363cf..d8bb7c0650 100644 --- a/src/app/core/data/relationship-type-data.service.spec.ts +++ b/src/app/core/data/relationship-type-data.service.spec.ts @@ -1,15 +1,19 @@ import { of as observableOf } from 'rxjs'; + +import { hasValueOperator } from '../../shared/empty.util'; import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { ItemType } from '../shared/item-relationships/item-type.model'; import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; import { RelationshipTypeDataService } from './relationship-type-data.service'; import { RequestService } from './request.service'; -import { createPaginatedList } from '../../shared/testing/utils.test'; -import { hasValueOperator } from '../../shared/empty.util'; -import { ObjectCacheService } from '../cache/object-cache.service'; describe('RelationshipTypeDataService', () => { let service: RelationshipTypeDataService; diff --git a/src/app/core/data/relationship-type-data.service.ts b/src/app/core/data/relationship-type-data.service.ts index 4d2c348fb1..556e81dced 100644 --- a/src/app/core/data/relationship-type-data.service.ts +++ b/src/app/core/data/relationship-type-data.service.ts @@ -1,22 +1,38 @@ import { Injectable } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { map, mergeMap, switchMap, toArray } from 'rxjs/operators'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, + switchMap, + toArray, +} from 'rxjs/operators'; + import { hasValue } from '../../shared/empty.util'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { ItemType } from '../shared/item-relationships/item-type.model'; import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; import { RELATIONSHIP_TYPE } from '../shared/item-relationships/relationship-type.resource-type'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteData, getRemoteDataPayload } from '../shared/operators'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { BaseDataService } from './base/base-data.service'; +import { dataService } from './base/data-service.decorator'; +import { FindAllDataImpl } from './base/find-all-data'; +import { SearchDataImpl } from './base/search-data'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; -import { BaseDataService } from './base/base-data.service'; -import { FindAllDataImpl } from './base/find-all-data'; -import { SearchDataImpl } from './base/search-data'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { dataService } from './base/data-service.decorator'; /** * Check if one side of a RelationshipType is the ItemType with the given label diff --git a/src/app/core/data/request-entry.model.ts b/src/app/core/data/request-entry.model.ts index 9448f9cb8f..fbedc3932a 100644 --- a/src/app/core/data/request-entry.model.ts +++ b/src/app/core/data/request-entry.model.ts @@ -1,6 +1,6 @@ -import { RestRequestWithResponseParser } from './rest-request-with-response-parser.model'; import { RequestEntryState } from './request-entry-state.model'; import { ResponseState } from './response-state.model'; +import { RestRequestWithResponseParser } from './rest-request-with-response-parser.model'; /** * An entry for a request in the NgRx store diff --git a/src/app/core/data/request.actions.ts b/src/app/core/data/request.actions.ts index 563f9f1f9e..183c090b75 100644 --- a/src/app/core/data/request.actions.ts +++ b/src/app/core/data/request.actions.ts @@ -1,5 +1,6 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { type } from '../../shared/ngrx/type'; import { HALLink } from '../shared/hal-link.model'; import { UnCacheableObject } from '../shared/uncacheable-object.model'; diff --git a/src/app/core/data/request.effects.ts b/src/app/core/data/request.effects.ts index e1e2060c7c..e5ab1c851b 100644 --- a/src/app/core/data/request.effects.ts +++ b/src/app/core/data/request.effects.ts @@ -1,14 +1,30 @@ -import { Injectable, Injector } from '@angular/core'; +import { + Injectable, + Injector, +} from '@angular/core'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { + catchError, + filter, + map, + mergeMap, + take, +} from 'rxjs/operators'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; -import { catchError, filter, map, mergeMap, take } from 'rxjs/operators'; - -import { hasValue, isNotEmpty } from '../../shared/empty.util'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { StoreActionTypes } from '../../store.actions'; import { getClassForType } from '../cache/builders/build-decorators'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { ParsedResponse } from '../cache/response.models'; import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; +import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { RequestActionTypes, RequestErrorAction, @@ -17,10 +33,9 @@ import { ResetResponseTimestampsAction, } from './request.actions'; import { RequestService } from './request.service'; -import { ParsedResponse } from '../cache/response.models'; +import { RequestEntry } from './request-entry.model'; import { RequestError } from './request-error.model'; import { RestRequestWithResponseParser } from './rest-request-with-response-parser.model'; -import { RequestEntry } from './request-entry.model'; @Injectable() export class RequestEffects { diff --git a/src/app/core/data/request.models.ts b/src/app/core/data/request.models.ts index 5d89a74040..c46d9b8242 100644 --- a/src/app/core/data/request.models.ts +++ b/src/app/core/data/request.models.ts @@ -1,18 +1,16 @@ /* eslint-disable max-classes-per-file */ -import { GenericConstructor } from '../shared/generic-constructor'; -import { ResponseParsingService } from './parsing.service'; -import { EndpointMapResponseParsingService } from './endpoint-map-response-parsing.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { - SubmissionResponseParsingService, -} from '../submission/submission-response-parsing.service'; -import { RestRequestMethod } from './rest-request-method'; +import { GenericConstructor } from '../shared/generic-constructor'; +import { SubmissionResponseParsingService } from '../submission/submission-response-parsing.service'; import { TaskResponseParsingService } from '../tasks/task-response-parsing.service'; -import { ContentSourceResponseParsingService } from './content-source-response-parsing.service'; -import { RestRequestWithResponseParser } from './rest-request-with-response-parser.model'; -import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; import { BrowseResponseParsingService } from './browse-response-parsing.service'; +import { ContentSourceResponseParsingService } from './content-source-response-parsing.service'; +import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; +import { EndpointMapResponseParsingService } from './endpoint-map-response-parsing.service'; import { FindListOptions } from './find-list-options.model'; +import { ResponseParsingService } from './parsing.service'; +import { RestRequestMethod } from './rest-request-method'; +import { RestRequestWithResponseParser } from './rest-request-with-response-parser.model'; // uuid and handle requests have separate endpoints diff --git a/src/app/core/data/request.reducer.spec.ts b/src/app/core/data/request.reducer.spec.ts index 3f096f66e4..1a671626c2 100644 --- a/src/app/core/data/request.reducer.spec.ts +++ b/src/app/core/data/request.reducer.spec.ts @@ -1,5 +1,6 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; + import { RequestConfigureAction, RequestErrorAction, diff --git a/src/app/core/data/request.reducer.ts b/src/app/core/data/request.reducer.ts index 719f34973c..9733971420 100644 --- a/src/app/core/data/request.reducer.ts +++ b/src/app/core/data/request.reducer.ts @@ -1,4 +1,5 @@ /* eslint-disable max-classes-per-file */ +import { isNull } from '../../shared/empty.util'; import { RequestAction, RequestActionTypes, @@ -10,8 +11,11 @@ import { RequestSuccessAction, ResetResponseTimestampsAction, } from './request.actions'; -import { isNull } from '../../shared/empty.util'; -import { hasSucceeded, isStale, RequestEntryState } from './request-entry-state.model'; +import { + hasSucceeded, + isStale, + RequestEntryState, +} from './request-entry-state.model'; import { RequestState } from './request-state.model'; // Object.create(null) ensures the object has no default js properties (e.g. `__proto__`) diff --git a/src/app/core/data/request.service.spec.ts b/src/app/core/data/request.service.spec.ts index 121f61dbec..4f58703c37 100644 --- a/src/app/core/data/request.service.spec.ts +++ b/src/app/core/data/request.service.spec.ts @@ -1,14 +1,41 @@ -import { Store, StoreModule } from '@ngrx/store'; -import { cold, getTestScheduler } from 'jasmine-marbles'; -import { EMPTY, of as observableOf } from 'rxjs'; +import { + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + MockStore, + provideMockStore, +} from '@ngrx/store/testing'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; +import { + EMPTY, + of as observableOf, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; +import { storeModuleConfig } from '../../app.reducer'; import { getMockObjectCacheService } from '../../shared/mocks/object-cache.service.mock'; -import { defaultUUID, getMockUUIDService } from '../../shared/mocks/uuid.service.mock'; +import { + defaultUUID, + getMockUUIDService, +} from '../../shared/mocks/uuid.service.mock'; import { ObjectCacheService } from '../cache/object-cache.service'; import { coreReducers} from '../core.reducers'; +import { CoreState } from '../core-state.model'; import { UUIDService } from '../shared/uuid.service'; -import { RequestConfigureAction, RequestExecuteAction, RequestStaleAction } from './request.actions'; +import { + RequestConfigureAction, + RequestExecuteAction, + RequestStaleAction, +} from './request.actions'; import { DeleteRequest, GetRequest, @@ -19,13 +46,9 @@ import { PutRequest, } from './request.models'; import { RequestService } from './request.service'; -import { fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; -import { storeModuleConfig } from '../../app.reducer'; -import { MockStore, provideMockStore } from '@ngrx/store/testing'; +import { RequestEntry } from './request-entry.model'; import { RequestEntryState } from './request-entry-state.model'; import { RestRequest } from './rest-request.model'; -import { CoreState } from '../core-state.model'; -import { RequestEntry } from './request-entry.model'; describe('RequestService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/data/request.service.ts b/src/app/core/data/request.service.ts index 7f968358b1..4fa80c3fea 100644 --- a/src/app/core/data/request.service.ts +++ b/src/app/core/data/request.service.ts @@ -1,15 +1,39 @@ -import { Injectable } from '@angular/core'; import { HttpHeaders } from '@angular/common/http'; - -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; -import { Observable } from 'rxjs'; -import { filter, map, take, tap } from 'rxjs/operators'; +import { Injectable } from '@angular/core'; +import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; import cloneDeep from 'lodash/cloneDeep'; -import { hasValue, isEmpty, isNotEmpty, hasNoValue } from '../../shared/empty.util'; +import { Observable } from 'rxjs'; +import { + filter, + map, + take, + tap, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; import { ObjectCacheEntry } from '../cache/object-cache.reducer'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { IndexState, MetaIndexState } from '../index/index.reducer'; -import { requestIndexSelector, getUrlWithoutEmbedParams } from '../index/index.selectors'; +import { CommitSSBAction } from '../cache/server-sync-buffer.actions'; +import { coreSelector } from '../core.selectors'; +import { CoreState } from '../core-state.model'; +import { + IndexState, + MetaIndexState, +} from '../index/index.reducer'; +import { + getUrlWithoutEmbedParams, + requestIndexSelector, +} from '../index/index.selectors'; import { UUIDService } from '../shared/uuid.service'; import { RequestConfigureAction, @@ -17,14 +41,14 @@ import { RequestStaleAction, } from './request.actions'; import { GetRequest} from './request.models'; -import { CommitSSBAction } from '../cache/server-sync-buffer.actions'; -import { RestRequestMethod } from './rest-request-method'; -import { coreSelector } from '../core.selectors'; -import { isLoading, isStale } from './request-entry-state.model'; -import { RestRequest } from './rest-request.model'; -import { CoreState } from '../core-state.model'; -import { RequestState } from './request-state.model'; import { RequestEntry } from './request-entry.model'; +import { + isLoading, + isStale, +} from './request-entry-state.model'; +import { RequestState } from './request-state.model'; +import { RestRequest } from './rest-request.model'; +import { RestRequestMethod } from './rest-request-method'; /** * The base selector function to select the request state in the store diff --git a/src/app/core/data/rest-request-with-response-parser.model.ts b/src/app/core/data/rest-request-with-response-parser.model.ts index 1c9677ebb1..d05bcb19cf 100644 --- a/src/app/core/data/rest-request-with-response-parser.model.ts +++ b/src/app/core/data/rest-request-with-response-parser.model.ts @@ -1,6 +1,6 @@ -import { RestRequest } from './rest-request.model'; import { GenericConstructor } from '../shared/generic-constructor'; import { ResponseParsingService } from './parsing.service'; +import { RestRequest } from './rest-request.model'; /** * A RestRequest with a method to retrieve the ResponseParsingService needed for its response diff --git a/src/app/core/data/rest-request.model.ts b/src/app/core/data/rest-request.model.ts index 1009b1bf01..95e605711b 100644 --- a/src/app/core/data/rest-request.model.ts +++ b/src/app/core/data/rest-request.model.ts @@ -1,6 +1,6 @@ import { environment } from '../../../environments/environment'; -import { RestRequestMethod } from './rest-request-method'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { RestRequestMethod } from './rest-request-method'; /** * A request to the DSpace REST API diff --git a/src/app/core/data/root-data.service.spec.ts b/src/app/core/data/root-data.service.spec.ts index c60e4c9fd4..50eb45e026 100644 --- a/src/app/core/data/root-data.service.spec.ts +++ b/src/app/core/data/root-data.service.spec.ts @@ -1,11 +1,15 @@ -import { RootDataService } from './root-data.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { cold } from 'jasmine-marbles'; +import { + Observable, + of, +} from 'rxjs'; + import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { Observable, of } from 'rxjs'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { RemoteData } from './remote-data'; import { Root } from './root.model'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { cold } from 'jasmine-marbles'; +import { RootDataService } from './root-data.service'; describe('RootDataService', () => { let service: RootDataService; diff --git a/src/app/core/data/root-data.service.ts b/src/app/core/data/root-data.service.ts index ef72cccbee..413a4b4385 100644 --- a/src/app/core/data/root-data.service.ts +++ b/src/app/core/data/root-data.service.ts @@ -1,18 +1,25 @@ -import { Root } from './root.model'; import { Injectable } from '@angular/core'; -import { ROOT } from './root.resource-type'; -import { RequestService } from './request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { Observable, of as observableOf } from 'rxjs'; -import { RemoteData } from './remote-data'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + catchError, + map, +} from 'rxjs/operators'; + import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { catchError, map } from 'rxjs/operators'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { BaseDataService } from './base/base-data.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; import { dataService } from './base/data-service.decorator'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; +import { Root } from './root.model'; +import { ROOT } from './root.resource-type'; /** * A service to retrieve the {@link Root} object from the REST API. diff --git a/src/app/core/data/root.model.ts b/src/app/core/data/root.model.ts index 2bba5f2043..46a276fa1f 100644 --- a/src/app/core/data/root.model.ts +++ b/src/app/core/data/root.model.ts @@ -1,10 +1,14 @@ +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; -import { ROOT } from './root.resource-type'; -import { excludeFromEquals } from '../utilities/equals.decorators'; -import { autoserialize, deserialize } from 'cerialize'; -import { ResourceType } from '../shared/resource-type'; -import { HALLink } from '../shared/hal-link.model'; import { CacheableObject } from '../cache/cacheable-object.model'; +import { HALLink } from '../shared/hal-link.model'; +import { ResourceType } from '../shared/resource-type'; +import { excludeFromEquals } from '../utilities/equals.decorators'; +import { ROOT } from './root.resource-type'; /** * The root rest api resource diff --git a/src/app/core/data/search-response-parsing.service.ts b/src/app/core/data/search-response-parsing.service.ts index d33ff911ab..1dac4ab183 100644 --- a/src/app/core/data/search-response-parsing.service.ts +++ b/src/app/core/data/search-response-parsing.service.ts @@ -1,10 +1,14 @@ import { Injectable } from '@angular/core'; + import { hasValue } from '../../shared/empty.util'; import { SearchObjects } from '../../shared/search/models/search-objects.model'; import { ParsedResponse } from '../cache/response.models'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { DSpaceSerializer } from '../dspace-rest/dspace.serializer'; -import { MetadataMap, MetadataValue } from '../shared/metadata.models'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; +import { + MetadataMap, + MetadataValue, +} from '../shared/metadata.models'; import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; import { RestRequest } from './rest-request.model'; diff --git a/src/app/core/data/signposting-data.service.spec.ts b/src/app/core/data/signposting-data.service.spec.ts index 6646b7ff5f..2b10bba89b 100644 --- a/src/app/core/data/signposting-data.service.spec.ts +++ b/src/app/core/data/signposting-data.service.spec.ts @@ -1,11 +1,14 @@ -import { fakeAsync, TestBed, tick } from '@angular/core/testing'; - +import { + fakeAsync, + TestBed, + tick, +} from '@angular/core/testing'; import { of } from 'rxjs'; -import { SignpostingDataService } from './signposting-data.service'; -import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; -import { SignpostingLink } from './signposting-links.model'; import { APP_CONFIG } from '../../../config/app-config.interface'; +import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { SignpostingDataService } from './signposting-data.service'; +import { SignpostingLink } from './signposting-links.model'; describe('SignpostingDataService', () => { let service: SignpostingDataService; diff --git a/src/app/core/data/signposting-data.service.ts b/src/app/core/data/signposting-data.service.ts index 219ea57ed6..5186bd7eb4 100644 --- a/src/app/core/data/signposting-data.service.ts +++ b/src/app/core/data/signposting-data.service.ts @@ -1,12 +1,23 @@ -import { Inject, Injectable } from '@angular/core'; - -import { catchError, map } from 'rxjs/operators'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Inject, + Injectable, +} from '@angular/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + catchError, + map, +} from 'rxjs/operators'; +import { + APP_CONFIG, + AppConfig, +} from '../../../config/app-config.interface'; import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { SignpostingLink } from './signposting-links.model'; -import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface'; /** * Service responsible for handling requests related to the Signposting endpoint diff --git a/src/app/core/data/site-data.service.spec.ts b/src/app/core/data/site-data.service.spec.ts index 4f5990338d..253d1a6f15 100644 --- a/src/app/core/data/site-data.service.spec.ts +++ b/src/app/core/data/site-data.service.spec.ts @@ -1,15 +1,19 @@ -import { cold, getTestScheduler } from 'jasmine-marbles'; -import { SiteDataService } from './site-data.service'; -import { RequestService } from './request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { Site } from '../shared/site.model'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; + import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { createPaginatedList } from '../../shared/testing/utils.test'; -import { FindListOptions } from './find-list-options.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Site } from '../shared/site.model'; import { testFindAllDataImplementation } from './base/find-all-data.spec'; +import { FindListOptions } from './find-list-options.model'; +import { RequestService } from './request.service'; +import { SiteDataService } from './site-data.service'; describe('SiteDataService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/data/site-data.service.ts b/src/app/core/data/site-data.service.ts index c2c4ffa466..af91320e3c 100644 --- a/src/app/core/data/site-data.service.ts +++ b/src/app/core/data/site-data.service.ts @@ -1,20 +1,24 @@ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; +import { FollowLinkConfig } from 'src/app/shared/utils/follow-link-config.model'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { getFirstSucceededRemoteData } from '../shared/operators'; import { Site } from '../shared/site.model'; import { SITE } from '../shared/site.resource-type'; +import { BaseDataService } from './base/base-data.service'; +import { dataService } from './base/data-service.decorator'; +import { + FindAllData, + FindAllDataImpl, +} from './base/find-all-data'; +import { FindListOptions } from './find-list-options.model'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; -import { BaseDataService } from './base/base-data.service'; -import { FindAllData, FindAllDataImpl } from './base/find-all-data'; -import { FollowLinkConfig } from 'src/app/shared/utils/follow-link-config.model'; -import { FindListOptions } from './find-list-options.model'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { dataService } from './base/data-service.decorator'; /** * Service responsible for handling requests related to the Site object diff --git a/src/app/core/data/status-code-only-response-parsing.service.ts b/src/app/core/data/status-code-only-response-parsing.service.ts index f20dc5ce81..919891dedc 100644 --- a/src/app/core/data/status-code-only-response-parsing.service.ts +++ b/src/app/core/data/status-code-only-response-parsing.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; + import { RestResponse } from '../cache/response.models'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { ResponseParsingService } from './parsing.service'; diff --git a/src/app/core/data/system-wide-alert-data.service.spec.ts b/src/app/core/data/system-wide-alert-data.service.spec.ts index 9ba88ce6dd..6561b90785 100644 --- a/src/app/core/data/system-wide-alert-data.service.spec.ts +++ b/src/app/core/data/system-wide-alert-data.service.spec.ts @@ -1,7 +1,7 @@ -import { SystemWideAlertDataService } from './system-wide-alert-data.service'; +import { testCreateDataImplementation } from './base/create-data.spec'; import { testFindAllDataImplementation } from './base/find-all-data.spec'; import { testPutDataImplementation } from './base/put-data.spec'; -import { testCreateDataImplementation } from './base/create-data.spec'; +import { SystemWideAlertDataService } from './system-wide-alert-data.service'; describe('SystemWideAlertDataService', () => { describe('composition', () => { diff --git a/src/app/core/data/system-wide-alert-data.service.ts b/src/app/core/data/system-wide-alert-data.service.ts index 51a88b907a..8ea8358ad2 100644 --- a/src/app/core/data/system-wide-alert-data.service.ts +++ b/src/app/core/data/system-wide-alert-data.service.ts @@ -1,23 +1,36 @@ import { Injectable } from '@angular/core'; -import { RequestService } from './request.service'; +import { Observable } from 'rxjs'; + +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { SystemWideAlert } from '../../system-wide-alert/system-wide-alert.model'; +import { SYSTEMWIDEALERT } from '../../system-wide-alert/system-wide-alert.resource-type'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { Observable } from 'rxjs'; +import { + CreateData, + CreateDataImpl, +} from './base/create-data'; +import { dataService } from './base/data-service.decorator'; +import { + FindAllData, + FindAllDataImpl, +} from './base/find-all-data'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { + PutData, + PutDataImpl, +} from './base/put-data'; +import { + SearchData, + SearchDataImpl, +} from './base/search-data'; +import { FindListOptions } from './find-list-options.model'; import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; -import { IdentifiableDataService } from './base/identifiable-data.service'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { FindAllData, FindAllDataImpl } from './base/find-all-data'; -import { FindListOptions } from './find-list-options.model'; -import { dataService } from './base/data-service.decorator'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { CreateData, CreateDataImpl } from './base/create-data'; -import { SYSTEMWIDEALERT } from '../../system-wide-alert/system-wide-alert.resource-type'; -import { SystemWideAlert } from '../../system-wide-alert/system-wide-alert.model'; -import { PutData, PutDataImpl } from './base/put-data'; -import { RequestParam } from '../cache/models/request-param.model'; -import { SearchData, SearchDataImpl } from './base/search-data'; +import { RequestService } from './request.service'; /** * Dataservice representing a system-wide alert diff --git a/src/app/core/data/update-data.service.ts b/src/app/core/data/update-data.service.ts index 9f707a82da..99e3dec9c0 100644 --- a/src/app/core/data/update-data.service.ts +++ b/src/app/core/data/update-data.service.ts @@ -1,7 +1,8 @@ +import { Operation } from 'fast-json-patch'; import { Observable } from 'rxjs'; + import { RemoteData } from './remote-data'; import { RestRequestMethod } from './rest-request-method'; -import { Operation } from 'fast-json-patch'; /** * Represents a data service to update a given object diff --git a/src/app/core/data/version-data.service.spec.ts b/src/app/core/data/version-data.service.spec.ts index 8a165b82b4..d6ac6060b0 100644 --- a/src/app/core/data/version-data.service.spec.ts +++ b/src/app/core/data/version-data.service.spec.ts @@ -1,21 +1,29 @@ +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + +import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { followLink } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from './request.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { HrefOnlyDataService } from './href-only-data.service'; -import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; import { RestResponse } from '../cache/response.models'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; -import { VersionDataService } from './version-data.service'; import { Version } from '../shared/version.model'; import { VersionHistory } from '../shared/version-history.model'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import { RequestEntry } from './request-entry.model'; import { testPatchDataImplementation } from './base/patch-data.spec'; +import { HrefOnlyDataService } from './href-only-data.service'; +import { RequestService } from './request.service'; +import { RequestEntry } from './request-entry.model'; +import { VersionDataService } from './version-data.service'; describe('VersionDataService test', () => { let scheduler: TestScheduler; diff --git a/src/app/core/data/version-data.service.ts b/src/app/core/data/version-data.service.ts index 67c249fe0a..7bc8e47d1e 100644 --- a/src/app/core/data/version-data.service.ts +++ b/src/app/core/data/version-data.service.ts @@ -1,23 +1,33 @@ import { Injectable } from '@angular/core'; -import { Version } from '../shared/version.model'; -import { RequestService } from './request.service'; +import { Operation } from 'fast-json-patch'; +import { + EMPTY, + Observable, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { isNotEmpty } from '../../shared/empty.util'; +import { followLink } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { EMPTY, Observable } from 'rxjs'; +import { getFirstSucceededRemoteDataPayload } from '../shared/operators'; +import { Version } from '../shared/version.model'; import { VERSION } from '../shared/version.resource-type'; import { VersionHistory } from '../shared/version-history.model'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import { getFirstSucceededRemoteDataPayload } from '../shared/operators'; -import { map, switchMap } from 'rxjs/operators'; -import { isNotEmpty } from '../../shared/empty.util'; -import { RemoteData } from './remote-data'; -import { PatchData, PatchDataImpl } from './base/patch-data'; -import { RestRequestMethod } from './rest-request-method'; -import { DefaultChangeAnalyzer } from './default-change-analyzer.service'; -import { IdentifiableDataService } from './base/identifiable-data.service'; import { dataService } from './base/data-service.decorator'; -import { Operation } from 'fast-json-patch'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from './base/patch-data'; +import { DefaultChangeAnalyzer } from './default-change-analyzer.service'; +import { RemoteData } from './remote-data'; +import { RequestService } from './request.service'; +import { RestRequestMethod } from './rest-request-method'; /** * Service responsible for handling requests related to the Version object diff --git a/src/app/core/data/version-history-data.service.spec.ts b/src/app/core/data/version-history-data.service.spec.ts index 32b9abbe98..a4e2a2c436 100644 --- a/src/app/core/data/version-history-data.service.spec.ts +++ b/src/app/core/data/version-history-data.service.spec.ts @@ -1,18 +1,22 @@ -import { RequestService } from './request.service'; +import { + fakeAsync, + waitForAsync, +} from '@angular/core/testing'; +import { of } from 'rxjs'; + +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { createPaginatedList } from '../../shared/testing/utils.test'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { VersionHistoryDataService } from './version-history-data.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { VersionDataService } from './version-data.service'; -import { fakeAsync, waitForAsync } from '@angular/core/testing'; -import { VersionHistory } from '../shared/version-history.model'; -import { Version } from '../shared/version.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; import { Item } from '../shared/item.model'; -import { of } from 'rxjs'; +import { Version } from '../shared/version.model'; +import { VersionHistory } from '../shared/version-history.model'; +import { RequestService } from './request.service'; +import { VersionDataService } from './version-data.service'; +import { VersionHistoryDataService } from './version-history-data.service'; import SpyObj = jasmine.SpyObj; const url = 'fake-url'; diff --git a/src/app/core/data/version-history-data.service.ts b/src/app/core/data/version-history-data.service.ts index 86d5072648..bab7cdab90 100644 --- a/src/app/core/data/version-history-data.service.ts +++ b/src/app/core/data/version-history-data.service.ts @@ -1,30 +1,47 @@ -import { VersionHistory } from '../shared/version-history.model'; +import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { RequestService } from './request.service'; +import { + Observable, + of, +} from 'rxjs'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { hasValueOperator } from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { HttpHeaders } from '@angular/common/http'; -import { PostRequest } from './request.models'; -import { Observable, of } from 'rxjs'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { RemoteData } from './remote-data'; -import { PaginatedList } from './paginated-list.model'; -import { Version } from '../shared/version.model'; -import { filter, map, switchMap, take } from 'rxjs/operators'; -import { VERSION_HISTORY } from '../shared/version-history.resource-type'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { VersionDataService } from './version-data.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { getAllSucceededRemoteData, getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, getRemoteDataPayload } from '../shared/operators'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { hasValueOperator } from '../../shared/empty.util'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; -import { FindListOptions } from './find-list-options.model'; +import { + getAllSucceededRemoteData, + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, + getRemoteDataPayload, +} from '../shared/operators'; import { sendRequest } from '../shared/request.operators'; -import { RestRequest } from './rest-request.model'; -import { IdentifiableDataService } from './base/identifiable-data.service'; +import { Version } from '../shared/version.model'; +import { VersionHistory } from '../shared/version-history.model'; +import { VERSION_HISTORY } from '../shared/version-history.resource-type'; import { dataService } from './base/data-service.decorator'; +import { IdentifiableDataService } from './base/identifiable-data.service'; +import { FindListOptions } from './find-list-options.model'; +import { PaginatedList } from './paginated-list.model'; +import { RemoteData } from './remote-data'; +import { PostRequest } from './request.models'; +import { RequestService } from './request.service'; +import { RestRequest } from './rest-request.model'; +import { VersionDataService } from './version-data.service'; /** * Service responsible for handling requests related to the VersionHistory object diff --git a/src/app/core/data/workflow-action-data.service.ts b/src/app/core/data/workflow-action-data.service.ts index 00cd5e2889..13f4f84b8d 100644 --- a/src/app/core/data/workflow-action-data.service.ts +++ b/src/app/core/data/workflow-action-data.service.ts @@ -1,12 +1,13 @@ -import { WorkflowAction } from '../tasks/models/workflow-action-object.model'; -import { RequestService } from './request.service'; +import { Injectable } from '@angular/core'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { Injectable } from '@angular/core'; +import { WorkflowAction } from '../tasks/models/workflow-action-object.model'; import { WORKFLOW_ACTION } from '../tasks/models/workflow-action-object.resource-type'; import { dataService } from './base/data-service.decorator'; import { IdentifiableDataService } from './base/identifiable-data.service'; +import { RequestService } from './request.service'; /** * A service responsible for fetching/sending data from/to the REST API on the workflowactions endpoint diff --git a/src/app/core/dspace-rest/dspace-not-null.serializer.ts b/src/app/core/dspace-rest/dspace-not-null.serializer.ts index eabae3d983..81f8e2c2bd 100644 --- a/src/app/core/dspace-rest/dspace-not-null.serializer.ts +++ b/src/app/core/dspace-rest/dspace-not-null.serializer.ts @@ -1,4 +1,7 @@ -import { Deserialize, Serialize } from 'cerialize'; +import { + Deserialize, + Serialize, +} from 'cerialize'; import { Serializer } from '../serializer'; import { GenericConstructor } from '../shared/generic-constructor'; diff --git a/src/app/core/dspace-rest/dspace-rest.service.spec.ts b/src/app/core/dspace-rest/dspace-rest.service.spec.ts index 260df8fc8a..334077e91f 100644 --- a/src/app/core/dspace-rest/dspace-rest.service.spec.ts +++ b/src/app/core/dspace-rest/dspace-rest.service.spec.ts @@ -1,10 +1,19 @@ -import { inject, TestBed } from '@angular/core/testing'; -import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; - -import { DEFAULT_CONTENT_TYPE, DspaceRestService } from './dspace-rest.service'; -import { DSpaceObject } from '../shared/dspace-object.model'; -import { RestRequestMethod } from '../data/rest-request-method'; import { HttpHeaders } from '@angular/common/http'; +import { + HttpClientTestingModule, + HttpTestingController, +} from '@angular/common/http/testing'; +import { + inject, + TestBed, +} from '@angular/core/testing'; + +import { RestRequestMethod } from '../data/rest-request-method'; +import { DSpaceObject } from '../shared/dspace-object.model'; +import { + DEFAULT_CONTENT_TYPE, + DspaceRestService, +} from './dspace-rest.service'; describe('DspaceRestService', () => { let dspaceRestService: DspaceRestService; diff --git a/src/app/core/dspace-rest/dspace-rest.service.ts b/src/app/core/dspace-rest/dspace-rest.service.ts index b4c898c7e7..815599623d 100644 --- a/src/app/core/dspace-rest/dspace-rest.service.ts +++ b/src/app/core/dspace-rest/dspace-rest.service.ts @@ -1,12 +1,27 @@ -import { Observable, throwError as observableThrowError } from 'rxjs'; -import { catchError, map } from 'rxjs/operators'; +import { + HttpClient, + HttpHeaders, + HttpParams, + HttpResponse, +} from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http'; +import { + Observable, + throwError as observableThrowError, +} from 'rxjs'; +import { + catchError, + map, +} from 'rxjs/operators'; -import { RawRestResponse } from './raw-rest-response.model'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { RestRequestMethod } from '../data/rest-request-method'; -import { hasNoValue, hasValue, isNotEmpty } from '../../shared/empty.util'; import { DSpaceObject } from '../shared/dspace-object.model'; +import { RawRestResponse } from './raw-rest-response.model'; export const DEFAULT_CONTENT_TYPE = 'application/json; charset=utf-8'; export interface HttpOptions { diff --git a/src/app/core/dspace-rest/dspace.serializer.spec.ts b/src/app/core/dspace-rest/dspace.serializer.spec.ts index 864a23d9b8..9a6635bc98 100644 --- a/src/app/core/dspace-rest/dspace.serializer.spec.ts +++ b/src/app/core/dspace-rest/dspace.serializer.spec.ts @@ -1,4 +1,8 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { HALLink } from '../shared/hal-link.model'; import { HALResource } from '../shared/hal-resource.model'; import { DSpaceSerializer } from './dspace.serializer'; diff --git a/src/app/core/dspace-rest/dspace.serializer.ts b/src/app/core/dspace-rest/dspace.serializer.ts index f77818a8f5..ccf2d9a634 100644 --- a/src/app/core/dspace-rest/dspace.serializer.ts +++ b/src/app/core/dspace-rest/dspace.serializer.ts @@ -1,4 +1,7 @@ -import { Deserialize, Serialize } from 'cerialize'; +import { + Deserialize, + Serialize, +} from 'cerialize'; import { Serializer } from '../serializer'; import { GenericConstructor } from '../shared/generic-constructor'; diff --git a/src/app/core/end-user-agreement/abstract-end-user-agreement.guard.ts b/src/app/core/end-user-agreement/abstract-end-user-agreement.guard.ts index e17a33d82b..7d67872004 100644 --- a/src/app/core/end-user-agreement/abstract-end-user-agreement.guard.ts +++ b/src/app/core/end-user-agreement/abstract-end-user-agreement.guard.ts @@ -1,7 +1,17 @@ -import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { returnEndUserAgreementUrlTreeOnFalse } from '../shared/authorized.operators'; +import { + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, + UrlTree, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { environment } from '../../../environments/environment'; +import { returnEndUserAgreementUrlTreeOnFalse } from '../shared/authorized.operators'; /** * An abstract guard for redirecting users to the user agreement page if a certain condition is met diff --git a/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.spec.ts b/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.spec.ts index afc58d067f..a801fb7a6f 100644 --- a/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.spec.ts +++ b/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.spec.ts @@ -1,5 +1,9 @@ +import { + Router, + UrlTree, +} from '@angular/router'; + import { EndUserAgreementService } from './end-user-agreement.service'; -import { Router, UrlTree } from '@angular/router'; import { EndUserAgreementCookieGuard } from './end-user-agreement-cookie.guard'; describe('EndUserAgreementCookieGuard', () => { diff --git a/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.ts b/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.ts index 2219aa9e50..a6d3e0f0e8 100644 --- a/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.ts +++ b/src/app/core/end-user-agreement/end-user-agreement-cookie.guard.ts @@ -1,8 +1,12 @@ import { Injectable } from '@angular/core'; -import { AbstractEndUserAgreementGuard } from './abstract-end-user-agreement.guard'; -import { Observable, of as observableOf } from 'rxjs'; -import { EndUserAgreementService } from './end-user-agreement.service'; import { Router } from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AbstractEndUserAgreementGuard } from './abstract-end-user-agreement.guard'; +import { EndUserAgreementService } from './end-user-agreement.service'; /** * A guard redirecting users to the end agreement page when the user agreement cookie hasn't been accepted diff --git a/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.spec.ts b/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.spec.ts index fefb08b5bc..88722bd799 100644 --- a/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.spec.ts +++ b/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.spec.ts @@ -1,8 +1,12 @@ -import { EndUserAgreementCurrentUserGuard } from './end-user-agreement-current-user.guard'; -import { EndUserAgreementService } from './end-user-agreement.service'; -import { Router, UrlTree } from '@angular/router'; +import { + Router, + UrlTree, +} from '@angular/router'; import { of as observableOf } from 'rxjs'; + import { environment } from '../../../environments/environment.test'; +import { EndUserAgreementService } from './end-user-agreement.service'; +import { EndUserAgreementCurrentUserGuard } from './end-user-agreement-current-user.guard'; describe('EndUserAgreementGuard', () => { let guard: EndUserAgreementCurrentUserGuard; diff --git a/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.ts b/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.ts index a79e12cc32..f59b9dcab3 100644 --- a/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.ts +++ b/src/app/core/end-user-agreement/end-user-agreement-current-user.guard.ts @@ -1,9 +1,13 @@ import { Injectable } from '@angular/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { Router } from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { environment } from '../../../environments/environment'; import { AbstractEndUserAgreementGuard } from './abstract-end-user-agreement.guard'; import { EndUserAgreementService } from './end-user-agreement.service'; -import { Router } from '@angular/router'; -import { environment } from '../../../environments/environment'; /** * A guard redirecting logged in users to the end agreement page when they haven't accepted the latest user agreement diff --git a/src/app/core/end-user-agreement/end-user-agreement.service.spec.ts b/src/app/core/end-user-agreement/end-user-agreement.service.spec.ts index 229f5fc7fa..0511fd8b72 100644 --- a/src/app/core/end-user-agreement/end-user-agreement.service.spec.ts +++ b/src/app/core/end-user-agreement/end-user-agreement.service.spec.ts @@ -1,12 +1,13 @@ +import { of as observableOf } from 'rxjs'; + +import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { EPerson } from '../eperson/models/eperson.model'; import { END_USER_AGREEMENT_COOKIE, END_USER_AGREEMENT_METADATA_FIELD, EndUserAgreementService, } from './end-user-agreement.service'; -import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; -import { of as observableOf } from 'rxjs'; -import { EPerson } from '../eperson/models/eperson.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; describe('EndUserAgreementService', () => { let service: EndUserAgreementService; diff --git a/src/app/core/end-user-agreement/end-user-agreement.service.ts b/src/app/core/end-user-agreement/end-user-agreement.service.ts index 165494e1eb..8af701ed8f 100644 --- a/src/app/core/end-user-agreement/end-user-agreement.service.ts +++ b/src/app/core/end-user-agreement/end-user-agreement.service.ts @@ -1,10 +1,18 @@ import { Injectable } from '@angular/core'; -import { AuthService } from '../auth/auth.service'; -import { CookieService } from '../services/cookie.service'; -import { Observable, of as observableOf } from 'rxjs'; -import { map, switchMap, take } from 'rxjs/operators'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + import { hasValue } from '../../shared/empty.util'; +import { AuthService } from '../auth/auth.service'; import { EPersonDataService } from '../eperson/eperson-data.service'; +import { CookieService } from '../services/cookie.service'; import { getFirstCompletedRemoteData } from '../shared/operators'; export const END_USER_AGREEMENT_COOKIE = 'hasAgreedEndUser'; diff --git a/src/app/core/eperson/eperson-data.service.spec.ts b/src/app/core/eperson/eperson-data.service.spec.ts index 38e91772a2..d6b9325ad6 100644 --- a/src/app/core/eperson/eperson-data.service.spec.ts +++ b/src/app/core/eperson/eperson-data.service.spec.ts @@ -1,33 +1,61 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { Store, StoreModule } from '@ngrx/store'; -import { compare, Operation } from 'fast-json-patch'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + compare, + Operation, +} from 'fast-json-patch'; import { getTestScheduler } from 'jasmine-marbles'; -import { Observable, of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + import { EPeopleRegistryCancelEPersonAction, EPeopleRegistryEditEPersonAction, } from '../../access-control/epeople-registry/epeople-registry.actions'; +import { getMockRemoteDataBuildServiceHrefMap } from '../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { + EPersonMock, + EPersonMock2, +} from '../../shared/testing/eperson.mock'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { + createPaginatedList, + createRequestEntry$, +} from '../../shared/testing/utils.test'; import { RequestParam } from '../cache/models/request-param.model'; +import { CoreState } from '../core-state.model'; import { ChangeAnalyzer } from '../data/change-analyzer'; -import { PatchRequest, PostRequest } from '../data/request.models'; +import { FindListOptions } from '../data/find-list-options.model'; +import { + PatchRequest, + PostRequest, +} from '../data/request.models'; import { RequestService } from '../data/request.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { Item } from '../shared/item.model'; import { EPersonDataService } from './eperson-data.service'; import { EPerson } from './models/eperson.model'; -import { EPersonMock, EPersonMock2 } from '../../shared/testing/eperson.mock'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { getMockRemoteDataBuildServiceHrefMap } from '../../shared/mocks/remote-data-build.service.mock'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { createPaginatedList, createRequestEntry$ } from '../../shared/testing/utils.test'; -import { CoreState } from '../core-state.model'; -import { FindListOptions } from '../data/find-list-options.model'; describe('EPersonDataService', () => { let service: EPersonDataService; diff --git a/src/app/core/eperson/eperson-data.service.ts b/src/app/core/eperson/eperson-data.service.ts index 9d7c4b3e01..ff62f73acd 100644 --- a/src/app/core/eperson/eperson-data.service.ts +++ b/src/app/core/eperson/eperson-data.service.ts @@ -1,39 +1,72 @@ import { Injectable } from '@angular/core'; -import { createSelector, select, Store } from '@ngrx/store'; +import { + createSelector, + select, + Store, +} from '@ngrx/store'; import { Operation } from 'fast-json-patch'; import { Observable } from 'rxjs'; -import { find, map, take } from 'rxjs/operators'; +import { + find, + map, + take, +} from 'rxjs/operators'; + import { EPeopleRegistryCancelEPersonAction, EPeopleRegistryEditEPersonAction, } from '../../access-control/epeople-registry/epeople-registry.actions'; import { EPeopleRegistryState } from '../../access-control/epeople-registry/epeople-registry.reducers'; import { AppState } from '../../app.reducer'; -import { hasNoValue, hasValue } from '../../shared/empty.util'; +import { + hasNoValue, + hasValue, +} from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { + CreateData, + CreateDataImpl, +} from '../data/base/create-data'; +import { dataService } from '../data/base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from '../data/base/patch-data'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; import { DSOChangeAnalyzer } from '../data/dso-change-analyzer.service'; -import { buildPaginatedList, PaginatedList } from '../data/paginated-list.model'; +import { FindListOptions } from '../data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; -import { PatchRequest, PostRequest } from '../data/request.models'; +import { + PatchRequest, + PostRequest, +} from '../data/request.models'; import { RequestService } from '../data/request.service'; +import { RestRequestMethod } from '../data/rest-request-method'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../shared/operators'; +import { NoContent } from '../shared/NoContent.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { PageInfo } from '../shared/page-info.model'; import { EPerson } from './models/eperson.model'; import { EPERSON } from './models/eperson.resource-type'; -import { NoContent } from '../shared/NoContent.model'; -import { PageInfo } from '../shared/page-info.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { CreateData, CreateDataImpl } from '../data/base/create-data'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { PatchData, PatchDataImpl } from '../data/base/patch-data'; -import { DeleteData, DeleteDataImpl } from '../data/base/delete-data'; -import { RestRequestMethod } from '../data/rest-request-method'; -import { dataService } from '../data/base/data-service.decorator'; const ePeopleRegistryStateSelector = (state: AppState) => state.epeopleRegistry; const editEPersonSelector = createSelector(ePeopleRegistryStateSelector, (ePeopleRegistryState: EPeopleRegistryState) => ePeopleRegistryState.editEPerson); diff --git a/src/app/core/eperson/group-data.service.spec.ts b/src/app/core/eperson/group-data.service.spec.ts index 426e1e0194..720aa9bae7 100644 --- a/src/app/core/eperson/group-data.service.spec.ts +++ b/src/app/core/eperson/group-data.service.spec.ts @@ -2,33 +2,55 @@ import { CommonModule } from '@angular/common'; import { HttpHeaders } from '@angular/common/http'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { TestBed } from '@angular/core/testing'; -import { Store, StoreModule } from '@ngrx/store'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { compare, Operation } from 'fast-json-patch'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + compare, + Operation, +} from 'fast-json-patch'; +import { of as observableOf } from 'rxjs'; + import { GroupRegistryCancelGroupAction, GroupRegistryEditGroupAction, } from '../../access-control/group-registry/group-registry.actions'; -import { GroupMock, GroupMock2 } from '../../shared/testing/group-mock'; +import { getMockObjectCacheService } from '../../shared/mocks/object-cache.service.mock'; +import { getMockRemoteDataBuildServiceHrefMap } from '../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + EPersonMock, + EPersonMock2, +} from '../../shared/testing/eperson.mock'; +import { + GroupMock, + GroupMock2, +} from '../../shared/testing/group-mock'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { TranslateLoaderMock } from '../../shared/testing/translate-loader.mock'; +import { + createPaginatedList, + createRequestEntry$, +} from '../../shared/testing/utils.test'; import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheEntry } from '../cache/object-cache.reducer'; +import { CoreState } from '../core-state.model'; import { ChangeAnalyzer } from '../data/change-analyzer'; -import { DeleteRequest, PostRequest } from '../data/request.models'; +import { FindListOptions } from '../data/find-list-options.model'; +import { + DeleteRequest, + PostRequest, +} from '../data/request.models'; import { RequestService } from '../data/request.service'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { Item } from '../shared/item.model'; import { GroupDataService } from './group-data.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { getMockRemoteDataBuildServiceHrefMap } from '../../shared/mocks/remote-data-build.service.mock'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { TranslateLoaderMock } from '../../shared/testing/translate-loader.mock'; -import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { EPersonMock, EPersonMock2 } from '../../shared/testing/eperson.mock'; -import { createPaginatedList, createRequestEntry$ } from '../../shared/testing/utils.test'; -import { CoreState } from '../core-state.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { of as observableOf } from 'rxjs'; -import { ObjectCacheEntry } from '../cache/object-cache.reducer'; -import { getMockObjectCacheService } from '../../shared/mocks/object-cache.service.mock'; describe('GroupDataService', () => { let service: GroupDataService; diff --git a/src/app/core/eperson/group-data.service.ts b/src/app/core/eperson/group-data.service.ts index b51bf22c46..4f77dbebba 100644 --- a/src/app/core/eperson/group-data.service.ts +++ b/src/app/core/eperson/group-data.service.ts @@ -1,9 +1,21 @@ import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; +import { + createSelector, + select, + Store, +} from '@ngrx/store'; +import { Operation } from 'fast-json-patch'; +import { + Observable, + zip as observableZip, +} from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; -import { createSelector, select, Store } from '@ngrx/store'; -import { Observable, zip as observableZip } from 'rxjs'; -import { filter, map, take } from 'rxjs/operators'; import { GroupRegistryCancelGroupAction, GroupRegistryEditGroupAction, @@ -12,34 +24,48 @@ import { GroupRegistryState } from '../../access-control/group-registry/group-re import { AppState } from '../../app.reducer'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { DSONameService } from '../breadcrumbs/dso-name.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { + CreateData, + CreateDataImpl, +} from '../data/base/create-data'; +import { dataService } from '../data/base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from '../data/base/patch-data'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; import { DSOChangeAnalyzer } from '../data/dso-change-analyzer.service'; +import { FindListOptions } from '../data/find-list-options.model'; import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; -import { CreateRequest, DeleteRequest, PostRequest } from '../data/request.models'; - +import { + CreateRequest, + DeleteRequest, + PostRequest, +} from '../data/request.models'; import { RequestService } from '../data/request.service'; +import { RestRequestMethod } from '../data/rest-request-method'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { Collection } from '../shared/collection.model'; +import { Community } from '../shared/community.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { NoContent } from '../shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../shared/operators'; import { EPerson } from './models/eperson.model'; import { Group } from './models/group.model'; import { GROUP } from './models/group.resource-type'; -import { DSONameService } from '../breadcrumbs/dso-name.service'; -import { Community } from '../shared/community.model'; -import { Collection } from '../shared/collection.model'; -import { NoContent } from '../shared/NoContent.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { CreateData, CreateDataImpl } from '../data/base/create-data'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { PatchData, PatchDataImpl } from '../data/base/patch-data'; -import { DeleteData, DeleteDataImpl } from '../data/base/delete-data'; -import { Operation } from 'fast-json-patch'; -import { RestRequestMethod } from '../data/rest-request-method'; -import { dataService } from '../data/base/data-service.decorator'; const groupRegistryStateSelector = (state: AppState) => state.groupRegistry; const editGroupSelector = createSelector(groupRegistryStateSelector, (groupRegistryState: GroupRegistryState) => groupRegistryState.editGroup); diff --git a/src/app/core/eperson/models/eperson.model.ts b/src/app/core/eperson/models/eperson.model.ts index 08b36dd78d..ab84d9c113 100644 --- a/src/app/core/eperson/models/eperson.model.ts +++ b/src/app/core/eperson/models/eperson.model.ts @@ -1,16 +1,22 @@ -import { autoserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../../cache/builders/build-decorators'; + +import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model'; +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; import { PaginatedList } from '../../data/paginated-list.model'; import { RemoteData } from '../../data/remote-data'; - import { DSpaceObject } from '../../shared/dspace-object.model'; +import { GenericConstructor } from '../../shared/generic-constructor'; import { HALLink } from '../../shared/hal-link.model'; import { EPERSON } from './eperson.resource-type'; import { Group } from './group.model'; import { GROUP } from './group.resource-type'; -import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model'; -import { GenericConstructor } from '../../shared/generic-constructor'; @typedObject @inheritSerialization(DSpaceObject) diff --git a/src/app/core/eperson/models/group.model.ts b/src/app/core/eperson/models/group.model.ts index b21322283b..bed55af0a2 100644 --- a/src/app/core/eperson/models/group.model.ts +++ b/src/app/core/eperson/models/group.model.ts @@ -1,16 +1,24 @@ -import { autoserialize, autoserializeAs, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../../cache/builders/build-decorators'; + +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; import { PaginatedList } from '../../data/paginated-list.model'; import { RemoteData } from '../../data/remote-data'; - import { DSpaceObject } from '../../shared/dspace-object.model'; import { DSPACE_OBJECT } from '../../shared/dspace-object.resource-type'; import { HALLink } from '../../shared/hal-link.model'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; import { EPerson } from './eperson.model'; import { EPERSON } from './eperson.resource-type'; import { GROUP } from './group.resource-type'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; @typedObject @inheritSerialization(DSpaceObject) diff --git a/src/app/core/feedback/feedback-data.service.spec.ts b/src/app/core/feedback/feedback-data.service.spec.ts index 8ed4590179..9b666e9776 100644 --- a/src/app/core/feedback/feedback-data.service.spec.ts +++ b/src/app/core/feedback/feedback-data.service.spec.ts @@ -1,14 +1,15 @@ -import { FeedbackDataService } from './feedback-data.service'; -import { HALLink } from '../shared/hal-link.model'; -import { Item } from '../shared/item.model'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { Store } from '@ngrx/store'; + import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { Store } from '@ngrx/store'; -import { Feedback } from './models/feedback.model'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { CoreState } from '../core-state.model'; import { testCreateDataImplementation } from '../data/base/create-data.spec'; +import { HALLink } from '../shared/hal-link.model'; +import { Item } from '../shared/item.model'; +import { FeedbackDataService } from './feedback-data.service'; +import { Feedback } from './models/feedback.model'; describe('FeedbackDataService', () => { let service: FeedbackDataService; diff --git a/src/app/core/feedback/feedback-data.service.ts b/src/app/core/feedback/feedback-data.service.ts index 3cc7df7653..a4207ba9fe 100644 --- a/src/app/core/feedback/feedback-data.service.ts +++ b/src/app/core/feedback/feedback-data.service.ts @@ -1,19 +1,26 @@ import { Injectable } from '@angular/core'; -import { Observable } from 'rxjs'; -import { Feedback } from './models/feedback.model'; -import { FEEDBACK } from './models/feedback.resource-type'; -import { RequestService } from '../data/request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { Store } from '@ngrx/store'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Observable } from 'rxjs'; + import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../shared/operators'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { + CreateData, + CreateDataImpl, +} from '../data/base/create-data'; +import { dataService } from '../data/base/data-service.decorator'; import { IdentifiableDataService } from '../data/base/identifiable-data.service'; import { RemoteData } from '../data/remote-data'; -import { RequestParam } from '../cache/models/request-param.model'; -import { CreateData, CreateDataImpl } from '../data/base/create-data'; -import { dataService } from '../data/base/data-service.decorator'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { Feedback } from './models/feedback.model'; +import { FEEDBACK } from './models/feedback.resource-type'; /** * Service for checking and managing the feedback diff --git a/src/app/core/feedback/feedback.guard.ts b/src/app/core/feedback/feedback.guard.ts index 63353a60ff..652bb5dfa3 100644 --- a/src/app/core/feedback/feedback.guard.ts +++ b/src/app/core/feedback/feedback.guard.ts @@ -1,8 +1,14 @@ -import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router'; +import { Injectable } from '@angular/core'; +import { + ActivatedRouteSnapshot, + CanActivate, + RouterStateSnapshot, + UrlTree, +} from '@angular/router'; import { Observable } from 'rxjs'; + import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; import { FeatureID } from '../data/feature-authorization/feature-id'; -import { Injectable } from '@angular/core'; /** * An guard for redirecting users to the feedback page if user is authorized diff --git a/src/app/core/feedback/models/feedback.model.ts b/src/app/core/feedback/models/feedback.model.ts index fd98affba9..e6718cb265 100644 --- a/src/app/core/feedback/models/feedback.model.ts +++ b/src/app/core/feedback/models/feedback.model.ts @@ -1,6 +1,9 @@ -import { autoserialize, inheritSerialization } from 'cerialize'; -import { typedObject } from '../../cache/builders/build-decorators'; +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; +import { typedObject } from '../../cache/builders/build-decorators'; import { DSpaceObject } from '../../shared/dspace-object.model'; import { HALLink } from '../../shared/hal-link.model'; import { FEEDBACK } from './feedback.resource-type'; diff --git a/src/app/core/forward-client-ip/forward-client-ip.interceptor.spec.ts b/src/app/core/forward-client-ip/forward-client-ip.interceptor.spec.ts index e769deb84d..5e2b0670d4 100644 --- a/src/app/core/forward-client-ip/forward-client-ip.interceptor.spec.ts +++ b/src/app/core/forward-client-ip/forward-client-ip.interceptor.spec.ts @@ -1,10 +1,14 @@ -import { ForwardClientIpInterceptor } from './forward-client-ip.interceptor'; -import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; -import { TestBed } from '@angular/core/testing'; -import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; +import { + HttpClientTestingModule, + HttpTestingController, +} from '@angular/common/http/testing'; +import { TestBed } from '@angular/core/testing'; import { REQUEST } from '@nguniversal/express-engine/tokens'; +import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { ForwardClientIpInterceptor } from './forward-client-ip.interceptor'; + describe('ForwardClientIpInterceptor', () => { let service: DspaceRestService; let httpMock: HttpTestingController; diff --git a/src/app/core/forward-client-ip/forward-client-ip.interceptor.ts b/src/app/core/forward-client-ip/forward-client-ip.interceptor.ts index 2e2e59fa6b..bdb9465359 100644 --- a/src/app/core/forward-client-ip/forward-client-ip.interceptor.ts +++ b/src/app/core/forward-client-ip/forward-client-ip.interceptor.ts @@ -1,7 +1,15 @@ -import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; -import { Inject, Injectable } from '@angular/core'; -import { Observable } from 'rxjs'; +import { + HttpEvent, + HttpHandler, + HttpInterceptor, + HttpRequest, +} from '@angular/common/http'; +import { + Inject, + Injectable, +} from '@angular/core'; import { REQUEST } from '@nguniversal/express-engine/tokens'; +import { Observable } from 'rxjs'; @Injectable({providedIn: 'root'}) /** diff --git a/src/app/core/google-recaptcha/google-recaptcha.module.ts b/src/app/core/google-recaptcha/google-recaptcha.module.ts index 67a907b651..6451ff3d6a 100644 --- a/src/app/core/google-recaptcha/google-recaptcha.module.ts +++ b/src/app/core/google-recaptcha/google-recaptcha.module.ts @@ -1,7 +1,7 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { GoogleRecaptchaComponent } from '../../shared/google-recaptcha/google-recaptcha.component'; +import { GoogleRecaptchaComponent } from '../../shared/google-recaptcha/google-recaptcha.component'; import { GoogleRecaptchaService } from './google-recaptcha.service'; const PROVIDERS = [ diff --git a/src/app/core/google-recaptcha/google-recaptcha.service.spec.ts b/src/app/core/google-recaptcha/google-recaptcha.service.spec.ts index 750c0930a8..957cc649bf 100644 --- a/src/app/core/google-recaptcha/google-recaptcha.service.spec.ts +++ b/src/app/core/google-recaptcha/google-recaptcha.service.spec.ts @@ -1,7 +1,8 @@ -import { GoogleRecaptchaService } from './google-recaptcha.service'; import { of as observableOf } from 'rxjs'; + import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { NativeWindowRef } from '../services/window.service'; +import { GoogleRecaptchaService } from './google-recaptcha.service'; describe('GoogleRecaptchaService', () => { let service: GoogleRecaptchaService; diff --git a/src/app/core/google-recaptcha/google-recaptcha.service.ts b/src/app/core/google-recaptcha/google-recaptcha.service.ts index 148cdad26d..37f594f674 100644 --- a/src/app/core/google-recaptcha/google-recaptcha.service.ts +++ b/src/app/core/google-recaptcha/google-recaptcha.service.ts @@ -1,14 +1,32 @@ -import { Inject, Injectable, Renderer2, RendererFactory2 } from '@angular/core'; -import { getFirstCompletedRemoteData } from '../shared/operators'; -import { ConfigurationProperty } from '../shared/configuration-property.model'; -import { isNotEmpty } from '../../shared/empty.util'; import { DOCUMENT } from '@angular/common'; +import { + Inject, + Injectable, + Renderer2, + RendererFactory2, +} from '@angular/core'; +import { + BehaviorSubject, + combineLatest, + Observable, + of, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { isNotEmpty } from '../../shared/empty.util'; import { ConfigurationDataService } from '../data/configuration-data.service'; import { RemoteData } from '../data/remote-data'; -import { map, switchMap, take } from 'rxjs/operators'; -import { BehaviorSubject, combineLatest, Observable, of } from 'rxjs'; import { CookieService } from '../services/cookie.service'; -import { NativeWindowRef, NativeWindowService } from '../services/window.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../services/window.service'; +import { ConfigurationProperty } from '../shared/configuration-property.model'; +import { getFirstCompletedRemoteData } from '../shared/operators'; export const CAPTCHA_COOKIE = '_GRECAPTCHA'; export const CAPTCHA_NAME = 'google-recaptcha'; diff --git a/src/app/core/history/history.reducer.ts b/src/app/core/history/history.reducer.ts index a073a15466..b39bde69bf 100644 --- a/src/app/core/history/history.reducer.ts +++ b/src/app/core/history/history.reducer.ts @@ -1,4 +1,8 @@ -import { AddUrlToHistoryAction, HistoryAction, HistoryActionTypes } from './history.actions'; +import { + AddUrlToHistoryAction, + HistoryAction, + HistoryActionTypes, +} from './history.actions'; /** * The auth state. diff --git a/src/app/core/history/selectors.ts b/src/app/core/history/selectors.ts index f1a35518f1..13c22c5be4 100644 --- a/src/app/core/history/selectors.ts +++ b/src/app/core/history/selectors.ts @@ -1,4 +1,5 @@ import { createSelector } from '@ngrx/store'; + import { coreSelector } from '../core.selectors'; import { CoreState } from '../core-state.model'; diff --git a/src/app/core/index/index.effects.spec.ts b/src/app/core/index/index.effects.spec.ts index 73ecf52383..89b5916f45 100644 --- a/src/app/core/index/index.effects.spec.ts +++ b/src/app/core/index/index.effects.spec.ts @@ -1,13 +1,20 @@ -import { Observable } from 'rxjs'; -import { TestBed, waitForAsync } from '@angular/core/testing'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { provideMockActions } from '@ngrx/effects/testing'; -import { UUIDIndexEffects } from './index.effects'; -import { cold, hot } from 'jasmine-marbles'; +import { provideMockStore } from '@ngrx/store/testing'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { Observable } from 'rxjs'; + +import { NoOpAction } from '../../shared/ngrx/no-op.action'; import { AddToObjectCacheAction } from '../cache/object-cache.actions'; import { Item } from '../shared/item.model'; import { AddToIndexAction } from './index.actions'; -import { provideMockStore } from '@ngrx/store/testing'; -import { NoOpAction } from '../../shared/ngrx/no-op.action'; +import { UUIDIndexEffects } from './index.effects'; import { IndexName } from './index-name.model'; describe('ObjectUpdatesEffects', () => { diff --git a/src/app/core/index/index.effects.ts b/src/app/core/index/index.effects.ts index 2f3fcd124e..2c3b9ad89b 100644 --- a/src/app/core/index/index.effects.ts +++ b/src/app/core/index/index.effects.ts @@ -1,25 +1,43 @@ -import { filter, map, switchMap, take } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { + select, + Store, +} from '@ngrx/store'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; +import { hasValue } from '../../shared/empty.util'; +import { NoOpAction } from '../../shared/ngrx/no-op.action'; import { AddToObjectCacheAction, ObjectCacheActionTypes, RemoveFromObjectCacheAction, } from '../cache/object-cache.actions'; +import { CoreState } from '../core-state.model'; import { RequestActionTypes, RequestConfigureAction, RequestStaleAction, } from '../data/request.actions'; -import { AddToIndexAction, RemoveFromIndexByValueAction } from './index.actions'; -import { hasValue } from '../../shared/empty.util'; import { RestRequestMethod } from '../data/rest-request-method'; -import { getUrlWithoutEmbedParams, uuidFromHrefSelector } from './index.selectors'; -import { Store, select } from '@ngrx/store'; -import { NoOpAction } from '../../shared/ngrx/no-op.action'; +import { + AddToIndexAction, + RemoveFromIndexByValueAction, +} from './index.actions'; +import { + getUrlWithoutEmbedParams, + uuidFromHrefSelector, +} from './index.selectors'; import { IndexName } from './index-name.model'; -import { CoreState } from '../core-state.model'; @Injectable() export class UUIDIndexEffects { diff --git a/src/app/core/index/index.reducer.spec.ts b/src/app/core/index/index.reducer.spec.ts index 0465d18c45..a5d46a05f6 100644 --- a/src/app/core/index/index.reducer.spec.ts +++ b/src/app/core/index/index.reducer.spec.ts @@ -1,12 +1,15 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; -import { indexReducer, MetaIndexState } from './index.reducer'; import { AddToIndexAction, RemoveFromIndexBySubstringAction, RemoveFromIndexByValueAction, } from './index.actions'; +import { + indexReducer, + MetaIndexState, +} from './index.reducer'; import { IndexName } from './index-name.model'; class NullAction extends AddToIndexAction { diff --git a/src/app/core/index/index.reducer.ts b/src/app/core/index/index.reducer.ts index de19d23a24..c1f91caf2b 100644 --- a/src/app/core/index/index.reducer.ts +++ b/src/app/core/index/index.reducer.ts @@ -1,4 +1,10 @@ -import { AddToIndexAction, IndexAction, IndexActionTypes, RemoveFromIndexBySubstringAction, RemoveFromIndexByValueAction } from './index.actions'; +import { + AddToIndexAction, + IndexAction, + IndexActionTypes, + RemoveFromIndexBySubstringAction, + RemoveFromIndexByValueAction, +} from './index.actions'; import { IndexName } from './index-name.model'; /** diff --git a/src/app/core/index/index.selectors.spec.ts b/src/app/core/index/index.selectors.spec.ts index 91119a283c..03da0def69 100644 --- a/src/app/core/index/index.selectors.spec.ts +++ b/src/app/core/index/index.selectors.spec.ts @@ -1,4 +1,7 @@ -import { getEmbedSizeParams, getUrlWithoutEmbedParams } from './index.selectors'; +import { + getEmbedSizeParams, + getUrlWithoutEmbedParams, +} from './index.selectors'; describe(`index selectors`, () => { diff --git a/src/app/core/index/index.selectors.ts b/src/app/core/index/index.selectors.ts index 8c8e0c6c56..a9d42baa47 100644 --- a/src/app/core/index/index.selectors.ts +++ b/src/app/core/index/index.selectors.ts @@ -1,10 +1,20 @@ -import { createSelector, MemoizedSelector } from '@ngrx/store'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; +import { + createSelector, + MemoizedSelector, +} from '@ngrx/store'; + +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { coreSelector } from '../core.selectors'; -import { URLCombiner } from '../url-combiner/url-combiner'; -import { IndexState, MetaIndexState } from './index.reducer'; -import { IndexName } from './index-name.model'; import { CoreState } from '../core-state.model'; +import { URLCombiner } from '../url-combiner/url-combiner'; +import { + IndexState, + MetaIndexState, +} from './index.reducer'; +import { IndexName } from './index-name.model'; /** * Return the given url without `embed` params. diff --git a/src/app/core/json-patch/builder/json-patch-operations-builder.ts b/src/app/core/json-patch/builder/json-patch-operations-builder.ts index d92018aa52..c8b84cbd27 100644 --- a/src/app/core/json-patch/builder/json-patch-operations-builder.ts +++ b/src/app/core/json-patch/builder/json-patch-operations-builder.ts @@ -1,4 +1,21 @@ +import { Injectable } from '@angular/core'; import { Store } from '@ngrx/store'; + +import { + dateToISOFormat, + dateToString, + isNgbDateStruct, +} from '../../../shared/date.util'; +import { + hasNoValue, + hasValue, + isEmpty, + isNotEmpty, +} from '../../../shared/empty.util'; +import { FormFieldLanguageValueObject } from '../../../shared/form/builder/models/form-field-language-value.model'; +import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; +import { CoreState } from '../../core-state.model'; +import { VocabularyEntry } from '../../submission/vocabularies/models/vocabulary-entry.model'; import { NewPatchAddOperationAction, NewPatchMoveOperationAction, @@ -6,13 +23,6 @@ import { NewPatchReplaceOperationAction, } from '../json-patch-operations.actions'; import { JsonPatchOperationPathObject } from './json-patch-operation-path-combiner'; -import { Injectable } from '@angular/core'; -import { hasNoValue, hasValue, isEmpty, isNotEmpty } from '../../../shared/empty.util'; -import { dateToISOFormat, dateToString, isNgbDateStruct } from '../../../shared/date.util'; -import { VocabularyEntry } from '../../submission/vocabularies/models/vocabulary-entry.model'; -import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; -import { FormFieldLanguageValueObject } from '../../../shared/form/builder/models/form-field-language-value.model'; -import { CoreState } from '../../core-state.model'; /** * Provides methods to dispatch JsonPatch Operations Actions diff --git a/src/app/core/json-patch/json-patch-operations.effects.spec.ts b/src/app/core/json-patch/json-patch-operations.effects.spec.ts index 18edb18446..d43fb0edd1 100644 --- a/src/app/core/json-patch/json-patch-operations.effects.spec.ts +++ b/src/app/core/json-patch/json-patch-operations.effects.spec.ts @@ -1,15 +1,22 @@ import { TestBed } from '@angular/core/testing'; - -import { cold, hot } from 'jasmine-marbles'; import { provideMockActions } from '@ngrx/effects/testing'; import { Store } from '@ngrx/store'; -import { Observable, of as observableOf } from 'rxjs'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + FlushPatchOperationsAction, + JsonPatchOperationsActionTypes, +} from './json-patch-operations.actions'; import { JsonPatchOperationsEffects } from './json-patch-operations.effects'; import { JsonPatchOperationsState } from './json-patch-operations.reducer'; -import { FlushPatchOperationsAction, JsonPatchOperationsActionTypes } from './json-patch-operations.actions'; - describe('JsonPatchOperationsEffects test suite', () => { let jsonPatchOperationsEffects: JsonPatchOperationsEffects; let actions: Observable; diff --git a/src/app/core/json-patch/json-patch-operations.effects.ts b/src/app/core/json-patch/json-patch-operations.effects.ts index 3dd07b9b7a..49bfabc0c5 100644 --- a/src/app/core/json-patch/json-patch-operations.effects.ts +++ b/src/app/core/json-patch/json-patch-operations.effects.ts @@ -1,10 +1,14 @@ import { Injectable } from '@angular/core'; - +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; import { map } from 'rxjs/operators'; -import { createEffect, Actions, ofType } from '@ngrx/effects'; import { - CommitPatchOperationsAction, FlushPatchOperationsAction, + CommitPatchOperationsAction, + FlushPatchOperationsAction, JsonPatchOperationsActionTypes, } from './json-patch-operations.actions'; diff --git a/src/app/core/json-patch/json-patch-operations.reducer.spec.ts b/src/app/core/json-patch/json-patch-operations.reducer.spec.ts index 10d6f08f20..dba5794ffc 100644 --- a/src/app/core/json-patch/json-patch-operations.reducer.spec.ts +++ b/src/app/core/json-patch/json-patch-operations.reducer.spec.ts @@ -2,7 +2,8 @@ import * as deepFreeze from 'deep-freeze'; import { - CommitPatchOperationsAction, DeletePendingJsonPatchOperationsAction, + CommitPatchOperationsAction, + DeletePendingJsonPatchOperationsAction, FlushPatchOperationsAction, NewPatchAddOperationAction, NewPatchRemoveOperationAction, diff --git a/src/app/core/json-patch/json-patch-operations.reducer.ts b/src/app/core/json-patch/json-patch-operations.reducer.ts index a9e202db55..d440558494 100644 --- a/src/app/core/json-patch/json-patch-operations.reducer.ts +++ b/src/app/core/json-patch/json-patch-operations.reducer.ts @@ -1,20 +1,27 @@ -import { hasValue, isNotEmpty, isNotUndefined, isNull } from '../../shared/empty.util'; - import { + hasValue, + isNotEmpty, + isNotUndefined, + isNull, +} from '../../shared/empty.util'; +import { + JsonPatchOperationModel, + JsonPatchOperationType, +} from './json-patch.model'; +import { + CommitPatchOperationsAction, + DeletePendingJsonPatchOperationsAction, FlushPatchOperationsAction, - PatchOperationsActions, JsonPatchOperationsActionTypes, NewPatchAddOperationAction, NewPatchCopyOperationAction, NewPatchMoveOperationAction, NewPatchRemoveOperationAction, NewPatchReplaceOperationAction, - CommitPatchOperationsAction, - StartTransactionPatchOperationsAction, + PatchOperationsActions, RollbacktPatchOperationsAction, - DeletePendingJsonPatchOperationsAction, + StartTransactionPatchOperationsAction, } from './json-patch-operations.actions'; -import { JsonPatchOperationModel, JsonPatchOperationType } from './json-patch.model'; /** * An interface to represent JSON-PATCH Operation objects to execute diff --git a/src/app/core/json-patch/json-patch-operations.service.spec.ts b/src/app/core/json-patch/json-patch-operations.service.spec.ts index 3923c75c5f..e1c6e79d10 100644 --- a/src/app/core/json-patch/json-patch-operations.service.spec.ts +++ b/src/app/core/json-patch/json-patch-operations.service.spec.ts @@ -1,29 +1,38 @@ -import { getTestScheduler, hot } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; +import { Store } from '@ngrx/store'; +import { deepClone } from 'fast-json-patch'; +import { + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { catchError } from 'rxjs/operators'; -import { Store } from '@ngrx/store'; +import { TestScheduler } from 'rxjs/testing'; +import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { RequestService } from '../data/request.service'; -import { SubmissionPatchRequest } from '../data/request.models'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../../shared/remote-data.utils'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; -import { JsonPatchOperationsService } from './json-patch-operations.service'; -import { SubmitDataResponseDefinitionObject } from '../shared/submit-data-response-definition.model'; +import { CoreState } from '../core-state.model'; +import { SubmissionPatchRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { RequestEntry } from '../data/request-entry.model'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { JsonPatchOperationsEntry, JsonPatchOperationsResourceEntry } from './json-patch-operations.reducer'; +import { SubmitDataResponseDefinitionObject } from '../shared/submit-data-response-definition.model'; import { CommitPatchOperationsAction, DeletePendingJsonPatchOperationsAction, RollbacktPatchOperationsAction, StartTransactionPatchOperationsAction, } from './json-patch-operations.actions'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -import { deepClone } from 'fast-json-patch'; -import { CoreState } from '../core-state.model'; -import { RequestEntry } from '../data/request-entry.model'; +import { + JsonPatchOperationsEntry, + JsonPatchOperationsResourceEntry, +} from './json-patch-operations.reducer'; +import { JsonPatchOperationsService } from './json-patch-operations.service'; class TestService extends JsonPatchOperationsService { diff --git a/src/app/core/json-patch/json-patch-operations.service.ts b/src/app/core/json-patch/json-patch-operations.service.ts index 1d10886293..552a4354fd 100644 --- a/src/app/core/json-patch/json-patch-operations.service.ts +++ b/src/app/core/json-patch/json-patch-operations.service.ts @@ -1,23 +1,42 @@ -import { merge as observableMerge, Observable } from 'rxjs'; -import { distinctUntilChanged, filter, find, map, mergeMap, partition, take, tap } from 'rxjs/operators'; import { Store } from '@ngrx/store'; +import { + merge as observableMerge, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + find, + map, + mergeMap, + partition, + take, + tap, +} from 'rxjs/operators'; -import { hasValue, isEmpty, isNotEmpty, isNotUndefined, isUndefined } from '../../shared/empty.util'; +import { + hasValue, + isEmpty, + isNotEmpty, + isNotUndefined, + isUndefined, +} from '../../shared/empty.util'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { CoreState } from '../core-state.model'; +import { RemoteData } from '../data/remote-data'; import { PatchRequest } from '../data/request.models'; import { RequestService } from '../data/request.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { jsonPatchOperationsByResourceType } from './selectors'; -import { JsonPatchOperationsResourceEntry } from './json-patch-operations.reducer'; +import { getFirstCompletedRemoteData } from '../shared/operators'; +import { JsonPatchOperationModel } from './json-patch.model'; import { - CommitPatchOperationsAction, DeletePendingJsonPatchOperationsAction, + CommitPatchOperationsAction, + DeletePendingJsonPatchOperationsAction, RollbacktPatchOperationsAction, StartTransactionPatchOperationsAction, } from './json-patch-operations.actions'; -import { JsonPatchOperationModel } from './json-patch.model'; -import { getFirstCompletedRemoteData } from '../shared/operators'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { RemoteData } from '../data/remote-data'; -import { CoreState } from '../core-state.model'; +import { JsonPatchOperationsResourceEntry } from './json-patch-operations.reducer'; +import { jsonPatchOperationsByResourceType } from './selectors'; /** * An abstract class that provides methods to make JSON Patch requests. diff --git a/src/app/core/json-patch/selectors.ts b/src/app/core/json-patch/selectors.ts index 20eb853891..7f6aaa3d98 100644 --- a/src/app/core/json-patch/selectors.ts +++ b/src/app/core/json-patch/selectors.ts @@ -1,8 +1,15 @@ import { MemoizedSelector } from '@ngrx/store'; + +import { + keySelector, + subStateSelector, +} from '../../submission/selectors'; import { coreSelector } from '../core.selectors'; -import { JsonPatchOperationsEntry, JsonPatchOperationsResourceEntry } from './json-patch-operations.reducer'; -import { keySelector, subStateSelector } from '../../submission/selectors'; import { CoreState } from '../core-state.model'; +import { + JsonPatchOperationsEntry, + JsonPatchOperationsResourceEntry, +} from './json-patch-operations.reducer'; /** * Return MemoizedSelector to select all jsonPatchOperations for a specified resource type, stored in the state diff --git a/src/app/core/locale/locale.interceptor.spec.ts b/src/app/core/locale/locale.interceptor.spec.ts index 9cdccfb78d..4725820a6b 100644 --- a/src/app/core/locale/locale.interceptor.spec.ts +++ b/src/app/core/locale/locale.interceptor.spec.ts @@ -1,13 +1,16 @@ -import { TestBed } from '@angular/core/testing'; -import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; - -import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; -import { RestRequestMethod } from '../data/rest-request-method'; -import { LocaleService } from './locale.service'; -import { LocaleInterceptor } from './locale.interceptor'; +import { + HttpClientTestingModule, + HttpTestingController, +} from '@angular/common/http/testing'; +import { TestBed } from '@angular/core/testing'; import { of } from 'rxjs'; +import { RestRequestMethod } from '../data/rest-request-method'; +import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { LocaleInterceptor } from './locale.interceptor'; +import { LocaleService } from './locale.service'; + describe(`LocaleInterceptor`, () => { let service: DspaceRestService; let httpMock: HttpTestingController; diff --git a/src/app/core/locale/locale.interceptor.ts b/src/app/core/locale/locale.interceptor.ts index 3068ec712f..6dfa19485d 100644 --- a/src/app/core/locale/locale.interceptor.ts +++ b/src/app/core/locale/locale.interceptor.ts @@ -1,10 +1,17 @@ +import { + HttpEvent, + HttpHandler, + HttpInterceptor, + HttpRequest, +} from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; - import { Observable } from 'rxjs'; +import { + mergeMap, + scan, +} from 'rxjs/operators'; import { LocaleService } from './locale.service'; -import { mergeMap, scan } from 'rxjs/operators'; @Injectable() export class LocaleInterceptor implements HttpInterceptor { diff --git a/src/app/core/locale/locale.service.spec.ts b/src/app/core/locale/locale.service.spec.ts index 43362da27f..d7f681056c 100644 --- a/src/app/core/locale/locale.service.spec.ts +++ b/src/app/core/locale/locale.service.spec.ts @@ -1,15 +1,25 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; - -import { CookieService } from '../services/cookie.service'; import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { LANG_COOKIE, LANG_ORIGIN, LocaleService } from './locale.service'; -import { AuthService } from '../auth/auth.service'; -import { NativeWindowRef } from '../services/window.service'; -import { RouteService } from '../services/route.service'; import { routeServiceStub } from '../../shared/testing/route-service.stub'; +import { AuthService } from '../auth/auth.service'; +import { CookieService } from '../services/cookie.service'; +import { RouteService } from '../services/route.service'; +import { NativeWindowRef } from '../services/window.service'; +import { + LANG_COOKIE, + LANG_ORIGIN, + LocaleService, +} from './locale.service'; describe('LocaleService test suite', () => { let service: LocaleService; diff --git a/src/app/core/locale/locale.service.ts b/src/app/core/locale/locale.service.ts index b6e7b3ab1d..0c54ce8412 100644 --- a/src/app/core/locale/locale.service.ts +++ b/src/app/core/locale/locale.service.ts @@ -1,17 +1,33 @@ -import { Inject, Injectable } from '@angular/core'; - -import { TranslateService } from '@ngx-translate/core'; - -import { isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { CookieService } from '../services/cookie.service'; -import { environment } from '../../../environments/environment'; -import { AuthService } from '../auth/auth.service'; -import { combineLatest, Observable, of as observableOf } from 'rxjs'; -import { map, mergeMap, take } from 'rxjs/operators'; -import { NativeWindowRef, NativeWindowService } from '../services/window.service'; -import { RouteService } from '../services/route.service'; import { DOCUMENT } from '@angular/common'; +import { + Inject, + Injectable, +} from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + mergeMap, + take, +} from 'rxjs/operators'; + import { LangConfig } from '../../../config/lang-config.interface'; +import { environment } from '../../../environments/environment'; +import { + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; +import { AuthService } from '../auth/auth.service'; +import { CookieService } from '../services/cookie.service'; +import { RouteService } from '../services/route.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../services/window.service'; export const LANG_COOKIE = 'dsLanguage'; diff --git a/src/app/core/locale/server-locale.service.ts b/src/app/core/locale/server-locale.service.ts index 155d96e371..1c636a92e4 100644 --- a/src/app/core/locale/server-locale.service.ts +++ b/src/app/core/locale/server-locale.service.ts @@ -1,15 +1,37 @@ -import { LANG_ORIGIN, LocaleService } from './locale.service'; -import { Inject, Injectable } from '@angular/core'; -import { combineLatest, Observable, of as observableOf } from 'rxjs'; -import { map, mergeMap, take } from 'rxjs/operators'; -import { hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { NativeWindowRef, NativeWindowService } from '../services/window.service'; -import { REQUEST } from '@nguniversal/express-engine/tokens'; -import { CookieService } from '../services/cookie.service'; -import { TranslateService } from '@ngx-translate/core'; -import { AuthService } from '../auth/auth.service'; -import { RouteService } from '../services/route.service'; import { DOCUMENT } from '@angular/common'; +import { + Inject, + Injectable, +} from '@angular/core'; +import { REQUEST } from '@nguniversal/express-engine/tokens'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + mergeMap, + take, +} from 'rxjs/operators'; + +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; +import { AuthService } from '../auth/auth.service'; +import { CookieService } from '../services/cookie.service'; +import { RouteService } from '../services/route.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../services/window.service'; +import { + LANG_ORIGIN, + LocaleService, +} from './locale.service'; @Injectable() export class ServerLocaleService extends LocaleService { diff --git a/src/app/core/log/log.interceptor.spec.ts b/src/app/core/log/log.interceptor.spec.ts index e2aae95eb0..0c48781a2e 100644 --- a/src/app/core/log/log.interceptor.spec.ts +++ b/src/app/core/log/log.interceptor.spec.ts @@ -1,18 +1,24 @@ -import { TestBed } from '@angular/core/testing'; -import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; +import { + HttpClientTestingModule, + HttpTestingController, +} from '@angular/common/http/testing'; +import { TestBed } from '@angular/core/testing'; import { Router } from '@angular/router'; +import { StoreModule } from '@ngrx/store'; -import { LogInterceptor } from './log.interceptor'; -import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; -import { RestRequestMethod } from '../data/rest-request-method'; -import { CookieService } from '../services/cookie.service'; +import { + appReducers, + storeModuleConfig, +} from '../../app.reducer'; +import { CorrelationIdService } from '../../correlation-id/correlation-id.service'; import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; import { RouterStub } from '../../shared/testing/router.stub'; -import { CorrelationIdService } from '../../correlation-id/correlation-id.service'; +import { RestRequestMethod } from '../data/rest-request-method'; +import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { CookieService } from '../services/cookie.service'; import { UUIDService } from '../shared/uuid.service'; -import { StoreModule } from '@ngrx/store'; -import { appReducers, storeModuleConfig } from '../../app.reducer'; +import { LogInterceptor } from './log.interceptor'; describe('LogInterceptor', () => { diff --git a/src/app/core/log/log.interceptor.ts b/src/app/core/log/log.interceptor.ts index aff1a24963..bda408278f 100644 --- a/src/app/core/log/log.interceptor.ts +++ b/src/app/core/log/log.interceptor.ts @@ -1,10 +1,15 @@ +import { + HttpEvent, + HttpHandler, + HttpInterceptor, + HttpRequest, +} from '@angular/common/http'; import { Injectable } from '@angular/core'; -import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Router } from '@angular/router'; - import { Observable } from 'rxjs'; -import { hasValue } from '../../shared/empty.util'; + import { CorrelationIdService } from '../../correlation-id/correlation-id.service'; +import { hasValue } from '../../shared/empty.util'; /** * Log Interceptor intercepting Http Requests & Responses to diff --git a/src/app/core/metadata/meta-tag.actions.ts b/src/app/core/metadata/meta-tag.actions.ts index f023c9e6f8..74f5c9932a 100644 --- a/src/app/core/metadata/meta-tag.actions.ts +++ b/src/app/core/metadata/meta-tag.actions.ts @@ -1,7 +1,8 @@ /* eslint-disable max-classes-per-file */ -import { type } from '../../shared/ngrx/type'; import { Action } from '@ngrx/store'; +import { type } from '../../shared/ngrx/type'; + export const MetaTagTypes = { ADD: type('dspace/meta-tag/ADD'), CLEAR: type('dspace/meta-tag/CLEAR'), diff --git a/src/app/core/metadata/meta-tag.reducer.spec.ts b/src/app/core/metadata/meta-tag.reducer.spec.ts index 1fcd7d83e3..16880751ce 100644 --- a/src/app/core/metadata/meta-tag.reducer.spec.ts +++ b/src/app/core/metadata/meta-tag.reducer.spec.ts @@ -6,8 +6,11 @@ * http://www.dspace.org/license/ */ +import { + AddMetaTagAction, + ClearMetaTagAction, +} from './meta-tag.actions'; import { metaTagReducer } from './meta-tag.reducer'; -import { AddMetaTagAction, ClearMetaTagAction } from './meta-tag.actions'; const nullAction = { type: null }; diff --git a/src/app/core/metadata/meta-tag.reducer.ts b/src/app/core/metadata/meta-tag.reducer.ts index a2d5ff5e23..5b541cabca 100644 --- a/src/app/core/metadata/meta-tag.reducer.ts +++ b/src/app/core/metadata/meta-tag.reducer.ts @@ -1,8 +1,8 @@ import { - MetaTagAction, - MetaTagTypes, AddMetaTagAction, ClearMetaTagAction, + MetaTagAction, + MetaTagTypes, } from './meta-tag.actions'; export interface MetaTagState { diff --git a/src/app/core/metadata/metadata-field.model.ts b/src/app/core/metadata/metadata-field.model.ts index 3ed6586f98..1084b4009f 100644 --- a/src/app/core/metadata/metadata-field.model.ts +++ b/src/app/core/metadata/metadata-field.model.ts @@ -1,7 +1,16 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; +import { Observable } from 'rxjs'; + import { isNotEmpty } from '../../shared/empty.util'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; -import { link, typedObject } from '../cache/builders/build-decorators'; +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; +import { RemoteData } from '../data/remote-data'; import { GenericConstructor } from '../shared/generic-constructor'; import { HALLink } from '../shared/hal-link.model'; import { HALResource } from '../shared/hal-resource.model'; @@ -9,8 +18,6 @@ import { ResourceType } from '../shared/resource-type'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { METADATA_FIELD } from './metadata-field.resource-type'; import { MetadataSchema } from './metadata-schema.model'; -import { RemoteData } from '../data/remote-data'; -import { Observable } from 'rxjs'; import { METADATA_SCHEMA } from './metadata-schema.resource-type'; /** diff --git a/src/app/core/metadata/metadata-schema.model.ts b/src/app/core/metadata/metadata-schema.model.ts index 063ba020ca..85faf5d2ce 100644 --- a/src/app/core/metadata/metadata-schema.model.ts +++ b/src/app/core/metadata/metadata-schema.model.ts @@ -1,4 +1,8 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { typedObject } from '../cache/builders/build-decorators'; import { GenericConstructor } from '../shared/generic-constructor'; diff --git a/src/app/core/metadata/metadata.service.spec.ts b/src/app/core/metadata/metadata.service.spec.ts index e85f12c4e1..481292459d 100644 --- a/src/app/core/metadata/metadata.service.spec.ts +++ b/src/app/core/metadata/metadata.service.spec.ts @@ -1,35 +1,51 @@ -import { fakeAsync, tick } from '@angular/core/testing'; -import { Meta, Title } from '@angular/platform-browser'; -import { NavigationEnd, Router } from '@angular/router'; - +import { + fakeAsync, + tick, +} from '@angular/core/testing'; +import { + Meta, + Title, +} from '@angular/platform-browser'; +import { + NavigationEnd, + Router, +} from '@angular/router'; +import { getMockStore } from '@ngrx/store/testing'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf, of } from 'rxjs'; - -import { RemoteData } from '../data/remote-data'; -import { Item } from '../shared/item.model'; +import { + Observable, + of as observableOf, + of, +} from 'rxjs'; +import { AppConfig } from '../../../config/app-config.interface'; import { ItemMock, MockBitstream1, - MockBitstream3, MockBitstream2, + MockBitstream3, } from '../../shared/mocks/item.mock'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { PaginatedList } from '../data/paginated-list.model'; -import { Bitstream } from '../shared/bitstream.model'; -import { MetadataValue } from '../shared/metadata.models'; - -import { MetadataService } from './metadata.service'; -import { RootDataService } from '../data/root-data.service'; -import { Bundle } from '../shared/bundle.model'; -import { createPaginatedList } from '../../shared/testing/utils.test'; import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { createPaginatedList } from '../../shared/testing/utils.test'; import { DSONameService } from '../breadcrumbs/dso-name.service'; -import { HardRedirectService } from '../services/hard-redirect.service'; -import { getMockStore } from '@ngrx/store/testing'; -import { AddMetaTagAction, ClearMetaTagAction } from './meta-tag.actions'; import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; -import { AppConfig } from '../../../config/app-config.interface'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { RootDataService } from '../data/root-data.service'; +import { HardRedirectService } from '../services/hard-redirect.service'; +import { Bitstream } from '../shared/bitstream.model'; +import { Bundle } from '../shared/bundle.model'; +import { Item } from '../shared/item.model'; +import { MetadataValue } from '../shared/metadata.models'; +import { + AddMetaTagAction, + ClearMetaTagAction, +} from './meta-tag.actions'; +import { MetadataService } from './metadata.service'; describe('MetadataService', () => { let metadataService: MetadataService; diff --git a/src/app/core/metadata/metadata.service.ts b/src/app/core/metadata/metadata.service.ts index f0efed4011..7c99d917f0 100644 --- a/src/app/core/metadata/metadata.service.ts +++ b/src/app/core/metadata/metadata.service.ts @@ -1,50 +1,77 @@ -import { Injectable, Inject } from '@angular/core'; - -import { Meta, MetaDefinition, Title } from '@angular/platform-browser'; -import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; - +import { + Inject, + Injectable, +} from '@angular/core'; +import { + Meta, + MetaDefinition, + Title, +} from '@angular/platform-browser'; +import { + ActivatedRoute, + NavigationEnd, + Router, +} from '@angular/router'; +import { + createSelector, + select, + Store, +} from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; - import { BehaviorSubject, combineLatest, - Observable, - of as observableOf, concat as observableConcat, EMPTY, + Observable, + of as observableOf, } from 'rxjs'; -import { filter, map, switchMap, take, mergeMap } from 'rxjs/operators'; +import { + filter, + map, + mergeMap, + switchMap, + take, +} from 'rxjs/operators'; -import { hasNoValue, hasValue, isNotEmpty } from '../../shared/empty.util'; +import { + APP_CONFIG, + AppConfig, +} from '../../../config/app-config.interface'; +import { getBitstreamDownloadRoute } from '../../app-routing-paths'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { followLink } from '../../shared/utils/follow-link-config.model'; import { DSONameService } from '../breadcrumbs/dso-name.service'; +import { coreSelector } from '../core.selectors'; +import { CoreState } from '../core-state.model'; import { BitstreamDataService } from '../data/bitstream-data.service'; import { BitstreamFormatDataService } from '../data/bitstream-format-data.service'; - +import { BundleDataService } from '../data/bundle-data.service'; +import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; +import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; -import { BitstreamFormat } from '../shared/bitstream-format.model'; +import { RootDataService } from '../data/root-data.service'; +import { HardRedirectService } from '../services/hard-redirect.service'; import { Bitstream } from '../shared/bitstream.model'; +import { getDownloadableBitstream } from '../shared/bitstream.operators'; +import { BitstreamFormat } from '../shared/bitstream-format.model'; +import { Bundle } from '../shared/bundle.model'; import { DSpaceObject } from '../shared/dspace-object.model'; import { Item } from '../shared/item.model'; import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, } from '../shared/operators'; -import { RootDataService } from '../data/root-data.service'; -import { getBitstreamDownloadRoute } from '../../app-routing-paths'; -import { BundleDataService } from '../data/bundle-data.service'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import { Bundle } from '../shared/bundle.model'; -import { PaginatedList } from '../data/paginated-list.model'; import { URLCombiner } from '../url-combiner/url-combiner'; -import { HardRedirectService } from '../services/hard-redirect.service'; +import { + AddMetaTagAction, + ClearMetaTagAction, +} from './meta-tag.actions'; import { MetaTagState } from './meta-tag.reducer'; -import { createSelector, select, Store } from '@ngrx/store'; -import { AddMetaTagAction, ClearMetaTagAction } from './meta-tag.actions'; -import { coreSelector } from '../core.selectors'; -import { CoreState } from '../core-state.model'; -import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; -import { getDownloadableBitstream } from '../shared/bitstream.operators'; -import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface'; /** * The base selector function to select the metaTag section in the store diff --git a/src/app/core/orcid/model/orcid-history.model.ts b/src/app/core/orcid/model/orcid-history.model.ts index 6389312ed8..62f5353ed2 100644 --- a/src/app/core/orcid/model/orcid-history.model.ts +++ b/src/app/core/orcid/model/orcid-history.model.ts @@ -1,10 +1,14 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { HALLink } from '../../shared/hal-link.model'; import { ResourceType } from '../../shared/resource-type'; import { excludeFromEquals } from '../../utilities/equals.decorators'; import { ORCID_HISTORY } from './orcid-history.resource-type'; -import { CacheableObject } from '../../cache/cacheable-object.model'; /** * Class the represents a Orcid History. diff --git a/src/app/core/orcid/model/orcid-queue.model.ts b/src/app/core/orcid/model/orcid-queue.model.ts index cce1c2e7f2..fedb078cc5 100644 --- a/src/app/core/orcid/model/orcid-queue.model.ts +++ b/src/app/core/orcid/model/orcid-queue.model.ts @@ -1,10 +1,14 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { HALLink } from '../../shared/hal-link.model'; import { ResourceType } from '../../shared/resource-type'; import { excludeFromEquals } from '../../utilities/equals.decorators'; import { ORCID_QUEUE } from './orcid-queue.resource-type'; -import { CacheableObject } from '../../cache/cacheable-object.model'; /** * Class the represents a Orcid Queue. diff --git a/src/app/core/orcid/orcid-auth.service.spec.ts b/src/app/core/orcid/orcid-auth.service.spec.ts index 99f8140496..a3dc628029 100644 --- a/src/app/core/orcid/orcid-auth.service.spec.ts +++ b/src/app/core/orcid/orcid-auth.service.spec.ts @@ -1,17 +1,27 @@ -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + AddOperation, + RemoveOperation, +} from 'fast-json-patch'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { ResearcherProfile } from '../profile/model/researcher-profile.model'; -import { Item } from '../shared/item.model'; -import { AddOperation, RemoveOperation } from 'fast-json-patch'; -import { ConfigurationProperty } from '../shared/configuration-property.model'; -import { ConfigurationDataService } from '../data/configuration-data.service'; -import { createPaginatedList } from '../../shared/testing/utils.test'; + import { NativeWindowRefMock } from '../../shared/mocks/mock-native-window-ref'; +import { RouterMock } from '../../shared/mocks/router.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { ConfigurationDataService } from '../data/configuration-data.service'; +import { ResearcherProfile } from '../profile/model/researcher-profile.model'; +import { ResearcherProfileDataService } from '../profile/researcher-profile-data.service'; +import { ConfigurationProperty } from '../shared/configuration-property.model'; +import { Item } from '../shared/item.model'; import { URLCombiner } from '../url-combiner/url-combiner'; import { OrcidAuthService } from './orcid-auth.service'; -import { ResearcherProfileDataService } from '../profile/researcher-profile-data.service'; describe('OrcidAuthService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/orcid/orcid-auth.service.ts b/src/app/core/orcid/orcid-auth.service.ts index 6455ed70be..4ac04eabb6 100644 --- a/src/app/core/orcid/orcid-auth.service.ts +++ b/src/app/core/orcid/orcid-auth.service.ts @@ -1,20 +1,37 @@ -import { Inject, Injectable } from '@angular/core'; +import { + Inject, + Injectable, +} from '@angular/core'; import { Router } from '@angular/router'; +import { + AddOperation, + RemoveOperation, +} from 'fast-json-patch'; +import { + combineLatest, + Observable, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; -import { combineLatest, Observable } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; -import { AddOperation, RemoveOperation } from 'fast-json-patch'; - -import { ResearcherProfileDataService } from '../profile/researcher-profile-data.service'; -import { Item } from '../shared/item.model'; import { isNotEmpty } from '../../shared/empty.util'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../shared/operators'; -import { RemoteData } from '../data/remote-data'; -import { ConfigurationProperty } from '../shared/configuration-property.model'; import { ConfigurationDataService } from '../data/configuration-data.service'; +import { RemoteData } from '../data/remote-data'; import { ResearcherProfile } from '../profile/model/researcher-profile.model'; +import { ResearcherProfileDataService } from '../profile/researcher-profile-data.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../services/window.service'; +import { ConfigurationProperty } from '../shared/configuration-property.model'; +import { Item } from '../shared/item.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../shared/operators'; import { URLCombiner } from '../url-combiner/url-combiner'; -import { NativeWindowRef, NativeWindowService } from '../services/window.service'; @Injectable() export class OrcidAuthService { diff --git a/src/app/core/orcid/orcid-history-data.service.ts b/src/app/core/orcid/orcid-history-data.service.ts index 42615eb355..5e9a3ab1e9 100644 --- a/src/app/core/orcid/orcid-history-data.service.ts +++ b/src/app/core/orcid/orcid-history-data.service.ts @@ -1,21 +1,25 @@ import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; import { RemoteData } from '../data/remote-data'; import { PostRequest } from '../data/request.models'; import { RequestService } from '../data/request.service'; +import { RestRequest } from '../data/rest-request.model'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { sendRequest } from '../shared/request.operators'; import { OrcidHistory } from './model/orcid-history.model'; import { ORCID_HISTORY } from './model/orcid-history.resource-type'; import { OrcidQueue } from './model/orcid-queue.model'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { RestRequest } from '../data/rest-request.model'; -import { sendRequest } from '../shared/request.operators'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { dataService } from '../data/base/data-service.decorator'; /** * A service that provides methods to make REST requests with Orcid History endpoint. diff --git a/src/app/core/orcid/orcid-queue-data.service.ts b/src/app/core/orcid/orcid-queue-data.service.ts index 7db55461c7..d869110f97 100644 --- a/src/app/core/orcid/orcid-queue-data.service.ts +++ b/src/app/core/orcid/orcid-queue-data.service.ts @@ -1,21 +1,28 @@ -import { OrcidQueue } from './model/orcid-queue.model'; -import { RequestService } from '../data/request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { Injectable } from '@angular/core'; -import { ORCID_QUEUE } from './model/orcid-queue.resource-type'; import { Observable } from 'rxjs'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { RequestParam } from '../cache/models/request-param.model'; + +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { NoContent } from '../shared/NoContent.model'; -import { DeleteData, DeleteDataImpl } from '../data/base/delete-data'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { dataService } from '../data/base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { NoContent } from '../shared/NoContent.model'; +import { OrcidQueue } from './model/orcid-queue.model'; +import { ORCID_QUEUE } from './model/orcid-queue.resource-type'; /** * A service that provides methods to make REST requests with Orcid Queue endpoint. diff --git a/src/app/core/pagination/pagination.service.spec.ts b/src/app/core/pagination/pagination.service.spec.ts index 8149d877b4..d764ddbccc 100644 --- a/src/app/core/pagination/pagination.service.spec.ts +++ b/src/app/core/pagination/pagination.service.spec.ts @@ -1,9 +1,13 @@ -import { PaginationService } from './pagination.service'; -import { RouterStub } from '../../shared/testing/router.stub'; import { of as observableOf } from 'rxjs'; + import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../cache/models/sort-options.model'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { + SortDirection, + SortOptions, +} from '../cache/models/sort-options.model'; import { FindListOptions } from '../data/find-list-options.model'; +import { PaginationService } from './pagination.service'; describe('PaginationService', () => { diff --git a/src/app/core/pagination/pagination.service.ts b/src/app/core/pagination/pagination.service.ts index 2504431c08..6181fee741 100644 --- a/src/app/core/pagination/pagination.service.ts +++ b/src/app/core/pagination/pagination.service.ts @@ -1,14 +1,32 @@ import { Injectable } from '@angular/core'; -import { NavigationExtras, Router } from '@angular/router'; -import { RouteService } from '../services/route.service'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { filter, map, take } from 'rxjs/operators'; -import { SortDirection, SortOptions } from '../cache/models/sort-options.model'; -import { hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { difference } from '../../shared/object.util'; -import { FindListOptions } from '../data/find-list-options.model'; +import { + NavigationExtras, + Router, +} from '@angular/router'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; + +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; import { isNumeric } from '../../shared/numeric.util'; +import { difference } from '../../shared/object.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { + SortDirection, + SortOptions, +} from '../cache/models/sort-options.model'; +import { FindListOptions } from '../data/find-list-options.model'; +import { RouteService } from '../services/route.service'; import { PaginationRouteParams } from './pagination-route-params.interface'; @Injectable({ diff --git a/src/app/core/profile/model/researcher-profile.model.ts b/src/app/core/profile/model/researcher-profile.model.ts index fa4337e6be..d26156123c 100644 --- a/src/app/core/profile/model/researcher-profile.model.ts +++ b/src/app/core/profile/model/researcher-profile.model.ts @@ -1,15 +1,22 @@ +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; -import { link, typedObject } from '../../cache/builders/build-decorators'; +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; +import { RemoteData } from '../../data/remote-data'; import { HALLink } from '../../shared/hal-link.model'; +import { Item } from '../../shared/item.model'; +import { ITEM } from '../../shared/item.resource-type'; import { ResourceType } from '../../shared/resource-type'; import { excludeFromEquals } from '../../utilities/equals.decorators'; import { RESEARCHER_PROFILE } from './researcher-profile.resource-type'; -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { RemoteData } from '../../data/remote-data'; -import { ITEM } from '../../shared/item.resource-type'; -import { Item } from '../../shared/item.model'; /** * Class the represents a Researcher Profile. diff --git a/src/app/core/profile/researcher-profile-data.service.spec.ts b/src/app/core/profile/researcher-profile-data.service.spec.ts index af22031024..ccaa7063dd 100644 --- a/src/app/core/profile/researcher-profile-data.service.spec.ts +++ b/src/app/core/profile/researcher-profile-data.service.spec.ts @@ -1,33 +1,43 @@ -import { HttpClient, HttpHeaders } from '@angular/common/http'; - -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { + HttpClient, + HttpHeaders, +} from '@angular/common/http'; +import { ReplaceOperation } from 'fast-json-patch'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; +import { RouterMock } from '../../shared/mocks/router.mock'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { followLink } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { PageInfo } from '../shared/page-info.model'; -import { buildPaginatedList } from '../data/paginated-list.model'; -import { createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { RestResponse } from '../cache/response.models'; -import { RequestEntry } from '../data/request-entry.model'; -import { ResearcherProfileDataService } from './researcher-profile-data.service'; -import { RouterMock } from '../../shared/mocks/router.mock'; -import { ResearcherProfile } from './model/researcher-profile.model'; -import { Item } from '../shared/item.model'; -import { ReplaceOperation } from 'fast-json-patch'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { PostRequest } from '../data/request.models'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import { ConfigurationProperty } from '../shared/configuration-property.model'; -import { createPaginatedList } from '../../shared/testing/utils.test'; import { testCreateDataImplementation } from '../data/base/create-data.spec'; -import { testSearchDataImplementation } from '../data/base/search-data.spec'; -import { testPatchDataImplementation } from '../data/base/patch-data.spec'; import { testDeleteDataImplementation } from '../data/base/delete-data.spec'; +import { testPatchDataImplementation } from '../data/base/patch-data.spec'; +import { testSearchDataImplementation } from '../data/base/search-data.spec'; +import { buildPaginatedList } from '../data/paginated-list.model'; +import { PostRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { RequestEntry } from '../data/request-entry.model'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { ConfigurationProperty } from '../shared/configuration-property.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Item } from '../shared/item.model'; +import { PageInfo } from '../shared/page-info.model'; +import { ResearcherProfile } from './model/researcher-profile.model'; +import { ResearcherProfileDataService } from './researcher-profile-data.service'; describe('ResearcherProfileService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/profile/researcher-profile-data.service.ts b/src/app/core/profile/researcher-profile-data.service.ts index bc0567cc7d..3f287ab967 100644 --- a/src/app/core/profile/researcher-profile-data.service.ts +++ b/src/app/core/profile/researcher-profile-data.service.ts @@ -1,38 +1,66 @@ import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Router } from '@angular/router'; +import { + Operation, + ReplaceOperation, +} from 'fast-json-patch'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + find, + map, + mergeMap, +} from 'rxjs/operators'; -import { Operation, ReplaceOperation } from 'fast-json-patch'; -import { Observable, of as observableOf } from 'rxjs'; -import { find, map, mergeMap } from 'rxjs/operators'; +import { + hasValue, + isEmpty, +} from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createFailedRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { + CreateData, + CreateDataImpl, +} from '../data/base/create-data'; +import { dataService } from '../data/base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + PatchData, + PatchDataImpl, +} from '../data/base/patch-data'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service'; +import { FindListOptions } from '../data/find-list-options.model'; import { ItemDataService } from '../data/item-data.service'; +import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; +import { PostRequest } from '../data/request.models'; import { RequestService } from '../data/request.service'; +import { RestRequestMethod } from '../data/rest-request-method'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Item } from '../shared/item.model'; import { NoContent } from '../shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../shared/operators'; import { ResearcherProfile } from './model/researcher-profile.model'; import { RESEARCHER_PROFILE } from './model/researcher-profile.resource-type'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { PostRequest } from '../data/request.models'; -import { hasValue, isEmpty } from '../../shared/empty.util'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { Item } from '../shared/item.model'; -import { createFailedRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { CreateData, CreateDataImpl } from '../data/base/create-data'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { PatchData, PatchDataImpl } from '../data/base/patch-data'; -import { DeleteData, DeleteDataImpl } from '../data/base/delete-data'; -import { RestRequestMethod } from '../data/rest-request-method'; -import { RequestParam } from '../cache/models/request-param.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { PaginatedList } from '../data/paginated-list.model'; -import { dataService } from '../data/base/data-service.decorator'; /** * A service that provides methods to make REST requests with researcher profile endpoint. diff --git a/src/app/core/registry/registry.service.spec.ts b/src/app/core/registry/registry.service.spec.ts index 9e4a49b1d3..4f4be0fb27 100644 --- a/src/app/core/registry/registry.service.spec.ts +++ b/src/app/core/registry/registry.service.spec.ts @@ -1,9 +1,16 @@ import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; import { TestBed } from '@angular/core/testing'; -import { Store, StoreModule } from '@ngrx/store'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { MetadataRegistryCancelFieldAction, MetadataRegistryCancelSchemaAction, @@ -16,20 +23,23 @@ import { MetadataRegistrySelectFieldAction, MetadataRegistrySelectSchemaAction, } from '../../admin/admin-registries/metadata-registry/metadata-registry.actions'; +import { storeModuleConfig } from '../../app.reducer'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { StoreMock } from '../../shared/testing/store.mock'; +import { + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { StoreMock } from '../../shared/testing/store.mock'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { FindListOptions } from '../data/find-list-options.model'; +import { MetadataFieldDataService } from '../data/metadata-field-data.service'; +import { MetadataSchemaDataService } from '../data/metadata-schema-data.service'; +import { RemoteData } from '../data/remote-data'; import { MetadataField } from '../metadata/metadata-field.model'; import { MetadataSchema } from '../metadata/metadata-schema.model'; -import { RegistryService } from './registry.service'; -import { storeModuleConfig } from '../../app.reducer'; -import { MetadataSchemaDataService } from '../data/metadata-schema-data.service'; -import { MetadataFieldDataService } from '../data/metadata-field-data.service'; -import { createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; -import { RemoteData } from '../data/remote-data'; import { NoContent } from '../shared/NoContent.model'; -import { FindListOptions } from '../data/find-list-options.model'; +import { RegistryService } from './registry.service'; @Component({ template: '' }) class DummyComponent { diff --git a/src/app/core/registry/registry.service.ts b/src/app/core/registry/registry.service.ts index 8f5a7ffc2e..dfa87d8d2a 100644 --- a/src/app/core/registry/registry.service.ts +++ b/src/app/core/registry/registry.service.ts @@ -1,12 +1,20 @@ -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; import { Injectable } from '@angular/core'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { hasValue, hasValueOperator, isNotEmptyOperator } from '../../shared/empty.util'; -import { getFirstSucceededRemoteDataPayload } from '../shared/operators'; -import { createSelector, select, Store } from '@ngrx/store'; -import { AppState } from '../../app.reducer'; -import { MetadataRegistryState } from '../../admin/admin-registries/metadata-registry/metadata-registry.reducers'; +import { + createSelector, + select, + Store, +} from '@ngrx/store'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, + tap, +} from 'rxjs/operators'; + import { MetadataRegistryCancelFieldAction, MetadataRegistryCancelSchemaAction, @@ -19,17 +27,25 @@ import { MetadataRegistrySelectFieldAction, MetadataRegistrySelectSchemaAction, } from '../../admin/admin-registries/metadata-registry/metadata-registry.actions'; -import { map, mergeMap, tap } from 'rxjs/operators'; +import { MetadataRegistryState } from '../../admin/admin-registries/metadata-registry/metadata-registry.reducers'; +import { AppState } from '../../app.reducer'; +import { + hasValue, + hasValueOperator, + isNotEmptyOperator, +} from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { MetadataSchema } from '../metadata/metadata-schema.model'; -import { MetadataField } from '../metadata/metadata-field.model'; -import { MetadataSchemaDataService } from '../data/metadata-schema-data.service'; -import { MetadataFieldDataService } from '../data/metadata-field-data.service'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RequestParam } from '../cache/models/request-param.model'; -import { NoContent } from '../shared/NoContent.model'; import { FindListOptions } from '../data/find-list-options.model'; +import { MetadataFieldDataService } from '../data/metadata-field-data.service'; +import { MetadataSchemaDataService } from '../data/metadata-schema-data.service'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { MetadataField } from '../metadata/metadata-field.model'; +import { MetadataSchema } from '../metadata/metadata-schema.model'; +import { NoContent } from '../shared/NoContent.model'; +import { getFirstSucceededRemoteDataPayload } from '../shared/operators'; const metadataRegistryStateSelector = (state: AppState) => state.metadataRegistry; const editMetadataSchemaSelector = createSelector(metadataRegistryStateSelector, (metadataState: MetadataRegistryState) => metadataState.editSchema); diff --git a/src/app/core/reload/reload.guard.spec.ts b/src/app/core/reload/reload.guard.spec.ts index ae76bdf473..d7b92146af 100644 --- a/src/app/core/reload/reload.guard.spec.ts +++ b/src/app/core/reload/reload.guard.spec.ts @@ -1,4 +1,5 @@ import { Router } from '@angular/router'; + import { AppConfig } from '../../../config/app-config.interface'; import { DefaultAppConfig } from '../../../config/default-app-config'; import { ReloadGuard } from './reload.guard'; diff --git a/src/app/core/reload/reload.guard.ts b/src/app/core/reload/reload.guard.ts index 1e99a5687a..0608293e33 100644 --- a/src/app/core/reload/reload.guard.ts +++ b/src/app/core/reload/reload.guard.ts @@ -1,6 +1,19 @@ -import { Inject, Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; -import { AppConfig, APP_CONFIG } from '../../../config/app-config.interface'; +import { + Inject, + Injectable, +} from '@angular/core'; +import { + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, + UrlTree, +} from '@angular/router'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../config/app-config.interface'; import { isNotEmpty } from '../../shared/empty.util'; /** diff --git a/src/app/core/resolving/resolver.actions.ts b/src/app/core/resolving/resolver.actions.ts index 8cb2a0e6aa..66f075be7c 100644 --- a/src/app/core/resolving/resolver.actions.ts +++ b/src/app/core/resolving/resolver.actions.ts @@ -1,5 +1,6 @@ -import { type } from '../../shared/ngrx/type'; import { Action } from '@ngrx/store'; + +import { type } from '../../shared/ngrx/type'; import { DSpaceObject } from '../shared/dspace-object.model'; export const ResolverActionTypes = { diff --git a/src/app/core/resource-policy/models/resource-policy.model.ts b/src/app/core/resource-policy/models/resource-policy.model.ts index 3bbbd36755..d4558cfe3a 100644 --- a/src/app/core/resource-policy/models/resource-policy.model.ts +++ b/src/app/core/resource-policy/models/resource-policy.model.ts @@ -1,19 +1,27 @@ -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; -import { link, typedObject } from '../../cache/builders/build-decorators'; -import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; -import { ActionType } from './action-type.model'; -import { HALLink } from '../../shared/hal-link.model'; -import { RESOURCE_POLICY } from './resource-policy.resource-type'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { ResourceType } from '../../shared/resource-type'; -import { PolicyType } from './policy-type.model'; +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { RemoteData } from '../../data/remote-data'; -import { GROUP } from '../../eperson/models/group.resource-type'; -import { Group } from '../../eperson/models/group.model'; -import { EPERSON } from '../../eperson/models/eperson.resource-type'; -import { EPerson } from '../../eperson/models/eperson.model'; + +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; import { CacheableObject } from '../../cache/cacheable-object.model'; +import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; +import { RemoteData } from '../../data/remote-data'; +import { EPerson } from '../../eperson/models/eperson.model'; +import { EPERSON } from '../../eperson/models/eperson.resource-type'; +import { Group } from '../../eperson/models/group.model'; +import { GROUP } from '../../eperson/models/group.resource-type'; +import { HALLink } from '../../shared/hal-link.model'; +import { ResourceType } from '../../shared/resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { ActionType } from './action-type.model'; +import { PolicyType } from './policy-type.model'; +import { RESOURCE_POLICY } from './resource-policy.resource-type'; /** * Model class for a Resource Policy diff --git a/src/app/core/resource-policy/resource-policy-data.service.spec.ts b/src/app/core/resource-policy/resource-policy-data.service.spec.ts index 105216602c..39050e6f88 100644 --- a/src/app/core/resource-policy/resource-policy-data.service.spec.ts +++ b/src/app/core/resource-policy/resource-policy-data.service.spec.ts @@ -1,25 +1,29 @@ -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { ResourcePolicyDataService } from './resource-policy-data.service'; -import { PolicyType } from './models/policy-type.model'; -import { ActionType } from './models/action-type.model'; -import { RequestParam } from '../cache/models/request-param.model'; -import { PageInfo } from '../shared/page-info.model'; -import { buildPaginatedList } from '../data/paginated-list.model'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { RestResponse } from '../cache/response.models'; -import { RequestEntry } from '../data/request-entry.model'; import { FindListOptions } from '../data/find-list-options.model'; +import { buildPaginatedList } from '../data/paginated-list.model'; +import { RequestService } from '../data/request.service'; +import { RequestEntry } from '../data/request-entry.model'; +import { RestRequestMethod } from '../data/rest-request-method'; import { EPersonDataService } from '../eperson/eperson-data.service'; import { GroupDataService } from '../eperson/group-data.service'; -import { RestRequestMethod } from '../data/rest-request-method'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { PageInfo } from '../shared/page-info.model'; +import { ActionType } from './models/action-type.model'; +import { PolicyType } from './models/policy-type.model'; +import { ResourcePolicyDataService } from './resource-policy-data.service'; describe('ResourcePolicyService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/resource-policy/resource-policy-data.service.ts b/src/app/core/resource-policy/resource-policy-data.service.ts index 36674777c1..6ec6c22e88 100644 --- a/src/app/core/resource-policy/resource-policy-data.service.ts +++ b/src/app/core/resource-policy/resource-policy-data.service.ts @@ -1,38 +1,42 @@ -import { Injectable } from '@angular/core'; import { HttpHeaders } from '@angular/common/http'; +import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { RequestService } from '../data/request.service'; -import { Collection } from '../shared/collection.model'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { ResourcePolicy } from './models/resource-policy.model'; -import { RemoteData } from '../data/remote-data'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { RESOURCE_POLICY } from './models/resource-policy.resource-type'; -import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service'; -import { PaginatedList } from '../data/paginated-list.model'; -import { ActionType } from './models/action-type.model'; -import { RequestParam } from '../cache/models/request-param.model'; +import { + first, + map, +} from 'rxjs/operators'; + import { isNotEmpty } from '../../shared/empty.util'; -import { first, map } from 'rxjs/operators'; -import { NoContent } from '../shared/NoContent.model'; -import { getFirstCompletedRemoteData } from '../shared/operators'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { CreateDataImpl } from '../data/base/create-data'; +import { dataService } from '../data/base/data-service.decorator'; +import { DeleteDataImpl } from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { PatchDataImpl } from '../data/base/patch-data'; +import { SearchDataImpl } from '../data/base/search-data'; +import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service'; import { FindListOptions } from '../data/find-list-options.model'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { PutRequest } from '../data/request.models'; -import { GenericConstructor } from '../shared/generic-constructor'; +import { PaginatedList } from '../data/paginated-list.model'; import { ResponseParsingService } from '../data/parsing.service'; +import { RemoteData } from '../data/remote-data'; +import { PutRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; import { StatusCodeOnlyResponseParsingService } from '../data/status-code-only-response-parsing.service'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { EPersonDataService } from '../eperson/eperson-data.service'; import { GroupDataService } from '../eperson/group-data.service'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { CreateDataImpl } from '../data/base/create-data'; -import { SearchDataImpl } from '../data/base/search-data'; -import { PatchDataImpl } from '../data/base/patch-data'; -import { DeleteDataImpl } from '../data/base/delete-data'; -import { dataService } from '../data/base/data-service.decorator'; +import { Collection } from '../shared/collection.model'; +import { GenericConstructor } from '../shared/generic-constructor'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { NoContent } from '../shared/NoContent.model'; +import { getFirstCompletedRemoteData } from '../shared/operators'; +import { ActionType } from './models/action-type.model'; +import { ResourcePolicy } from './models/resource-policy.model'; +import { RESOURCE_POLICY } from './models/resource-policy.resource-type'; /** * A service responsible for fetching/sending data from/to the REST API on the resourcepolicies endpoint diff --git a/src/app/core/roles/role.service.ts b/src/app/core/roles/role.service.ts index 8822995151..2a135f8224 100644 --- a/src/app/core/roles/role.service.ts +++ b/src/app/core/roles/role.service.ts @@ -1,10 +1,12 @@ import { Injectable } from '@angular/core'; - -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { distinctUntilChanged } from 'rxjs/operators'; -import { RoleType } from './role-types'; import { CollectionDataService } from '../data/collection-data.service'; +import { RoleType } from './role-types'; /** * A service that provides methods to identify user role. diff --git a/src/app/core/router/router.actions.ts b/src/app/core/router/router.actions.ts index e4823536c6..e251895f39 100644 --- a/src/app/core/router/router.actions.ts +++ b/src/app/core/router/router.actions.ts @@ -1,5 +1,6 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { type } from '../../shared/ngrx/type'; /** diff --git a/src/app/core/router/router.effects.ts b/src/app/core/router/router.effects.ts index 824026edd6..cee1698b53 100644 --- a/src/app/core/router/router.effects.ts +++ b/src/app/core/router/router.effects.ts @@ -1,8 +1,20 @@ -import { filter, map, pairwise } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; -import { RouterNavigationAction, ROUTER_NAVIGATION } from '@ngrx/router-store'; import { Router } from '@angular/router'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { + ROUTER_NAVIGATION, + RouterNavigationAction, +} from '@ngrx/router-store'; +import { + filter, + map, + pairwise, +} from 'rxjs/operators'; + import { RouteUpdateAction } from './router.actions'; @Injectable() diff --git a/src/app/core/server-check/server-check.guard.spec.ts b/src/app/core/server-check/server-check.guard.spec.ts index e1e087cde2..41014d5e5b 100644 --- a/src/app/core/server-check/server-check.guard.spec.ts +++ b/src/app/core/server-check/server-check.guard.spec.ts @@ -1,11 +1,10 @@ -import { ServerCheckGuard } from './server-check.guard'; import { Router } from '@angular/router'; - import { of } from 'rxjs'; import { take } from 'rxjs/operators'; import { getPageInternalServerErrorRoute } from '../../app-routing-paths'; import { RootDataService } from '../data/root-data.service'; +import { ServerCheckGuard } from './server-check.guard'; import SpyObj = jasmine.SpyObj; describe('ServerCheckGuard', () => { diff --git a/src/app/core/server-check/server-check.guard.ts b/src/app/core/server-check/server-check.guard.ts index f39f9f10b8..070887759c 100644 --- a/src/app/core/server-check/server-check.guard.ts +++ b/src/app/core/server-check/server-check.guard.ts @@ -1,11 +1,18 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router'; - +import { + ActivatedRouteSnapshot, + CanActivateChild, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { take, tap } from 'rxjs/operators'; +import { + take, + tap, +} from 'rxjs/operators'; -import { RootDataService } from '../data/root-data.service'; import { getPageInternalServerErrorRoute } from '../../app-routing-paths'; +import { RootDataService } from '../data/root-data.service'; @Injectable({ providedIn: 'root', diff --git a/src/app/core/services/browser-hard-redirect.service.spec.ts b/src/app/core/services/browser-hard-redirect.service.spec.ts index cb07456a70..859bfdc8aa 100644 --- a/src/app/core/services/browser-hard-redirect.service.spec.ts +++ b/src/app/core/services/browser-hard-redirect.service.spec.ts @@ -1,4 +1,5 @@ import { TestBed } from '@angular/core/testing'; + import { BrowserHardRedirectService } from './browser-hard-redirect.service'; describe('BrowserHardRedirectService', () => { diff --git a/src/app/core/services/browser-hard-redirect.service.ts b/src/app/core/services/browser-hard-redirect.service.ts index 4ef9548899..35e4a4d075 100644 --- a/src/app/core/services/browser-hard-redirect.service.ts +++ b/src/app/core/services/browser-hard-redirect.service.ts @@ -1,4 +1,9 @@ -import { Inject, Injectable, InjectionToken } from '@angular/core'; +import { + Inject, + Injectable, + InjectionToken, +} from '@angular/core'; + import { HardRedirectService } from './hard-redirect.service'; export const LocationToken = new InjectionToken('Location'); diff --git a/src/app/core/services/browser.referrer.service.spec.ts b/src/app/core/services/browser.referrer.service.spec.ts index 155c2be45b..90ce43c995 100644 --- a/src/app/core/services/browser.referrer.service.spec.ts +++ b/src/app/core/services/browser.referrer.service.spec.ts @@ -1,6 +1,7 @@ import { of as observableOf } from 'rxjs'; -import { RouteService } from './route.service'; + import { BrowserReferrerService } from './browser.referrer.service'; +import { RouteService } from './route.service'; describe(`BrowserReferrerService`, () => { let service: BrowserReferrerService; diff --git a/src/app/core/services/browser.referrer.service.ts b/src/app/core/services/browser.referrer.service.ts index 7a796263d8..fd2d3d5efd 100644 --- a/src/app/core/services/browser.referrer.service.ts +++ b/src/app/core/services/browser.referrer.service.ts @@ -1,11 +1,15 @@ -import { ReferrerService } from './referrer.service'; +import { DOCUMENT } from '@angular/common'; +import { + Inject, + Injectable, +} from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; + import { hasNoValue } from '../../shared/empty.util'; import { URLCombiner } from '../url-combiner/url-combiner'; -import { Inject, Injectable } from '@angular/core'; -import { DOCUMENT } from '@angular/common'; import { HardRedirectService } from './hard-redirect.service'; +import { ReferrerService } from './referrer.service'; import { RouteService } from './route.service'; /** diff --git a/src/app/core/services/client-cookie.service.ts b/src/app/core/services/client-cookie.service.ts index 9e0bfacba7..e187e3352b 100644 --- a/src/app/core/services/client-cookie.service.ts +++ b/src/app/core/services/client-cookie.service.ts @@ -1,6 +1,15 @@ import { Injectable } from '@angular/core'; -import { CookieAttributes, getJSON, remove, set } from 'js-cookie'; -import { CookieService, ICookieService } from './cookie.service'; +import { + CookieAttributes, + getJSON, + remove, + set, +} from 'js-cookie'; + +import { + CookieService, + ICookieService, +} from './cookie.service'; @Injectable() export class ClientCookieService extends CookieService implements ICookieService { diff --git a/src/app/core/services/cookie.service.spec.ts b/src/app/core/services/cookie.service.spec.ts index dffda9c0d9..b8f949b9f1 100644 --- a/src/app/core/services/cookie.service.spec.ts +++ b/src/app/core/services/cookie.service.spec.ts @@ -1,7 +1,14 @@ -import { CookieService, ICookieService } from './cookie.service'; -import { TestBed, waitForAsync } from '@angular/core/testing'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { REQUEST } from '@nguniversal/express-engine/tokens'; +import { + CookieService, + ICookieService, +} from './cookie.service'; + describe(CookieService.name, () => { let service: ICookieService; diff --git a/src/app/core/services/cookie.service.ts b/src/app/core/services/cookie.service.ts index 0098e3ace4..d26112418c 100644 --- a/src/app/core/services/cookie.service.ts +++ b/src/app/core/services/cookie.service.ts @@ -1,9 +1,13 @@ -import { Inject, Injectable } from '@angular/core'; - +import { + Inject, + Injectable, +} from '@angular/core'; import { REQUEST } from '@nguniversal/express-engine/tokens'; - -import { Subject , Observable } from 'rxjs'; import { CookieAttributes } from 'js-cookie'; +import { + Observable, + Subject, +} from 'rxjs'; export interface ICookieService { readonly cookies$: Observable<{ readonly [key: string]: any }>; diff --git a/src/app/core/services/link-head.service.spec.ts b/src/app/core/services/link-head.service.spec.ts index 4db37b592f..fd240db4d9 100644 --- a/src/app/core/services/link-head.service.spec.ts +++ b/src/app/core/services/link-head.service.spec.ts @@ -1,7 +1,14 @@ import { DOCUMENT } from '@angular/common'; -import { Renderer2, RendererFactory2 } from '@angular/core'; -import { TestBed, waitForAsync } from '@angular/core/testing'; +import { + Renderer2, + RendererFactory2, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { MockProvider } from 'ng-mocks'; + import { LinkHeadService } from './link-head.service'; describe('LinkHeadService', () => { diff --git a/src/app/core/services/link-head.service.ts b/src/app/core/services/link-head.service.ts index 7d2a9df07d..29a8dfcbd5 100644 --- a/src/app/core/services/link-head.service.ts +++ b/src/app/core/services/link-head.service.ts @@ -1,5 +1,10 @@ -import { Injectable, RendererFactory2, ViewEncapsulation, Inject } from '@angular/core'; import { DOCUMENT } from '@angular/common'; +import { + Inject, + Injectable, + RendererFactory2, + ViewEncapsulation, +} from '@angular/core'; /** * LinkHead Service injects tag into the head element during runtime. diff --git a/src/app/core/services/route.actions.ts b/src/app/core/services/route.actions.ts index 87fe0a5c5f..3f64b9dba4 100644 --- a/src/app/core/services/route.actions.ts +++ b/src/app/core/services/route.actions.ts @@ -1,7 +1,8 @@ /* eslint-disable max-classes-per-file */ -import { Action } from '@ngrx/store'; -import { type } from '../../shared/ngrx/type'; import { Params } from '@angular/router'; +import { Action } from '@ngrx/store'; + +import { type } from '../../shared/ngrx/type'; /** * The list of HrefIndexAction type definitions diff --git a/src/app/core/services/route.effects.ts b/src/app/core/services/route.effects.ts index af65a553e1..bccf0d2aeb 100644 --- a/src/app/core/services/route.effects.ts +++ b/src/app/core/services/route.effects.ts @@ -1,8 +1,19 @@ -import { map, tap } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; -import { ResetRouteStateAction, RouteActionTypes } from './route.actions'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { + map, + tap, +} from 'rxjs/operators'; + import { RouterActionTypes } from '../router/router.actions'; +import { + ResetRouteStateAction, + RouteActionTypes, +} from './route.actions'; import { RouteService } from './route.service'; @Injectable() diff --git a/src/app/core/services/route.reducer.ts b/src/app/core/services/route.reducer.ts index fd58cf2950..60bf7a4b19 100644 --- a/src/app/core/services/route.reducer.ts +++ b/src/app/core/services/route.reducer.ts @@ -1,4 +1,6 @@ import { Params } from '@angular/router'; + +import { isNotEmpty } from '../../shared/empty.util'; import { AddParameterAction, AddQueryParameterAction, @@ -9,7 +11,6 @@ import { SetQueryParameterAction, SetQueryParametersAction, } from './route.actions'; -import { isNotEmpty } from '../../shared/empty.util'; /** * Interface to represent the parameter state of a current route in the store diff --git a/src/app/core/services/route.service.spec.ts b/src/app/core/services/route.service.spec.ts index 127d80a70f..7d2b3c1169 100644 --- a/src/app/core/services/route.service.spec.ts +++ b/src/app/core/services/route.service.spec.ts @@ -1,14 +1,25 @@ -import { ActivatedRoute, convertToParamMap, NavigationEnd, Params, Router } from '@angular/router'; -import { TestBed, waitForAsync } from '@angular/core/testing'; - -import { of as observableOf } from 'rxjs'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + convertToParamMap, + NavigationEnd, + Params, + Router, +} from '@angular/router'; import { Store } from '@ngrx/store'; -import { getTestScheduler, hot } from 'jasmine-marbles'; - -import { RouteService } from './route.service'; -import { RouterMock } from '../../shared/mocks/router.mock'; +import { + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + +import { RouterMock } from '../../shared/mocks/router.mock'; import { AddUrlToHistoryAction } from '../history/history.actions'; +import { RouteService } from './route.service'; describe('RouteService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/services/route.service.ts b/src/app/core/services/route.service.ts index da533762de..6564da0382 100644 --- a/src/app/core/services/route.service.ts +++ b/src/app/core/services/route.service.ts @@ -1,17 +1,41 @@ -import { distinctUntilChanged, filter, map, take } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { ActivatedRoute, NavigationEnd, Params, Router, RouterStateSnapshot } from '@angular/router'; - -import { combineLatest, Observable } from 'rxjs'; -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; +import { + ActivatedRoute, + NavigationEnd, + Params, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; import isEqual from 'lodash/isEqual'; +import { + combineLatest, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + take, +} from 'rxjs/operators'; -import { AddParameterAction, SetParameterAction, SetParametersAction, SetQueryParameterAction, SetQueryParametersAction } from './route.actions'; -import { coreSelector } from '../core.selectors'; import { hasValue } from '../../shared/empty.util'; -import { historySelector } from '../history/selectors'; -import { AddUrlToHistoryAction } from '../history/history.actions'; +import { coreSelector } from '../core.selectors'; import { CoreState } from '../core-state.model'; +import { AddUrlToHistoryAction } from '../history/history.actions'; +import { historySelector } from '../history/selectors'; +import { + AddParameterAction, + SetParameterAction, + SetParametersAction, + SetQueryParameterAction, + SetQueryParametersAction, +} from './route.actions'; /** * Selector to select all route parameters from the store diff --git a/src/app/core/services/server-cookie.service.ts b/src/app/core/services/server-cookie.service.ts index 6ae3525c74..e0f38d026c 100644 --- a/src/app/core/services/server-cookie.service.ts +++ b/src/app/core/services/server-cookie.service.ts @@ -1,6 +1,10 @@ import { Injectable } from '@angular/core'; import { CookieAttributes } from 'js-cookie'; -import { CookieService, ICookieService } from './cookie.service'; + +import { + CookieService, + ICookieService, +} from './cookie.service'; @Injectable() export class ServerCookieService extends CookieService implements ICookieService { diff --git a/src/app/core/services/server-hard-redirect.service.spec.ts b/src/app/core/services/server-hard-redirect.service.spec.ts index 6bd5828921..27777ed7ba 100644 --- a/src/app/core/services/server-hard-redirect.service.spec.ts +++ b/src/app/core/services/server-hard-redirect.service.spec.ts @@ -1,4 +1,5 @@ import { TestBed } from '@angular/core/testing'; + import { ServerHardRedirectService } from './server-hard-redirect.service'; describe('ServerHardRedirectService', () => { diff --git a/src/app/core/services/server-hard-redirect.service.ts b/src/app/core/services/server-hard-redirect.service.ts index 8c45cc864b..958aea5bbf 100644 --- a/src/app/core/services/server-hard-redirect.service.ts +++ b/src/app/core/services/server-hard-redirect.service.ts @@ -1,6 +1,16 @@ -import { Inject, Injectable } from '@angular/core'; -import { Request, Response } from 'express'; -import { REQUEST, RESPONSE } from '@nguniversal/express-engine/tokens'; +import { + Inject, + Injectable, +} from '@angular/core'; +import { + REQUEST, + RESPONSE, +} from '@nguniversal/express-engine/tokens'; +import { + Request, + Response, +} from 'express'; + import { HardRedirectService } from './hard-redirect.service'; /** diff --git a/src/app/core/services/server-response.service.ts b/src/app/core/services/server-response.service.ts index 0b193d536c..29b9d73e9c 100644 --- a/src/app/core/services/server-response.service.ts +++ b/src/app/core/services/server-response.service.ts @@ -1,6 +1,9 @@ +import { + Inject, + Injectable, + Optional, +} from '@angular/core'; import { RESPONSE } from '@nguniversal/express-engine/tokens'; -import { Inject, Injectable, Optional } from '@angular/core'; - import { Response } from 'express'; /** diff --git a/src/app/core/services/server-xhr.service.ts b/src/app/core/services/server-xhr.service.ts index 2bd25b6f03..e4c50c24ea 100644 --- a/src/app/core/services/server-xhr.service.ts +++ b/src/app/core/services/server-xhr.service.ts @@ -8,9 +8,15 @@ import { XhrFactory } from '@angular/common'; import { Injectable } from '@angular/core'; -import { Agent as HttpAgent, AgentOptions as HttpAgentOptions } from 'http'; +import { + Agent as HttpAgent, + AgentOptions as HttpAgentOptions, +} from 'http'; import { Agent as HttpsAgent } from 'https'; -import { prototype, XMLHttpRequest } from 'xhr2'; +import { + prototype, + XMLHttpRequest, +} from 'xhr2'; /** * Allow HTTP sessions to be kept alive. diff --git a/src/app/core/services/server.referrer.service.ts b/src/app/core/services/server.referrer.service.ts index b2f063a07c..4851c5fed8 100644 --- a/src/app/core/services/server.referrer.service.ts +++ b/src/app/core/services/server.referrer.service.ts @@ -1,7 +1,14 @@ -import { ReferrerService } from './referrer.service'; -import { Observable, of as observableOf } from 'rxjs'; -import { Inject, Injectable } from '@angular/core'; +import { + Inject, + Injectable, +} from '@angular/core'; import { REQUEST } from '@nguniversal/express-engine/tokens'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { ReferrerService } from './referrer.service'; /** * A service to determine the referrer diff --git a/src/app/core/shared/authorization.model.ts b/src/app/core/shared/authorization.model.ts index 2cb195562b..0031b054f6 100644 --- a/src/app/core/shared/authorization.model.ts +++ b/src/app/core/shared/authorization.model.ts @@ -1,14 +1,22 @@ -import { link, typedObject } from '../cache/builders/build-decorators'; -import { AUTHORIZATION } from './authorization.resource-type'; -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; -import { HALLink } from './hal-link.model'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; import { RemoteData } from '../data/remote-data'; import { EPerson } from '../eperson/models/eperson.model'; import { EPERSON } from '../eperson/models/eperson.resource-type'; -import { FEATURE } from './feature.resource-type'; +import { AUTHORIZATION } from './authorization.resource-type'; import { DSpaceObject } from './dspace-object.model'; import { Feature } from './feature.model'; +import { FEATURE } from './feature.resource-type'; +import { HALLink } from './hal-link.model'; import { ITEM } from './item.resource-type'; /** diff --git a/src/app/core/shared/authorized.operators.ts b/src/app/core/shared/authorized.operators.ts index b0517e57ad..6700011347 100644 --- a/src/app/core/shared/authorized.operators.ts +++ b/src/app/core/shared/authorized.operators.ts @@ -1,11 +1,25 @@ -import { Router, UrlTree } from '@angular/router'; -import { AuthService } from '../auth/auth.service'; -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { filter, map, withLatestFrom } from 'rxjs/operators'; import { InjectionToken } from '@angular/core'; -import { RemoteData } from '../data/remote-data'; +import { + Router, + UrlTree, +} from '@angular/router'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + filter, + map, + withLatestFrom, +} from 'rxjs/operators'; + +import { + getForbiddenRoute, + getPageNotFoundRoute, +} from '../../app-routing-paths'; import { getEndUserAgreementPath } from '../../info/info-routing-paths'; -import { getForbiddenRoute, getPageNotFoundRoute } from '../../app-routing-paths'; +import { AuthService } from '../auth/auth.service'; +import { RemoteData } from '../data/remote-data'; export const REDIRECT_ON_4XX = new InjectionToken<(router: Router, authService: AuthService) => (source: Observable>) => Observable>>('redirectOn4xx', { providedIn: 'root', diff --git a/src/app/core/shared/bitstream-format.model.ts b/src/app/core/shared/bitstream-format.model.ts index fd501d2946..354edb4cbd 100644 --- a/src/app/core/shared/bitstream-format.model.ts +++ b/src/app/core/shared/bitstream-format.model.ts @@ -1,12 +1,17 @@ -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; +import { CacheableObject } from '../cache/cacheable-object.model'; import { IDToUUIDSerializer } from '../cache/id-to-uuid-serializer'; import { excludeFromEquals } from '../utilities/equals.decorators'; -import { BitstreamFormatSupportLevel } from './bitstream-format-support-level'; import { BITSTREAM_FORMAT } from './bitstream-format.resource-type'; +import { BitstreamFormatSupportLevel } from './bitstream-format-support-level'; import { HALLink } from './hal-link.model'; import { ResourceType } from './resource-type'; -import { CacheableObject } from '../cache/cacheable-object.model'; /** * Model class for a Bitstream Format diff --git a/src/app/core/shared/bitstream.model.ts b/src/app/core/shared/bitstream.model.ts index 50a00b74c4..64c94b90f3 100644 --- a/src/app/core/shared/bitstream.model.ts +++ b/src/app/core/shared/bitstream.model.ts @@ -1,15 +1,23 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../cache/builders/build-decorators'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; import { RemoteData } from '../data/remote-data'; +import { BITSTREAM } from './bitstream.resource-type'; import { BitstreamFormat } from './bitstream-format.model'; import { BITSTREAM_FORMAT } from './bitstream-format.resource-type'; -import { BITSTREAM } from './bitstream.resource-type'; +import {Bundle} from './bundle.model'; +import {BUNDLE} from './bundle.resource-type'; +import { ChildHALResource } from './child-hal-resource.model'; import { DSpaceObject } from './dspace-object.model'; import { HALLink } from './hal-link.model'; -import {BUNDLE} from './bundle.resource-type'; -import {Bundle} from './bundle.model'; -import { ChildHALResource } from './child-hal-resource.model'; @typedObject @inheritSerialization(DSpaceObject) diff --git a/src/app/core/shared/bitstream.operators.ts b/src/app/core/shared/bitstream.operators.ts index fd8d288702..c62def49b2 100644 --- a/src/app/core/shared/bitstream.operators.ts +++ b/src/app/core/shared/bitstream.operators.ts @@ -1,9 +1,16 @@ -import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; -import { Observable, of as observableOf } from 'rxjs'; -import { Bitstream } from './bitstream.model'; -import { map, switchMap } from 'rxjs/operators'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { hasValue } from '../../shared/empty.util'; +import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service'; import { FeatureID } from '../data/feature-authorization/feature-id'; +import { Bitstream } from './bitstream.model'; /** * Operator to check if the given bitstream is downloadable diff --git a/src/app/core/shared/browse-definition.model.ts b/src/app/core/shared/browse-definition.model.ts index 1e3a15ccaf..32c7a83538 100644 --- a/src/app/core/shared/browse-definition.model.ts +++ b/src/app/core/shared/browse-definition.model.ts @@ -1,4 +1,5 @@ import { autoserialize } from 'cerialize'; + import { CacheableObject } from '../cache/cacheable-object.model'; /** diff --git a/src/app/core/shared/browse-entry.model.ts b/src/app/core/shared/browse-entry.model.ts index d74808bcf0..03e3ab3f5b 100644 --- a/src/app/core/shared/browse-entry.model.ts +++ b/src/app/core/shared/browse-entry.model.ts @@ -1,12 +1,17 @@ -import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, +} from 'cerialize'; + import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { typedObject } from '../cache/builders/build-decorators'; +import { TypedObject } from '../cache/typed-object.model'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { BROWSE_ENTRY } from './browse-entry.resource-type'; import { GenericConstructor } from './generic-constructor'; import { HALLink } from './hal-link.model'; import { ResourceType } from './resource-type'; -import { TypedObject } from '../cache/typed-object.model'; /** * Class object representing a browse entry diff --git a/src/app/core/shared/bundle.model.ts b/src/app/core/shared/bundle.model.ts index c78a4d7414..e5b92799d4 100644 --- a/src/app/core/shared/bundle.model.ts +++ b/src/app/core/shared/bundle.model.ts @@ -1,17 +1,22 @@ -import { deserialize, inheritSerialization } from 'cerialize'; - +import { + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../cache/builders/build-decorators'; +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { Bitstream } from './bitstream.model'; +import { BITSTREAM } from './bitstream.resource-type'; import { BUNDLE } from './bundle.resource-type'; import { DSpaceObject } from './dspace-object.model'; import { HALLink } from './hal-link.model'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { BITSTREAM } from './bitstream.resource-type'; -import { Bitstream } from './bitstream.model'; -import { ITEM } from './item.resource-type'; import { Item } from './item.model'; +import { ITEM } from './item.resource-type'; @typedObject @inheritSerialization(DSpaceObject) diff --git a/src/app/core/shared/collection.model.ts b/src/app/core/shared/collection.model.ts index 929d971a61..468b0ccc64 100644 --- a/src/app/core/shared/collection.model.ts +++ b/src/app/core/shared/collection.model.ts @@ -1,22 +1,30 @@ -import {autoserialize, deserialize, inheritSerialization} from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../cache/builders/build-decorators'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; -import { Bitstream } from './bitstream.model'; -import { BITSTREAM } from './bitstream.resource-type'; -import { COLLECTION } from './collection.resource-type'; -import { DSpaceObject } from './dspace-object.model'; -import { HALLink } from './hal-link.model'; -import { License } from './license.model'; -import { LICENSE } from './license.resource-type'; import { ResourcePolicy } from '../resource-policy/models/resource-policy.model'; import { RESOURCE_POLICY } from '../resource-policy/models/resource-policy.resource-type'; -import { COMMUNITY } from './community.resource-type'; -import { Community } from './community.model'; -import { ChildHALResource } from './child-hal-resource.model'; -import { HandleObject } from './handle-object.model'; import { excludeFromEquals } from '../utilities/equals.decorators'; +import { Bitstream } from './bitstream.model'; +import { BITSTREAM } from './bitstream.resource-type'; +import { ChildHALResource } from './child-hal-resource.model'; +import { COLLECTION } from './collection.resource-type'; +import { Community } from './community.model'; +import { COMMUNITY } from './community.resource-type'; +import { DSpaceObject } from './dspace-object.model'; +import { HALLink } from './hal-link.model'; +import { HandleObject } from './handle-object.model'; +import { License } from './license.model'; +import { LICENSE } from './license.resource-type'; @typedObject @inheritSerialization(DSpaceObject) diff --git a/src/app/core/shared/community.model.ts b/src/app/core/shared/community.model.ts index 6e9ad271a9..47e574530c 100644 --- a/src/app/core/shared/community.model.ts +++ b/src/app/core/shared/community.model.ts @@ -1,18 +1,26 @@ -import {autoserialize, deserialize, inheritSerialization} from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../cache/builders/build-decorators'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; +import {excludeFromEquals} from '../utilities/equals.decorators'; import { Bitstream } from './bitstream.model'; import { BITSTREAM } from './bitstream.resource-type'; +import { ChildHALResource } from './child-hal-resource.model'; import { Collection } from './collection.model'; import { COLLECTION } from './collection.resource-type'; import { COMMUNITY } from './community.resource-type'; import { DSpaceObject } from './dspace-object.model'; import { HALLink } from './hal-link.model'; -import { ChildHALResource } from './child-hal-resource.model'; import { HandleObject } from './handle-object.model'; -import {excludeFromEquals} from '../utilities/equals.decorators'; @typedObject @inheritSerialization(DSpaceObject) diff --git a/src/app/core/shared/configuration-property.model.ts b/src/app/core/shared/configuration-property.model.ts index 2cf62684e2..2b6ab606c9 100644 --- a/src/app/core/shared/configuration-property.model.ts +++ b/src/app/core/shared/configuration-property.model.ts @@ -1,10 +1,15 @@ -import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; +import { CacheableObject } from '../cache/cacheable-object.model'; import { excludeFromEquals } from '../utilities/equals.decorators'; +import { CONFIG_PROPERTY } from './config-property.resource-type'; import { HALLink } from './hal-link.model'; import { ResourceType } from './resource-type'; -import { CONFIG_PROPERTY } from './config-property.resource-type'; -import { CacheableObject } from '../cache/cacheable-object.model'; /** * Model class for a Configuration Property diff --git a/src/app/core/shared/content-source.model.ts b/src/app/core/shared/content-source.model.ts index 85af216308..ee535191d0 100644 --- a/src/app/core/shared/content-source.model.ts +++ b/src/app/core/shared/content-source.model.ts @@ -1,12 +1,18 @@ -import { autoserializeAs, deserialize, deserializeAs, serializeAs } from 'cerialize'; +import { + autoserializeAs, + deserialize, + deserializeAs, + serializeAs, +} from 'cerialize'; + +import { typedObject } from '../cache/builders/build-decorators'; +import { CacheableObject } from '../cache/cacheable-object.model'; +import { excludeFromEquals } from '../utilities/equals.decorators'; +import { CONTENT_SOURCE } from './content-source.resource-type'; +import { ContentSourceSetSerializer } from './content-source-set-serializer'; import { HALLink } from './hal-link.model'; import { MetadataConfig } from './metadata-config.model'; -import { typedObject } from '../cache/builders/build-decorators'; -import { CONTENT_SOURCE } from './content-source.resource-type'; -import { excludeFromEquals } from '../utilities/equals.decorators'; import { ResourceType } from './resource-type'; -import { CacheableObject } from '../cache/cacheable-object.model'; -import { ContentSourceSetSerializer } from './content-source-set-serializer'; /** * The type of content harvesting used diff --git a/src/app/core/shared/dspace-object.model.ts b/src/app/core/shared/dspace-object.model.ts index c78aafc141..dc9b7f5fca 100644 --- a/src/app/core/shared/dspace-object.model.ts +++ b/src/app/core/shared/dspace-object.model.ts @@ -1,7 +1,18 @@ -import { autoserialize, autoserializeAs, deserialize, deserializeAs } from 'cerialize'; -import { hasNoValue, hasValue, isUndefined } from '../../shared/empty.util'; +import { + autoserialize, + autoserializeAs, + deserialize, + deserializeAs, +} from 'cerialize'; + +import { + hasNoValue, + hasValue, + isUndefined, +} from '../../shared/empty.util'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { typedObject } from '../cache/builders/build-decorators'; +import { CacheableObject } from '../cache/cacheable-object.model'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { DSPACE_OBJECT } from './dspace-object.resource-type'; import { GenericConstructor } from './generic-constructor'; @@ -15,7 +26,6 @@ import { } from './metadata.models'; import { Metadata } from './metadata.utils'; import { ResourceType } from './resource-type'; -import { CacheableObject } from '../cache/cacheable-object.model'; /** * An abstract model class for a DSpaceObject. diff --git a/src/app/core/shared/external-source-entry.model.ts b/src/app/core/shared/external-source-entry.model.ts index 5eb9ae92d8..d743a92310 100644 --- a/src/app/core/shared/external-source-entry.model.ts +++ b/src/app/core/shared/external-source-entry.model.ts @@ -1,11 +1,19 @@ -import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, +} from 'cerialize'; + import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { typedObject } from '../cache/builders/build-decorators'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { EXTERNAL_SOURCE_ENTRY } from './external-source-entry.resource-type'; import { GenericConstructor } from './generic-constructor'; import { HALLink } from './hal-link.model'; -import { MetadataMap, MetadataMapSerializer } from './metadata.models'; +import { + MetadataMap, + MetadataMapSerializer, +} from './metadata.models'; import { ResourceType } from './resource-type'; /** diff --git a/src/app/core/shared/external-source.model.ts b/src/app/core/shared/external-source.model.ts index 46c8ee1000..70766e0494 100644 --- a/src/app/core/shared/external-source.model.ts +++ b/src/app/core/shared/external-source.model.ts @@ -1,15 +1,22 @@ -import { autoserialize, deserialize } from 'cerialize'; -import { link, typedObject } from '../cache/builders/build-decorators'; +import { + autoserialize, + deserialize, +} from 'cerialize'; +import { Observable } from 'rxjs'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; +import { CacheableObject } from '../cache/cacheable-object.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { EXTERNAL_SOURCE } from './external-source.resource-type'; import { HALLink } from './hal-link.model'; -import { ResourceType } from './resource-type'; -import { CacheableObject } from '../cache/cacheable-object.model'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { Observable } from 'rxjs'; -import { ITEM_TYPE } from './item-relationships/item-type.resource-type'; import { ItemType } from './item-relationships/item-type.model'; +import { ITEM_TYPE } from './item-relationships/item-type.resource-type'; +import { ResourceType } from './resource-type'; /** * Model class for an external source diff --git a/src/app/core/shared/feature.model.ts b/src/app/core/shared/feature.model.ts index 07ca4920ad..270eb2de9d 100644 --- a/src/app/core/shared/feature.model.ts +++ b/src/app/core/shared/feature.model.ts @@ -1,7 +1,12 @@ +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; -import { FEATURE } from './feature.resource-type'; import { DSpaceObject } from './dspace-object.model'; +import { FEATURE } from './feature.resource-type'; import { HALLink } from './hal-link.model'; /** diff --git a/src/app/core/shared/file.service.ts b/src/app/core/shared/file.service.ts index d4a29b67d2..d2870294af 100644 --- a/src/app/core/shared/file.service.ts +++ b/src/app/core/shared/file.service.ts @@ -1,11 +1,21 @@ -import { Inject, Injectable } from '@angular/core'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; -import { AuthService } from '../auth/auth.service'; -import { map, take } from 'rxjs/operators'; -import { NativeWindowRef, NativeWindowService } from '../services/window.service'; -import { URLCombiner } from '../url-combiner/url-combiner'; -import { hasValue } from '../../shared/empty.util'; +import { + Inject, + Injectable, +} from '@angular/core'; import { Observable } from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; + +import { hasValue } from '../../shared/empty.util'; +import { AuthService } from '../auth/auth.service'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; +import { + NativeWindowRef, + NativeWindowService, +} from '../services/window.service'; +import { URLCombiner } from '../url-combiner/url-combiner'; /** * Provides utility methods to save files on the client-side. diff --git a/src/app/core/shared/flat-browse-definition.model.ts b/src/app/core/shared/flat-browse-definition.model.ts index 6e5d09b6ec..126c6426ff 100644 --- a/src/app/core/shared/flat-browse-definition.model.ts +++ b/src/app/core/shared/flat-browse-definition.model.ts @@ -1,10 +1,14 @@ -import { inheritSerialization, deserialize } from 'cerialize'; +import { + deserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { FLAT_BROWSE_DEFINITION } from './flat-browse-definition.resource-type'; -import { ResourceType } from './resource-type'; -import { NonHierarchicalBrowseDefinition } from './non-hierarchical-browse-definition'; import { HALLink } from './hal-link.model'; +import { NonHierarchicalBrowseDefinition } from './non-hierarchical-browse-definition'; +import { ResourceType } from './resource-type'; /** * BrowseDefinition model for browses of type 'flatBrowse' diff --git a/src/app/core/shared/hal-endpoint.service.spec.ts b/src/app/core/shared/hal-endpoint.service.spec.ts index 2c2dc6b0b8..b797554cfc 100644 --- a/src/app/core/shared/hal-endpoint.service.spec.ts +++ b/src/app/core/shared/hal-endpoint.service.spec.ts @@ -1,12 +1,19 @@ -import { cold, hot } from 'jasmine-marbles'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { + combineLatest as observableCombineLatest, + of as observableOf, +} from 'rxjs'; + +import { environment } from '../../../environments/environment'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { EndpointMapRequest } from '../data/request.models'; import { RequestService } from '../data/request.service'; import { HALEndpointService } from './hal-endpoint.service'; -import { EndpointMapRequest } from '../data/request.models'; -import { combineLatest as observableCombineLatest, of as observableOf } from 'rxjs'; -import { environment } from '../../../environments/environment'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; describe('HALEndpointService', () => { let service: HALEndpointService; diff --git a/src/app/core/shared/hal-endpoint.service.ts b/src/app/core/shared/hal-endpoint.service.ts index 206141c7b7..bc45bfb152 100644 --- a/src/app/core/shared/hal-endpoint.service.ts +++ b/src/app/core/shared/hal-endpoint.service.ts @@ -1,14 +1,25 @@ -import { Observable } from 'rxjs'; -import { distinctUntilChanged, map, startWith, switchMap, take } from 'rxjs/operators'; -import { RequestService } from '../data/request.service'; -import { EndpointMapRequest } from '../data/request.models'; -import { hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { RESTURLCombiner } from '../url-combiner/rest-url-combiner'; import { Injectable } from '@angular/core'; -import { EndpointMap } from '../cache/response.models'; -import { getFirstCompletedRemoteData } from './operators'; +import { Observable } from 'rxjs'; +import { + distinctUntilChanged, + map, + startWith, + switchMap, + take, +} from 'rxjs/operators'; + +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { EndpointMap } from '../cache/response.models'; import { RemoteData } from '../data/remote-data'; +import { EndpointMapRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { RESTURLCombiner } from '../url-combiner/rest-url-combiner'; +import { getFirstCompletedRemoteData } from './operators'; import { UnCacheableObject } from './uncacheable-object.model'; @Injectable() diff --git a/src/app/core/shared/hal-resource.model.ts b/src/app/core/shared/hal-resource.model.ts index 92abe6090b..5f9d107a54 100644 --- a/src/app/core/shared/hal-resource.model.ts +++ b/src/app/core/shared/hal-resource.model.ts @@ -1,6 +1,7 @@ -import { HALLink } from './hal-link.model'; import { deserialize } from 'cerialize'; +import { HALLink } from './hal-link.model'; + /** * Represents HAL resources. * diff --git a/src/app/core/shared/hierarchical-browse-definition.model.ts b/src/app/core/shared/hierarchical-browse-definition.model.ts index b6592573c7..54b37d1e4e 100644 --- a/src/app/core/shared/hierarchical-browse-definition.model.ts +++ b/src/app/core/shared/hierarchical-browse-definition.model.ts @@ -1,10 +1,16 @@ -import { autoserialize, autoserializeAs, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; import { excludeFromEquals } from '../utilities/equals.decorators'; -import { HIERARCHICAL_BROWSE_DEFINITION } from './hierarchical-browse-definition.resource-type'; -import { HALLink } from './hal-link.model'; -import { ResourceType } from './resource-type'; import { BrowseDefinition } from './browse-definition.model'; +import { HALLink } from './hal-link.model'; +import { HIERARCHICAL_BROWSE_DEFINITION } from './hierarchical-browse-definition.resource-type'; +import { ResourceType } from './resource-type'; /** * BrowseDefinition model for browses of type 'hierarchicalBrowse' diff --git a/src/app/core/shared/item-relationships/item-type.model.ts b/src/app/core/shared/item-relationships/item-type.model.ts index 6fe4c1f422..1d8ca6df98 100644 --- a/src/app/core/shared/item-relationships/item-type.model.ts +++ b/src/app/core/shared/item-relationships/item-type.model.ts @@ -1,11 +1,16 @@ -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { excludeFromEquals } from '../../utilities/equals.decorators'; import { HALLink } from '../hal-link.model'; import { ResourceType } from '../resource-type'; import { ITEM_TYPE } from './item-type.resource-type'; -import { CacheableObject } from '../../cache/cacheable-object.model'; /** * Describes a type of Item diff --git a/src/app/core/shared/item-relationships/relationship-type.model.ts b/src/app/core/shared/item-relationships/relationship-type.model.ts index 51758a208c..75d5d70af6 100644 --- a/src/app/core/shared/item-relationships/relationship-type.model.ts +++ b/src/app/core/shared/item-relationships/relationship-type.model.ts @@ -1,6 +1,15 @@ -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../../cache/builders/build-decorators'; + +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { RemoteData } from '../../data/remote-data'; import { excludeFromEquals } from '../../utilities/equals.decorators'; @@ -9,7 +18,6 @@ import { ResourceType } from '../resource-type'; import { ItemType } from './item-type.model'; import { ITEM_TYPE } from './item-type.resource-type'; import { RELATIONSHIP_TYPE } from './relationship-type.resource-type'; -import { CacheableObject } from '../../cache/cacheable-object.model'; /** * Describes a type of Relationship between multiple possible Items diff --git a/src/app/core/shared/item-relationships/relationship.model.ts b/src/app/core/shared/item-relationships/relationship.model.ts index 8e631f4c7f..4f6fe2796d 100644 --- a/src/app/core/shared/item-relationships/relationship.model.ts +++ b/src/app/core/shared/item-relationships/relationship.model.ts @@ -1,6 +1,15 @@ -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../../cache/builders/build-decorators'; + +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { RemoteData } from '../../data/remote-data'; import { excludeFromEquals } from '../../utilities/equals.decorators'; @@ -8,10 +17,9 @@ import { HALLink } from '../hal-link.model'; import { Item } from '../item.model'; import { ITEM } from '../item.resource-type'; import { ResourceType } from '../resource-type'; +import { RELATIONSHIP } from './relationship.resource-type'; import { RelationshipType } from './relationship-type.model'; import { RELATIONSHIP_TYPE } from './relationship-type.resource-type'; -import { RELATIONSHIP } from './relationship.resource-type'; -import { CacheableObject } from '../../cache/cacheable-object.model'; /** * Describes a Relationship between two Items diff --git a/src/app/core/shared/item-request.model.ts b/src/app/core/shared/item-request.model.ts index 9965d1f67e..8b1ef94512 100644 --- a/src/app/core/shared/item-request.model.ts +++ b/src/app/core/shared/item-request.model.ts @@ -1,10 +1,14 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; -import { excludeFromEquals } from '../utilities/equals.decorators'; -import { ResourceType } from './resource-type'; -import { ITEM_REQUEST } from './item-request.resource-type'; -import { HALLink } from './hal-link.model'; import { CacheableObject } from '../cache/cacheable-object.model'; +import { excludeFromEquals } from '../utilities/equals.decorators'; +import { HALLink } from './hal-link.model'; +import { ITEM_REQUEST } from './item-request.resource-type'; +import { ResourceType } from './resource-type'; /** * Model class for an ItemRequest diff --git a/src/app/core/shared/item.model.spec.ts b/src/app/core/shared/item.model.spec.ts index 8298c9aacb..dc2eb6b610 100644 --- a/src/app/core/shared/item.model.spec.ts +++ b/src/app/core/shared/item.model.spec.ts @@ -1,6 +1,5 @@ import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { createPaginatedList } from '../../shared/testing/utils.test'; - import { Item } from './item.model'; describe('Item', () => { diff --git a/src/app/core/shared/item.model.ts b/src/app/core/shared/item.model.ts index fcfc6be026..33a9f3bb38 100644 --- a/src/app/core/shared/item.model.ts +++ b/src/app/core/shared/item.model.ts @@ -1,31 +1,40 @@ -import { autoserialize, autoserializeAs, deserialize, deserializeAs, inheritSerialization } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, + deserializeAs, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; +import { AccessStatusObject } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model'; +import { ACCESS_STATUS } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.resource-type'; + import { isEmpty } from '../../shared/empty.util'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; -import { link, typedObject } from '../cache/builders/build-decorators'; +import { IdentifierData } from '../../shared/object-list/identifier-data/identifier-data.model'; +import { IDENTIFIERS } from '../../shared/object-list/identifier-data/identifier-data.resource-type'; +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; +import { Bitstream } from './bitstream.model'; +import { BITSTREAM } from './bitstream.resource-type'; import { Bundle } from './bundle.model'; import { BUNDLE } from './bundle.resource-type'; +import { ChildHALResource } from './child-hal-resource.model'; import { Collection } from './collection.model'; import { COLLECTION } from './collection.resource-type'; - import { DSpaceObject } from './dspace-object.model'; import { GenericConstructor } from './generic-constructor'; import { HALLink } from './hal-link.model'; +import { HandleObject } from './handle-object.model'; +import { ITEM } from './item.resource-type'; import { Relationship } from './item-relationships/relationship.model'; import { RELATIONSHIP } from './item-relationships/relationship.resource-type'; -import { ITEM } from './item.resource-type'; -import { ChildHALResource } from './child-hal-resource.model'; import { Version } from './version.model'; import { VERSION } from './version.resource-type'; -import { BITSTREAM } from './bitstream.resource-type'; -import { Bitstream } from './bitstream.model'; -import { ACCESS_STATUS } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.resource-type'; -import { AccessStatusObject } from 'src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model'; -import { HandleObject } from './handle-object.model'; -import { IDENTIFIERS } from '../../shared/object-list/identifier-data/identifier-data.resource-type'; -import { IdentifierData } from '../../shared/object-list/identifier-data/identifier-data.model'; /** * Class representing a DSpace Item diff --git a/src/app/core/shared/license.model.ts b/src/app/core/shared/license.model.ts index 324aaca4b4..af85c31eea 100644 --- a/src/app/core/shared/license.model.ts +++ b/src/app/core/shared/license.model.ts @@ -1,4 +1,8 @@ -import { autoserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; import { DSpaceObject } from './dspace-object.model'; import { LICENSE } from './license.resource-type'; diff --git a/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.spec.ts b/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.spec.ts index 81901bdcff..a580d7b654 100644 --- a/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.spec.ts +++ b/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.spec.ts @@ -1,7 +1,7 @@ -import { MetadataRepresentationType } from '../metadata-representation.model'; -import { ItemMetadataRepresentation } from './item-metadata-representation.model'; import { Item } from '../../item.model'; import { MetadataValue } from '../../metadata.models'; +import { MetadataRepresentationType } from '../metadata-representation.model'; +import { ItemMetadataRepresentation } from './item-metadata-representation.model'; describe('ItemMetadataRepresentation', () => { const valuePrefix = 'Test value for '; diff --git a/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.ts b/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.ts index 8c50e0b597..9ccece13f2 100644 --- a/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.ts +++ b/src/app/core/shared/metadata-representation/item/item-metadata-representation.model.ts @@ -1,6 +1,9 @@ import { Item } from '../../item.model'; -import { MetadataRepresentation, MetadataRepresentationType } from '../metadata-representation.model'; import { MetadataValue } from '../../metadata.models'; +import { + MetadataRepresentation, + MetadataRepresentationType, +} from '../metadata-representation.model'; /** * This class determines which fields to use when rendering an Item as a metadata value. diff --git a/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.spec.ts b/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.spec.ts index 71fbef7f5c..b81753b1a0 100644 --- a/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.spec.ts +++ b/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.spec.ts @@ -1,6 +1,6 @@ -import { MetadatumRepresentation } from './metadatum-representation.model'; -import { MetadataRepresentationType } from '../metadata-representation.model'; import { MetadataValue } from '../../metadata.models'; +import { MetadataRepresentationType } from '../metadata-representation.model'; +import { MetadatumRepresentation } from './metadatum-representation.model'; describe('MetadatumRepresentation', () => { const itemType = 'Person'; diff --git a/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.ts b/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.ts index a09de12ae4..9ca24edd57 100644 --- a/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.ts +++ b/src/app/core/shared/metadata-representation/metadatum/metadatum-representation.model.ts @@ -1,7 +1,10 @@ -import { MetadataRepresentation, MetadataRepresentationType } from '../metadata-representation.model'; import { hasValue } from '../../../../shared/empty.util'; -import { MetadataValue } from '../../metadata.models'; import { BrowseDefinition } from '../../browse-definition.model'; +import { MetadataValue } from '../../metadata.models'; +import { + MetadataRepresentation, + MetadataRepresentationType, +} from '../metadata-representation.model'; /** * This class defines the way the metadatum it extends should be represented diff --git a/src/app/core/shared/metadata.models.ts b/src/app/core/shared/metadata.models.ts index e3c94a017f..4ba78e39f7 100644 --- a/src/app/core/shared/metadata.models.ts +++ b/src/app/core/shared/metadata.models.ts @@ -1,6 +1,11 @@ /* eslint-disable max-classes-per-file */ +import { + autoserialize, + Deserialize, + Serialize, +} from 'cerialize'; import { v4 as uuidv4 } from 'uuid'; -import { autoserialize, Serialize, Deserialize } from 'cerialize'; + import { hasValue } from '../../shared/empty.util'; export const VIRTUAL_METADATA_PREFIX = 'virtual::'; diff --git a/src/app/core/shared/metadata.utils.spec.ts b/src/app/core/shared/metadata.utils.spec.ts index c920a80dd8..2ba96201b0 100644 --- a/src/app/core/shared/metadata.utils.spec.ts +++ b/src/app/core/shared/metadata.utils.spec.ts @@ -1,6 +1,12 @@ -import { isUndefined } from '../../shared/empty.util'; import { v4 as uuidv4 } from 'uuid'; -import { MetadataMap, MetadataValue, MetadataValueFilter, MetadatumViewModel } from './metadata.models'; + +import { isUndefined } from '../../shared/empty.util'; +import { + MetadataMap, + MetadataValue, + MetadataValueFilter, + MetadatumViewModel, +} from './metadata.models'; import { Metadata } from './metadata.utils'; const mdValue = (value: string, language?: string, authority?: string): MetadataValue => { diff --git a/src/app/core/shared/metadata.utils.ts b/src/app/core/shared/metadata.utils.ts index ab9b8f66bd..1ad10356fb 100644 --- a/src/app/core/shared/metadata.utils.ts +++ b/src/app/core/shared/metadata.utils.ts @@ -1,12 +1,18 @@ -import { isEmpty, isNotEmpty, isNotUndefined, isUndefined } from '../../shared/empty.util'; +import groupBy from 'lodash/groupBy'; +import sortBy from 'lodash/sortBy'; + +import { + isEmpty, + isNotEmpty, + isNotUndefined, + isUndefined, +} from '../../shared/empty.util'; import { MetadataMapInterface, MetadataValue, MetadataValueFilter, MetadatumViewModel, } from './metadata.models'; -import groupBy from 'lodash/groupBy'; -import sortBy from 'lodash/sortBy'; /** * Utility class for working with DSpace object metadata. diff --git a/src/app/core/shared/non-hierarchical-browse-definition.ts b/src/app/core/shared/non-hierarchical-browse-definition.ts index b6ce161b6c..91dfc5e4ab 100644 --- a/src/app/core/shared/non-hierarchical-browse-definition.ts +++ b/src/app/core/shared/non-hierarchical-browse-definition.ts @@ -1,7 +1,12 @@ -import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize'; -import { SortOption } from './sort-option.model'; +import { + autoserialize, + autoserializeAs, + inheritSerialization, +} from 'cerialize'; + import { BrowseByDataType } from '../../browse-by/browse-by-switcher/browse-by-decorator'; import { BrowseDefinition } from './browse-definition.model'; +import { SortOption } from './sort-option.model'; /** * Super class for NonHierarchicalBrowseDefinition models, diff --git a/src/app/core/shared/operators.spec.ts b/src/app/core/shared/operators.spec.ts index 0bdb1ceb49..07ba82caba 100644 --- a/src/app/core/shared/operators.spec.ts +++ b/src/app/core/shared/operators.spec.ts @@ -1,21 +1,31 @@ -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../../shared/remote-data.utils'; import { GetRequest } from '../data/request.models'; import { RequestService } from '../data/request.service'; +import { RequestEntry } from '../data/request-entry.model'; +import { redirectOn4xx } from './authorized.operators'; import { getAllSucceededRemoteData, getFirstSucceededRemoteData, getRemoteDataPayload, } from './operators'; -import { of as observableOf } from 'rxjs'; import { - createFailedRemoteDataObject, - createSuccessfulRemoteDataObject, -} from '../../shared/remote-data.utils'; -import { getRequestFromRequestHref, getRequestFromRequestUUID, getResponseFromEntry, sendRequest } from './request.operators'; -import { redirectOn4xx } from './authorized.operators'; -import { RequestEntry } from '../data/request-entry.model'; + getRequestFromRequestHref, + getRequestFromRequestUUID, + getResponseFromEntry, + sendRequest, +} from './request.operators'; /* eslint-disable @typescript-eslint/no-shadow */ diff --git a/src/app/core/shared/operators.ts b/src/app/core/shared/operators.ts index a3ecd04585..c98b60b649 100644 --- a/src/app/core/shared/operators.ts +++ b/src/app/core/shared/operators.ts @@ -1,6 +1,28 @@ -import { combineLatest as observableCombineLatest, Observable, interval, SchedulerLike, MonoTypeOperatorFunction } from 'rxjs'; -import { filter, find, map, switchMap, take, takeWhile, debounce, debounceTime } from 'rxjs/operators'; -import { hasNoValue, hasValue, hasValueOperator, isNotEmpty } from '../../shared/empty.util'; +import { InjectionToken } from '@angular/core'; +import { + combineLatest as observableCombineLatest, + interval, + MonoTypeOperatorFunction, + Observable, + SchedulerLike, +} from 'rxjs'; +import { + debounce, + debounceTime, + filter, + find, + map, + switchMap, + take, + takeWhile, +} from 'rxjs/operators'; + +import { + hasNoValue, + hasValue, + hasValueOperator, + isNotEmpty, +} from '../../shared/empty.util'; import { SearchResult } from '../../shared/search/models/search-result.model'; import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; @@ -8,7 +30,6 @@ import { MetadataField } from '../metadata/metadata-field.model'; import { MetadataSchema } from '../metadata/metadata-schema.model'; import { BrowseDefinition } from './browse-definition.model'; import { DSpaceObject } from './dspace-object.model'; -import { InjectionToken } from '@angular/core'; /** * Use this method instead of the RxJs debounceTime if you're waiting for debouncing in tests; diff --git a/src/app/core/shared/page-info.model.ts b/src/app/core/shared/page-info.model.ts index e8501ecae2..5594e58309 100644 --- a/src/app/core/shared/page-info.model.ts +++ b/src/app/core/shared/page-info.model.ts @@ -1,4 +1,9 @@ -import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, +} from 'cerialize'; + import { hasValue } from '../../shared/empty.util'; import { HALLink } from './hal-link.model'; import { HALResource } from './hal-resource.model'; diff --git a/src/app/core/shared/registration.model.ts b/src/app/core/shared/registration.model.ts index bc4488964f..e2efa6a02c 100644 --- a/src/app/core/shared/registration.model.ts +++ b/src/app/core/shared/registration.model.ts @@ -1,6 +1,6 @@ import { typedObject } from '../cache/builders/build-decorators'; -import { ResourceType } from './resource-type'; import { REGISTRATION } from './registration.resource-type'; +import { ResourceType } from './resource-type'; import { UnCacheableObject } from './uncacheable-object.model'; @typedObject diff --git a/src/app/core/shared/request.operators.ts b/src/app/core/shared/request.operators.ts index d9c6fae460..0cb8593f40 100644 --- a/src/app/core/shared/request.operators.ts +++ b/src/app/core/shared/request.operators.ts @@ -1,10 +1,19 @@ -import { RequestService } from '../data/request.service'; import { Observable } from 'rxjs'; -import { filter, map, mergeMap, tap } from 'rxjs/operators'; -import { hasValue, hasValueOperator } from '../../shared/empty.util'; -import { RestRequest } from '../data/rest-request.model'; +import { + filter, + map, + mergeMap, + tap, +} from 'rxjs/operators'; + +import { + hasValue, + hasValueOperator, +} from '../../shared/empty.util'; +import { RequestService } from '../data/request.service'; import { RequestEntry } from '../data/request-entry.model'; import { ResponseState } from '../data/response-state.model'; +import { RestRequest } from '../data/rest-request.model'; /** * This file contains custom RxJS operators that can be used in multiple places diff --git a/src/app/core/shared/search/search-configuration.service.spec.ts b/src/app/core/shared/search/search-configuration.service.spec.ts index d0f1634b75..7a47abbfd4 100644 --- a/src/app/core/shared/search/search-configuration.service.spec.ts +++ b/src/app/core/shared/search/search-configuration.service.spec.ts @@ -1,18 +1,26 @@ /* eslint-disable no-empty, @typescript-eslint/no-empty-function */ -import { SearchConfigurationService } from './search-configuration.service'; -import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../cache/models/sort-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; import { SearchFilter } from '../../../shared/search/models/search-filter.model'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; -import { map } from 'rxjs/operators'; -import { RemoteData } from '../../data/remote-data'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { RequestEntry } from '../../data/request-entry.model'; import { SearchObjects } from '../../../shared/search/models/search-objects.model'; +import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; +import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { + SortDirection, + SortOptions, +} from '../../cache/models/sort-options.model'; +import { RemoteData } from '../../data/remote-data'; +import { RequestEntry } from '../../data/request-entry.model'; +import { SearchConfigurationService } from './search-configuration.service'; describe('SearchConfigurationService', () => { let service: SearchConfigurationService; diff --git a/src/app/core/shared/search/search-configuration.service.ts b/src/app/core/shared/search/search-configuration.service.ts index 0d1743ea27..1e54fd4e6b 100644 --- a/src/app/core/shared/search/search-configuration.service.ts +++ b/src/app/core/shared/search/search-configuration.service.ts @@ -1,33 +1,64 @@ -import { Injectable, OnDestroy } from '@angular/core'; -import { ActivatedRoute, Params } from '@angular/router'; +import { + Injectable, + OnDestroy, +} from '@angular/core'; +import { + ActivatedRoute, + Params, +} from '@angular/router'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + merge as observableMerge, + Observable, + Subscription, +} from 'rxjs'; +import { + filter, + map, + startWith, + take, +} from 'rxjs/operators'; -import { BehaviorSubject, combineLatest as observableCombineLatest, merge as observableMerge, Observable, Subscription } from 'rxjs'; -import { filter, map, startWith, take } from 'rxjs/operators'; +import { + hasNoValue, + hasValue, + isNotEmpty, + isNotEmptyOperator, +} from '../../../shared/empty.util'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { SearchOptions } from '../../../shared/search/models/search-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { FacetConfigResponse } from '../../../shared/search/models/facet-config-response.model'; import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; import { SearchFilter } from '../../../shared/search/models/search-filter.model'; -import { RemoteData } from '../../data/remote-data'; -import { DSpaceObjectType } from '../dspace-object-type.model'; -import { SortDirection, SortOptions } from '../../cache/models/sort-options.model'; -import { RouteService } from '../../services/route.service'; -import { getAllSucceededRemoteDataPayload, getFirstSucceededRemoteData } from '../operators'; -import { hasNoValue, hasValue, isNotEmpty, isNotEmptyOperator } from '../../../shared/empty.util'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { SearchConfig, SortConfig } from './search-filters/search-config.model'; -import { PaginationService } from '../../pagination/pagination.service'; -import { LinkService } from '../../cache/builders/link.service'; -import { HALEndpointService } from '../hal-endpoint.service'; -import { RequestService } from '../../data/request.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { GetRequest } from '../../data/request.models'; -import { URLCombiner } from '../../url-combiner/url-combiner'; -import { GenericConstructor } from '../generic-constructor'; -import { ResponseParsingService } from '../../data/parsing.service'; -import { FacetConfigResponseParsingService } from '../../data/facet-config-response-parsing.service'; -import { ViewMode } from '../view-mode.model'; import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; -import { FacetConfigResponse } from '../../../shared/search/models/facet-config-response.model'; +import { SearchOptions } from '../../../shared/search/models/search-options.model'; +import { LinkService } from '../../cache/builders/link.service'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { + SortDirection, + SortOptions, +} from '../../cache/models/sort-options.model'; +import { FacetConfigResponseParsingService } from '../../data/facet-config-response-parsing.service'; +import { ResponseParsingService } from '../../data/parsing.service'; +import { RemoteData } from '../../data/remote-data'; +import { GetRequest } from '../../data/request.models'; +import { RequestService } from '../../data/request.service'; +import { PaginationService } from '../../pagination/pagination.service'; +import { RouteService } from '../../services/route.service'; +import { URLCombiner } from '../../url-combiner/url-combiner'; +import { DSpaceObjectType } from '../dspace-object-type.model'; +import { GenericConstructor } from '../generic-constructor'; +import { HALEndpointService } from '../hal-endpoint.service'; +import { + getAllSucceededRemoteDataPayload, + getFirstSucceededRemoteData, +} from '../operators'; +import { ViewMode } from '../view-mode.model'; +import { + SearchConfig, + SortConfig, +} from './search-filters/search-config.model'; /** * Service that performs all actions that have to do with the current search configuration diff --git a/src/app/core/shared/search/search-filter.service.spec.ts b/src/app/core/shared/search/search-filter.service.spec.ts index 4b24e4e7c6..47e76754af 100644 --- a/src/app/core/shared/search/search-filter.service.spec.ts +++ b/src/app/core/shared/search/search-filter.service.spec.ts @@ -1,5 +1,8 @@ -import { SearchFilterService } from './search-filter.service'; import { Store } from '@ngrx/store'; +import { of as observableOf } from 'rxjs'; + +import { FilterType } from '../../../shared/search/models/filter-type.model'; +import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; import { SearchFilterCollapseAction, SearchFilterDecrementPageAction, @@ -10,11 +13,12 @@ import { SearchFilterToggleAction, } from '../../../shared/search/search-filters/search-filter/search-filter.actions'; import { SearchFiltersState } from '../../../shared/search/search-filters/search-filter/search-filter.reducer'; -import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; -import { FilterType } from '../../../shared/search/models/filter-type.model'; import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; -import { of as observableOf } from 'rxjs'; -import { SortDirection, SortOptions } from '../../cache/models/sort-options.model'; +import { + SortDirection, + SortOptions, +} from '../../cache/models/sort-options.model'; +import { SearchFilterService } from './search-filter.service'; describe('SearchFilterService', () => { let service: SearchFilterService; diff --git a/src/app/core/shared/search/search-filter.service.ts b/src/app/core/shared/search/search-filter.service.ts index 5abf482900..3d53652e62 100644 --- a/src/app/core/shared/search/search-filter.service.ts +++ b/src/app/core/shared/search/search-filter.service.ts @@ -1,11 +1,30 @@ -import { BehaviorSubject, combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { distinctUntilChanged, map } from 'rxjs/operators'; -import { Injectable, InjectionToken } from '@angular/core'; import { - SearchFiltersState, - SearchFilterState, -} from '../../../shared/search/search-filters/search-filter/search-filter.reducer'; -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; + Injectable, + InjectionToken, +} from '@angular/core'; +import { Params } from '@angular/router'; +import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + map, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; +import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; +import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; import { SearchFilterCollapseAction, SearchFilterDecrementPageAction, @@ -15,12 +34,15 @@ import { SearchFilterResetPageAction, SearchFilterToggleAction, } from '../../../shared/search/search-filters/search-filter/search-filter.actions'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; -import { SortDirection, SortOptions } from '../../cache/models/sort-options.model'; +import { + SearchFiltersState, + SearchFilterState, +} from '../../../shared/search/search-filters/search-filter/search-filter.reducer'; +import { + SortDirection, + SortOptions, +} from '../../cache/models/sort-options.model'; import { RouteService } from '../../services/route.service'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { Params } from '@angular/router'; const filterStateSelector = (state: SearchFiltersState) => state.searchFilter; diff --git a/src/app/core/shared/search/search-filters/search-config.model.ts b/src/app/core/shared/search/search-filters/search-config.model.ts index 940ae86763..ccc9827e59 100644 --- a/src/app/core/shared/search/search-filters/search-config.model.ts +++ b/src/app/core/shared/search/search-filters/search-config.model.ts @@ -1,10 +1,13 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; -import { SEARCH_CONFIG } from './search-config.resource-type'; import { typedObject } from '../../../cache/builders/build-decorators'; +import { CacheableObject } from '../../../cache/cacheable-object.model'; import { HALLink } from '../../hal-link.model'; import { ResourceType } from '../../resource-type'; -import { CacheableObject } from '../../../cache/cacheable-object.model'; +import { SEARCH_CONFIG } from './search-config.resource-type'; /** * The configuration for a search diff --git a/src/app/core/shared/search/search.service.spec.ts b/src/app/core/shared/search/search.service.spec.ts index 760b1fd2cd..eac178fb1c 100644 --- a/src/app/core/shared/search/search.service.spec.ts +++ b/src/app/core/shared/search/search.service.spec.ts @@ -1,32 +1,40 @@ -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; -import { SearchService } from './search.service'; -import { Router, UrlTree } from '@angular/router'; -import { RequestService } from '../../data/request.service'; -import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { HALEndpointService } from '../hal-endpoint.service'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; -import { RemoteData } from '../../data/remote-data'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { CommunityDataService } from '../../data/community-data.service'; -import { ViewMode } from '../view-mode.model'; -import { DSpaceObjectDataService } from '../../data/dspace-object-data.service'; -import { map } from 'rxjs/operators'; -import { RouteService } from '../../services/route.service'; -import { routeServiceStub } from '../../../shared/testing/route-service.stub'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { SearchObjects } from '../../../shared/search/models/search-objects.model'; -import { PaginationService } from '../../pagination/pagination.service'; -import { SearchConfigurationService } from './search-configuration.service'; -import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; -import { RequestEntry } from '../../data/request-entry.model'; +import { TestBed } from '@angular/core/testing'; +import { + Router, + UrlTree, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; import { Angulartics2 } from 'angulartics2'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; +import { SearchObjects } from '../../../shared/search/models/search-objects.model'; +import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; +import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { routeServiceStub } from '../../../shared/testing/route-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { CommunityDataService } from '../../data/community-data.service'; +import { DSpaceObjectDataService } from '../../data/dspace-object-data.service'; +import { RemoteData } from '../../data/remote-data'; +import { RequestService } from '../../data/request.service'; +import { RequestEntry } from '../../data/request-entry.model'; +import { PaginationService } from '../../pagination/pagination.service'; +import { RouteService } from '../../services/route.service'; +import { HALEndpointService } from '../hal-endpoint.service'; +import { ViewMode } from '../view-mode.model'; +import { SearchService } from './search.service'; +import { SearchConfigurationService } from './search-configuration.service'; import anything = jasmine.anything; @Component({ template: '' }) diff --git a/src/app/core/shared/search/search.service.ts b/src/app/core/shared/search/search.service.ts index c1da394fff..346000f05a 100644 --- a/src/app/core/shared/search/search.service.ts +++ b/src/app/core/shared/search/search.service.ts @@ -1,37 +1,55 @@ /* eslint-disable max-classes-per-file */ -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { Injectable, OnDestroy } from '@angular/core'; -import { map, switchMap, take } from 'rxjs/operators'; +import { + Injectable, + OnDestroy, +} from '@angular/core'; +import { Angulartics2 } from 'angulartics2'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + hasValue, + hasValueOperator, + isNotEmpty, +} from '../../../shared/empty.util'; +import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model'; +import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; +import { FacetValues } from '../../../shared/search/models/facet-values.model'; +import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; +import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; +import { SearchObjects } from '../../../shared/search/models/search-objects.model'; +import { SearchResult } from '../../../shared/search/models/search-result.model'; +import { getSearchResultFor } from '../../../shared/search/search-result-element-decorator'; import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { BaseDataService } from '../../data/base/base-data.service'; +import { DSpaceObjectDataService } from '../../data/dspace-object-data.service'; +import { FacetValueResponseParsingService } from '../../data/facet-value-response-parsing.service'; import { ResponseParsingService } from '../../data/parsing.service'; import { RemoteData } from '../../data/remote-data'; import { GetRequest } from '../../data/request.models'; import { RequestService } from '../../data/request.service'; +import { RestRequest } from '../../data/rest-request.model'; +import { SearchResponseParsingService } from '../../data/search-response-parsing.service'; +import { PaginationService } from '../../pagination/pagination.service'; +import { RouteService } from '../../services/route.service'; +import { URLCombiner } from '../../url-combiner/url-combiner'; import { DSpaceObject } from '../dspace-object.model'; import { GenericConstructor } from '../generic-constructor'; import { HALEndpointService } from '../hal-endpoint.service'; -import { URLCombiner } from '../../url-combiner/url-combiner'; -import { hasValue, hasValueOperator, isNotEmpty } from '../../../shared/empty.util'; -import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model'; -import { SearchResponseParsingService } from '../../data/search-response-parsing.service'; -import { SearchObjects } from '../../../shared/search/models/search-objects.model'; -import { FacetValueResponseParsingService } from '../../data/facet-value-response-parsing.service'; -import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; +import { + getFirstCompletedRemoteData, + getRemoteDataPayload, +} from '../operators'; import { ViewMode } from '../view-mode.model'; -import { DSpaceObjectDataService } from '../../data/dspace-object-data.service'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../operators'; -import { RouteService } from '../../services/route.service'; -import { SearchResult } from '../../../shared/search/models/search-result.model'; -import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model'; -import { getSearchResultFor } from '../../../shared/search/search-result-element-decorator'; -import { FacetValues } from '../../../shared/search/models/facet-values.model'; -import { PaginationService } from '../../pagination/pagination.service'; import { SearchConfigurationService } from './search-configuration.service'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { RestRequest } from '../../data/rest-request.model'; -import { BaseDataService } from '../../data/base/base-data.service'; -import { Angulartics2 } from 'angulartics2'; /** * A limited data service implementation for the 'discover' endpoint diff --git a/src/app/core/shared/site.model.ts b/src/app/core/shared/site.model.ts index 483fd7402f..6c6c2ff621 100644 --- a/src/app/core/shared/site.model.ts +++ b/src/app/core/shared/site.model.ts @@ -1,4 +1,5 @@ import { inheritSerialization } from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; import { DSpaceObject } from './dspace-object.model'; import { SITE } from './site.resource-type'; diff --git a/src/app/core/shared/template-item.model.ts b/src/app/core/shared/template-item.model.ts index 64038ace1f..4c33a2bd92 100644 --- a/src/app/core/shared/template-item.model.ts +++ b/src/app/core/shared/template-item.model.ts @@ -1,11 +1,15 @@ import { inheritSerialization } from 'cerialize'; -import { Item } from './item.model'; import { Observable } from 'rxjs'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; import { RemoteData } from '../data/remote-data'; import { Collection } from './collection.model'; -import { ITEM_TEMPLATE } from './template-item.resource-type'; -import { link, typedObject } from '../cache/builders/build-decorators'; import { COLLECTION } from './collection.resource-type'; +import { Item } from './item.model'; +import { ITEM_TEMPLATE } from './template-item.resource-type'; /** * Class representing a DSpace Template Item diff --git a/src/app/core/shared/value-list-browse-definition.model.ts b/src/app/core/shared/value-list-browse-definition.model.ts index f2eb2766d2..87a3960299 100644 --- a/src/app/core/shared/value-list-browse-definition.model.ts +++ b/src/app/core/shared/value-list-browse-definition.model.ts @@ -1,10 +1,14 @@ -import { inheritSerialization, deserialize } from 'cerialize'; +import { + deserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../cache/builders/build-decorators'; import { excludeFromEquals } from '../utilities/equals.decorators'; -import { VALUE_LIST_BROWSE_DEFINITION } from './value-list-browse-definition.resource-type'; -import { ResourceType } from './resource-type'; -import { NonHierarchicalBrowseDefinition } from './non-hierarchical-browse-definition'; import { HALLink } from './hal-link.model'; +import { NonHierarchicalBrowseDefinition } from './non-hierarchical-browse-definition'; +import { ResourceType } from './resource-type'; +import { VALUE_LIST_BROWSE_DEFINITION } from './value-list-browse-definition.resource-type'; /** * BrowseDefinition model for browses of type 'valueList' diff --git a/src/app/core/shared/version-history.model.ts b/src/app/core/shared/version-history.model.ts index 6f1e8d53ca..9792a20ff3 100644 --- a/src/app/core/shared/version-history.model.ts +++ b/src/app/core/shared/version-history.model.ts @@ -1,14 +1,22 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; -import { excludeFromEquals } from '../utilities/equals.decorators'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { RemoteData } from '../data/remote-data'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; import { PaginatedList } from '../data/paginated-list.model'; -import { Version } from './version.model'; -import { VERSION_HISTORY } from './version-history.resource-type'; -import { link, typedObject } from '../cache/builders/build-decorators'; +import { RemoteData } from '../data/remote-data'; +import { excludeFromEquals } from '../utilities/equals.decorators'; import { DSpaceObject } from './dspace-object.model'; import { HALLink } from './hal-link.model'; +import { Version } from './version.model'; import { VERSION } from './version.resource-type'; +import { VERSION_HISTORY } from './version-history.resource-type'; /** * Class representing a DSpace Version History diff --git a/src/app/core/shared/version.model.ts b/src/app/core/shared/version.model.ts index 03f8ce739b..f66bc8938b 100644 --- a/src/app/core/shared/version.model.ts +++ b/src/app/core/shared/version.model.ts @@ -1,17 +1,25 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; -import { excludeFromEquals } from '../utilities/equals.decorators'; -import { Item } from './item.model'; -import { RemoteData } from '../data/remote-data'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { VersionHistory } from './version-history.model'; + +import { + link, + typedObject, +} from '../cache/builders/build-decorators'; +import { RemoteData } from '../data/remote-data'; import { EPerson } from '../eperson/models/eperson.model'; -import { VERSION } from './version.resource-type'; -import { HALLink } from './hal-link.model'; -import { link, typedObject } from '../cache/builders/build-decorators'; -import { VERSION_HISTORY } from './version-history.resource-type'; -import { ITEM } from './item.resource-type'; import { EPERSON } from '../eperson/models/eperson.resource-type'; +import { excludeFromEquals } from '../utilities/equals.decorators'; import { DSpaceObject } from './dspace-object.model'; +import { HALLink } from './hal-link.model'; +import { Item } from './item.model'; +import { ITEM } from './item.resource-type'; +import { VERSION } from './version.resource-type'; +import { VersionHistory } from './version-history.model'; +import { VERSION_HISTORY } from './version-history.resource-type'; /** * Class representing a DSpace Version diff --git a/src/app/core/statistics/models/usage-report.model.ts b/src/app/core/statistics/models/usage-report.model.ts index 9a4ed799ae..b8a415667d 100644 --- a/src/app/core/statistics/models/usage-report.model.ts +++ b/src/app/core/statistics/models/usage-report.model.ts @@ -1,11 +1,16 @@ -import { autoserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { ResourceType } from '../../shared/resource-type'; -import { HALResource } from '../../shared/hal-resource.model'; -import { USAGE_REPORT } from './usage-report.resource-type'; import { HALLink } from '../../shared/hal-link.model'; -import { deserialize, autoserializeAs } from 'cerialize'; +import { HALResource } from '../../shared/hal-resource.model'; +import { ResourceType } from '../../shared/resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { USAGE_REPORT } from './usage-report.resource-type'; /** * A usage report. diff --git a/src/app/core/statistics/usage-report-data.service.ts b/src/app/core/statistics/usage-report-data.service.ts index fde8298488..0901275195 100644 --- a/src/app/core/statistics/usage-report-data.service.ts +++ b/src/app/core/statistics/usage-report-data.service.ts @@ -1,20 +1,27 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { USAGE_REPORT } from './models/usage-report.resource-type'; -import { UsageReport } from './models/usage-report.model'; -import { Observable } from 'rxjs'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../shared/operators'; -import { map } from 'rxjs/operators'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { FindListOptions } from '../data/find-list-options.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; import { dataService } from '../data/base/data-service.decorator'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { UsageReport } from './models/usage-report.model'; +import { USAGE_REPORT } from './models/usage-report.resource-type'; /** * A service to retrieve {@link UsageReport}s from the REST API diff --git a/src/app/core/submission/models/submission-cc-license-url.model.ts b/src/app/core/submission/models/submission-cc-license-url.model.ts index 6310da1c9e..85fa1d0896 100644 --- a/src/app/core/submission/models/submission-cc-license-url.model.ts +++ b/src/app/core/submission/models/submission-cc-license-url.model.ts @@ -1,8 +1,12 @@ -import { autoserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { ResourceType } from '../../shared/resource-type'; import { HALResource } from '../../shared/hal-resource.model'; +import { ResourceType } from '../../shared/resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; import { SUBMISSION_CC_LICENSE_URL } from './submission-cc-licence-link.resource-type'; @typedObject diff --git a/src/app/core/submission/models/submission-cc-license.model.ts b/src/app/core/submission/models/submission-cc-license.model.ts index 9cfe188364..c730aa44fc 100644 --- a/src/app/core/submission/models/submission-cc-license.model.ts +++ b/src/app/core/submission/models/submission-cc-license.model.ts @@ -1,8 +1,12 @@ -import { autoserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { ResourceType } from '../../shared/resource-type'; import { HALResource } from '../../shared/hal-resource.model'; +import { ResourceType } from '../../shared/resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; import { SUBMISSION_CC_LICENSE } from './submission-cc-licence.resource-type'; @typedObject diff --git a/src/app/core/submission/models/submission-object.model.ts b/src/app/core/submission/models/submission-object.model.ts index 622f1e93e4..882fafb467 100644 --- a/src/app/core/submission/models/submission-object.model.ts +++ b/src/app/core/submission/models/submission-object.model.ts @@ -1,8 +1,14 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link } from '../../cache/builders/build-decorators'; +import { link } from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { SubmissionDefinitionsModel } from '../../config/models/config-submission-definitions.model'; +import { PaginatedList } from '../../data/paginated-list.model'; import { RemoteData } from '../../data/remote-data'; import { EPerson } from '../../eperson/models/eperson.model'; import { EPERSON } from '../../eperson/models/eperson.resource-type'; @@ -11,12 +17,10 @@ import { COLLECTION } from '../../shared/collection.resource-type'; import { DSpaceObject } from '../../shared/dspace-object.model'; import { HALLink } from '../../shared/hal-link.model'; import { ITEM } from '../../shared/item.resource-type'; +import { SupervisionOrder } from '../../supervision-order/models/supervision-order.model'; +import { SUPERVISION_ORDER } from '../../supervision-order/models/supervision-order.resource-type'; import { excludeFromEquals } from '../../utilities/equals.decorators'; import { WorkspaceitemSectionsObject } from './workspaceitem-sections.model'; -import { CacheableObject } from '../../cache/cacheable-object.model'; -import { SUPERVISION_ORDER } from '../../supervision-order/models/supervision-order.resource-type'; -import { PaginatedList } from '../../data/paginated-list.model'; -import { SupervisionOrder } from '../../supervision-order/models/supervision-order.model'; export interface SubmissionObjectError { message: string; diff --git a/src/app/core/submission/models/workflowitem.model.ts b/src/app/core/submission/models/workflowitem.model.ts index f4f60bf34a..63fdda7c10 100644 --- a/src/app/core/submission/models/workflowitem.model.ts +++ b/src/app/core/submission/models/workflowitem.model.ts @@ -1,5 +1,12 @@ -import { deserializeAs, inheritSerialization } from 'cerialize'; -import { inheritLinkAnnotations, typedObject } from '../../cache/builders/build-decorators'; +import { + deserializeAs, + inheritSerialization, +} from 'cerialize'; + +import { + inheritLinkAnnotations, + typedObject, +} from '../../cache/builders/build-decorators'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; import { WORKFLOWITEM } from '../../eperson/models/workflowitem.resource-type'; import { SubmissionObject } from './submission-object.model'; diff --git a/src/app/core/submission/models/workspaceitem-sections.model.ts b/src/app/core/submission/models/workspaceitem-sections.model.ts index a3ccd49dac..a9dce1539f 100644 --- a/src/app/core/submission/models/workspaceitem-sections.model.ts +++ b/src/app/core/submission/models/workspaceitem-sections.model.ts @@ -1,10 +1,10 @@ import { WorkspaceitemSectionAccessesObject } from './workspaceitem-section-accesses.model'; -import { WorkspaceitemSectionFormObject } from './workspaceitem-section-form.model'; -import { WorkspaceitemSectionLicenseObject } from './workspaceitem-section-license.model'; -import { WorkspaceitemSectionUploadObject } from './workspaceitem-section-upload.model'; import { WorkspaceitemSectionCcLicenseObject } from './workspaceitem-section-cc-license.model'; +import { WorkspaceitemSectionFormObject } from './workspaceitem-section-form.model'; import {WorkspaceitemSectionIdentifiersObject} from './workspaceitem-section-identifiers.model'; +import { WorkspaceitemSectionLicenseObject } from './workspaceitem-section-license.model'; import { WorkspaceitemSectionSherpaPoliciesObject } from './workspaceitem-section-sherpa-policies.model'; +import { WorkspaceitemSectionUploadObject } from './workspaceitem-section-upload.model'; /** * An interface to represent submission's section object. diff --git a/src/app/core/submission/models/workspaceitem.model.ts b/src/app/core/submission/models/workspaceitem.model.ts index 9908909c31..d9aad957f2 100644 --- a/src/app/core/submission/models/workspaceitem.model.ts +++ b/src/app/core/submission/models/workspaceitem.model.ts @@ -1,8 +1,15 @@ -import { deserializeAs, inheritSerialization } from 'cerialize'; -import { inheritLinkAnnotations, typedObject } from '../../cache/builders/build-decorators'; +import { + deserializeAs, + inheritSerialization, +} from 'cerialize'; + +import { + inheritLinkAnnotations, + typedObject, +} from '../../cache/builders/build-decorators'; import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; -import { SubmissionObject } from './submission-object.model'; import { WORKSPACEITEM } from '../../eperson/models/workspaceitem.resource-type'; +import { SubmissionObject } from './submission-object.model'; /** * A model class for a WorkspaceItem. diff --git a/src/app/core/submission/resolver/submission-object.resolver.ts b/src/app/core/submission/resolver/submission-object.resolver.ts index 70519c1282..8c4a08e68c 100644 --- a/src/app/core/submission/resolver/submission-object.resolver.ts +++ b/src/app/core/submission/resolver/submission-object.resolver.ts @@ -1,12 +1,17 @@ -import { followLink } from '../../../shared/utils/follow-link-config.model'; import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { Observable } from 'rxjs'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Store } from '@ngrx/store'; +import { Observable } from 'rxjs'; import { switchMap } from 'rxjs/operators'; + +import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; import { RemoteData } from '../../data/remote-data'; import { getFirstCompletedRemoteData } from '../../shared/operators'; -import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; /** * This class represents a resolver that requests a specific item before the route is activated diff --git a/src/app/core/submission/submission-cc-license-data.service.spec.ts b/src/app/core/submission/submission-cc-license-data.service.spec.ts index b3650bac0a..4fda651e40 100644 --- a/src/app/core/submission/submission-cc-license-data.service.spec.ts +++ b/src/app/core/submission/submission-cc-license-data.service.spec.ts @@ -5,8 +5,8 @@ * * http://www.dspace.org/license/ */ -import { SubmissionCcLicenseDataService } from './submission-cc-license-data.service'; import { testFindAllDataImplementation } from '../data/base/find-all-data.spec'; +import { SubmissionCcLicenseDataService } from './submission-cc-license-data.service'; describe('SubmissionCcLicenseDataService', () => { diff --git a/src/app/core/submission/submission-cc-license-data.service.ts b/src/app/core/submission/submission-cc-license-data.service.ts index e92de06a6b..83879a39ab 100644 --- a/src/app/core/submission/submission-cc-license-data.service.ts +++ b/src/app/core/submission/submission-cc-license-data.service.ts @@ -1,18 +1,22 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { BaseDataService } from '../data/base/base-data.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { + FindAllData, + FindAllDataImpl, +} from '../data/base/find-all-data'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { SUBMISSION_CC_LICENSE } from './models/submission-cc-licence.resource-type'; import { SubmissionCcLicence } from './models/submission-cc-license.model'; -import { BaseDataService } from '../data/base/base-data.service'; -import {FindAllData, FindAllDataImpl} from '../data/base/find-all-data'; -import { FindListOptions } from '../data/find-list-options.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { dataService } from '../data/base/data-service.decorator'; @Injectable() @dataService(SUBMISSION_CC_LICENSE) diff --git a/src/app/core/submission/submission-cc-license-url-data.service.ts b/src/app/core/submission/submission-cc-license-url-data.service.ts index 74c1ae9bd8..cd440bd8a1 100644 --- a/src/app/core/submission/submission-cc-license-url-data.service.ts +++ b/src/app/core/submission/submission-cc-license-url-data.service.ts @@ -1,21 +1,35 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { SubmissionCcLicenceUrl } from './models/submission-cc-license-url.model'; -import { SUBMISSION_CC_LICENSE_URL } from './models/submission-cc-licence-link.resource-type'; -import { Field, Option, SubmissionCcLicence } from './models/submission-cc-license.model'; -import { Observable } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../shared/operators'; import { BaseDataService } from '../data/base/base-data.service'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { FindListOptions } from '../data/find-list-options.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { RemoteData } from '../data/remote-data'; -import { PaginatedList } from '../data/paginated-list.model'; import { dataService } from '../data/base/data-service.decorator'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../shared/operators'; +import { SUBMISSION_CC_LICENSE_URL } from './models/submission-cc-licence-link.resource-type'; +import { + Field, + Option, + SubmissionCcLicence, +} from './models/submission-cc-license.model'; +import { SubmissionCcLicenceUrl } from './models/submission-cc-license-url.model'; @Injectable() @dataService(SUBMISSION_CC_LICENSE_URL) diff --git a/src/app/core/submission/submission-json-patch-operations.service.spec.ts b/src/app/core/submission/submission-json-patch-operations.service.spec.ts index 0686773165..76e487400b 100644 --- a/src/app/core/submission/submission-json-patch-operations.service.spec.ts +++ b/src/app/core/submission/submission-json-patch-operations.service.spec.ts @@ -1,14 +1,13 @@ import { Store } from '@ngrx/store'; - import { getTestScheduler } from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { SubmissionJsonPatchOperationsService } from './submission-json-patch-operations.service'; -import { RequestService } from '../data/request.service'; -import { SubmissionPatchRequest } from '../data/request.models'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { CoreState } from '../core-state.model'; +import { SubmissionPatchRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { SubmissionJsonPatchOperationsService } from './submission-json-patch-operations.service'; describe('SubmissionJsonPatchOperationsService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/submission/submission-json-patch-operations.service.ts b/src/app/core/submission/submission-json-patch-operations.service.ts index 5771c85b57..5852e52cb2 100644 --- a/src/app/core/submission/submission-json-patch-operations.service.ts +++ b/src/app/core/submission/submission-json-patch-operations.service.ts @@ -1,14 +1,13 @@ import { Injectable } from '@angular/core'; - import { Store } from '@ngrx/store'; -import { RequestService } from '../data/request.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { JsonPatchOperationsService } from '../json-patch/json-patch-operations.service'; -import { SubmitDataResponseDefinitionObject } from '../shared/submit-data-response-definition.model'; -import { SubmissionPatchRequest } from '../data/request.models'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { CoreState } from '../core-state.model'; +import { SubmissionPatchRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { JsonPatchOperationsService } from '../json-patch/json-patch-operations.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { SubmitDataResponseDefinitionObject } from '../shared/submit-data-response-definition.model'; /** * A service that provides methods to make JSON Patch requests. diff --git a/src/app/core/submission/submission-object-data.service.spec.ts b/src/app/core/submission/submission-object-data.service.spec.ts index d6df1c732a..168fb915d3 100644 --- a/src/app/core/submission/submission-object-data.service.spec.ts +++ b/src/app/core/submission/submission-object-data.service.spec.ts @@ -1,11 +1,11 @@ import { SubmissionService } from '../../submission/submission.service'; import { RemoteData } from '../data/remote-data'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { SubmissionObject } from './models/submission-object.model'; import { SubmissionObjectDataService } from './submission-object-data.service'; import { SubmissionScopeType } from './submission-scope-type'; import { WorkflowItemDataService } from './workflowitem-data.service'; import { WorkspaceitemDataService } from './workspaceitem-data.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; describe('SubmissionObjectDataService', () => { let service: SubmissionObjectDataService; diff --git a/src/app/core/submission/submission-object-data.service.ts b/src/app/core/submission/submission-object-data.service.ts index adfe1ca10d..4cf45fa84b 100644 --- a/src/app/core/submission/submission-object-data.service.ts +++ b/src/app/core/submission/submission-object-data.service.ts @@ -1,17 +1,21 @@ import { Injectable } from '@angular/core'; -import { of as observableOf, Observable } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { environment } from '../../../environments/environment'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { SubmissionService } from '../../submission/submission.service'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; import { RemoteData } from '../data/remote-data'; +import { RequestEntryState } from '../data/request-entry-state.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { SubmissionObject } from './models/submission-object.model'; import { SubmissionScopeType } from './submission-scope-type'; import { WorkflowItemDataService } from './workflowitem-data.service'; import { WorkspaceitemDataService } from './workspaceitem-data.service'; -import { map } from 'rxjs/operators'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { environment } from '../../../environments/environment'; -import { RequestEntryState } from '../data/request-entry-state.model'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; /** * A service to retrieve submission objects (WorkspaceItem/WorkflowItem) diff --git a/src/app/core/submission/submission-response-parsing.service.ts b/src/app/core/submission/submission-response-parsing.service.ts index 64ae3af05c..a9d26c185e 100644 --- a/src/app/core/submission/submission-response-parsing.service.ts +++ b/src/app/core/submission/submission-response-parsing.service.ts @@ -1,19 +1,23 @@ import { Injectable } from '@angular/core'; import { deepClone } from 'fast-json-patch'; -import { DSOResponseParsingService } from '../data/dso-response-parsing.service'; -import { ResponseParsingService } from '../data/parsing.service'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; +import { + isEmpty, + isNotEmpty, + isNotNull, +} from '../../shared/empty.util'; +import { FormFieldMetadataValueObject } from '../../shared/form/builder/models/form-field-metadata-value.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { ParsedResponse } from '../cache/response.models'; -import { isEmpty, isNotEmpty, isNotNull } from '../../shared/empty.util'; import { ConfigObject } from '../config/models/config.model'; import { BaseResponseParsingService } from '../data/base-response-parsing.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { FormFieldMetadataValueObject } from '../../shared/form/builder/models/form-field-metadata-value.model'; +import { DSOResponseParsingService } from '../data/dso-response-parsing.service'; +import { ResponseParsingService } from '../data/parsing.service'; +import { RestRequest } from '../data/rest-request.model'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { SubmissionObject } from './models/submission-object.model'; import { WorkflowItem } from './models/workflowitem.model'; import { WorkspaceItem } from './models/workspaceitem.model'; -import { RestRequest } from '../data/rest-request.model'; /** * Export a function to check if object has same properties of FormFieldMetadataValueObject diff --git a/src/app/core/submission/submission-rest.service.spec.ts b/src/app/core/submission/submission-rest.service.spec.ts index 89d765375c..5512e683cd 100644 --- a/src/app/core/submission/submission-rest.service.spec.ts +++ b/src/app/core/submission/submission-rest.service.spec.ts @@ -1,19 +1,19 @@ -import { TestScheduler } from 'rxjs/testing'; import { getTestScheduler } from 'jasmine-marbles'; +import { TestScheduler } from 'rxjs/testing'; -import { SubmissionRestService } from './submission-rest.service'; -import { RequestService } from '../data/request.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { FormFieldMetadataValueObject } from '../../shared/form/builder/models/form-field-metadata-value.model'; import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { SubmissionDeleteRequest, SubmissionPatchRequest, SubmissionPostRequest, SubmissionRequest, } from '../data/request.models'; -import { FormFieldMetadataValueObject } from '../../shared/form/builder/models/form-field-metadata-value.model'; +import { RequestService } from '../data/request.service'; +import { SubmissionRestService } from './submission-rest.service'; describe('SubmissionRestService test suite', () => { let scheduler: TestScheduler; diff --git a/src/app/core/submission/submission-rest.service.ts b/src/app/core/submission/submission-rest.service.ts index be89e4fbb5..84e68f451a 100644 --- a/src/app/core/submission/submission-rest.service.ts +++ b/src/app/core/submission/submission-rest.service.ts @@ -1,10 +1,19 @@ import { Injectable } from '@angular/core'; - import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map, mergeMap, tap } from 'rxjs/operators'; +import { + distinctUntilChanged, + filter, + map, + mergeMap, + tap, +} from 'rxjs/operators'; -import { RequestService } from '../data/request.service'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RemoteData } from '../data/remote-data'; import { DeleteRequest, PostRequest, @@ -13,15 +22,14 @@ import { SubmissionPostRequest, SubmissionRequest, } from '../data/request.models'; -import { SubmitDataResponseDefinitionObject } from '../shared/submit-data-response-definition.model'; +import { RequestService } from '../data/request.service'; +import { RestRequest } from '../data/rest-request.model'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { getFirstCompletedRemoteData } from '../shared/operators'; +import { SubmitDataResponseDefinitionObject } from '../shared/submit-data-response-definition.model'; import { URLCombiner } from '../url-combiner/url-combiner'; -import { RemoteData } from '../data/remote-data'; import { SubmissionResponse } from './submission-response.model'; -import { RestRequest } from '../data/rest-request.model'; /** * The service handling all submission REST requests diff --git a/src/app/core/submission/vocabularies/models/vocabulary-entry-detail.model.ts b/src/app/core/submission/vocabularies/models/vocabulary-entry-detail.model.ts index de9e2cc8f3..3dcb0d374a 100644 --- a/src/app/core/submission/vocabularies/models/vocabulary-entry-detail.model.ts +++ b/src/app/core/submission/vocabularies/models/vocabulary-entry-detail.model.ts @@ -1,8 +1,12 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; +import { typedObject } from '../../../cache/builders/build-decorators'; import { HALLink } from '../../../shared/hal-link.model'; import { VOCABULARY_ENTRY_DETAIL } from './vocabularies.resource-type'; -import { typedObject } from '../../../cache/builders/build-decorators'; import { VocabularyEntry } from './vocabulary-entry.model'; /** diff --git a/src/app/core/submission/vocabularies/models/vocabulary-entry.model.ts b/src/app/core/submission/vocabularies/models/vocabulary-entry.model.ts index c89fa2e8f5..323db57de1 100644 --- a/src/app/core/submission/vocabularies/models/vocabulary-entry.model.ts +++ b/src/app/core/submission/vocabularies/models/vocabulary-entry.model.ts @@ -1,14 +1,17 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; -import { HALLink } from '../../../shared/hal-link.model'; -import { VOCABULARY_ENTRY } from './vocabularies.resource-type'; -import { typedObject } from '../../../cache/builders/build-decorators'; -import { excludeFromEquals } from '../../../utilities/equals.decorators'; +import { isNotEmpty } from '../../../../shared/empty.util'; import { PLACEHOLDER_PARENT_METADATA } from '../../../../shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-constants'; import { OtherInformation } from '../../../../shared/form/builder/models/form-field-metadata-value.model'; -import { isNotEmpty } from '../../../../shared/empty.util'; import { ListableObject } from '../../../../shared/object-collection/shared/listable-object.model'; +import { typedObject } from '../../../cache/builders/build-decorators'; import { GenericConstructor } from '../../../shared/generic-constructor'; +import { HALLink } from '../../../shared/hal-link.model'; +import { excludeFromEquals } from '../../../utilities/equals.decorators'; +import { VOCABULARY_ENTRY } from './vocabularies.resource-type'; /** * Model class for a VocabularyEntry diff --git a/src/app/core/submission/vocabularies/models/vocabulary-find-options.model.ts b/src/app/core/submission/vocabularies/models/vocabulary-find-options.model.ts index bc653a7111..f9b061f0f7 100644 --- a/src/app/core/submission/vocabularies/models/vocabulary-find-options.model.ts +++ b/src/app/core/submission/vocabularies/models/vocabulary-find-options.model.ts @@ -1,6 +1,6 @@ -import { SortOptions } from '../../../cache/models/sort-options.model'; -import { RequestParam } from '../../../cache/models/request-param.model'; import { isNotEmpty } from '../../../../shared/empty.util'; +import { RequestParam } from '../../../cache/models/request-param.model'; +import { SortOptions } from '../../../cache/models/sort-options.model'; import { FindListOptions } from '../../../data/find-list-options.model'; /** diff --git a/src/app/core/submission/vocabularies/models/vocabulary.model.ts b/src/app/core/submission/vocabularies/models/vocabulary.model.ts index 958f9bd7ee..9026ce677a 100644 --- a/src/app/core/submission/vocabularies/models/vocabulary.model.ts +++ b/src/app/core/submission/vocabularies/models/vocabulary.model.ts @@ -1,14 +1,23 @@ -import { autoserialize, deserialize } from 'cerialize'; - -import { HALLink } from '../../../shared/hal-link.model'; -import { VOCABULARY, VOCABULARY_ENTRY } from './vocabularies.resource-type'; -import { typedObject, link } from '../../../cache/builders/build-decorators'; -import { excludeFromEquals } from '../../../utilities/equals.decorators'; +import { + autoserialize, + deserialize, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { RemoteData } from '../../../data/remote-data'; -import { PaginatedList } from '../../../data/paginated-list.model'; -import { VocabularyEntry } from './vocabulary-entry.model'; + +import { + link, + typedObject, +} from '../../../cache/builders/build-decorators'; import { CacheableObject } from '../../../cache/cacheable-object.model'; +import { PaginatedList } from '../../../data/paginated-list.model'; +import { RemoteData } from '../../../data/remote-data'; +import { HALLink } from '../../../shared/hal-link.model'; +import { excludeFromEquals } from '../../../utilities/equals.decorators'; +import { + VOCABULARY, + VOCABULARY_ENTRY, +} from './vocabularies.resource-type'; +import { VocabularyEntry } from './vocabulary-entry.model'; /** * Model class for a Vocabulary diff --git a/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.spec.ts b/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.spec.ts index bafd8bbdc7..04fa7240ba 100644 --- a/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.spec.ts +++ b/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.spec.ts @@ -7,8 +7,8 @@ */ import { testFindAllDataImplementation } from '../../data/base/find-all-data.spec'; -import { VocabularyEntryDetailsDataService } from './vocabulary-entry-details.data.service'; import { testSearchDataImplementation } from '../../data/base/search-data.spec'; +import { VocabularyEntryDetailsDataService } from './vocabulary-entry-details.data.service'; describe('VocabularyEntryDetailsDataService', () => { function initTestService() { diff --git a/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.ts b/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.ts index 184b4c1e97..b94b353071 100644 --- a/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.ts +++ b/src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.ts @@ -5,22 +5,29 @@ * * http://www.dspace.org/license/ */ -import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; -import { VocabularyEntryDetail } from './models/vocabulary-entry-detail.model'; -import { RequestService } from '../../data/request.service'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; + +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { FindAllData, FindAllDataImpl } from '../../data/base/find-all-data'; -import { FindListOptions } from '../../data/find-list-options.model'; -import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../../data/remote-data'; -import { PaginatedList } from '../../data/paginated-list.model'; -import { SearchData, SearchDataImpl } from '../../data/base/search-data'; -import { Injectable } from '@angular/core'; -import { VOCABULARY_ENTRY_DETAIL } from './models/vocabularies.resource-type'; import { dataService } from '../../data/base/data-service.decorator'; +import { + FindAllData, + FindAllDataImpl, +} from '../../data/base/find-all-data'; +import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; +import { + SearchData, + SearchDataImpl, +} from '../../data/base/search-data'; +import { FindListOptions } from '../../data/find-list-options.model'; +import { PaginatedList } from '../../data/paginated-list.model'; +import { RemoteData } from '../../data/remote-data'; +import { RequestService } from '../../data/request.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { VOCABULARY_ENTRY_DETAIL } from './models/vocabularies.resource-type'; +import { VocabularyEntryDetail } from './models/vocabulary-entry-detail.model'; /** * Data service to retrieve vocabulary entry details from the REST server. diff --git a/src/app/core/submission/vocabularies/vocabulary.data.service.spec.ts b/src/app/core/submission/vocabularies/vocabulary.data.service.spec.ts index 4b35871418..6681714903 100644 --- a/src/app/core/submission/vocabularies/vocabulary.data.service.spec.ts +++ b/src/app/core/submission/vocabularies/vocabulary.data.service.spec.ts @@ -5,8 +5,8 @@ * * http://www.dspace.org/license/ */ -import { VocabularyDataService } from './vocabulary.data.service'; import { testFindAllDataImplementation } from '../../data/base/find-all-data.spec'; +import { VocabularyDataService } from './vocabulary.data.service'; describe('VocabularyDataService', () => { function initTestService() { diff --git a/src/app/core/submission/vocabularies/vocabulary.data.service.ts b/src/app/core/submission/vocabularies/vocabulary.data.service.ts index a67b67ced7..ac3b04e854 100644 --- a/src/app/core/submission/vocabularies/vocabulary.data.service.ts +++ b/src/app/core/submission/vocabularies/vocabulary.data.service.ts @@ -5,21 +5,25 @@ * * http://www.dspace.org/license/ */ -import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; -import { RequestService } from '../../data/request.service'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; + +import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { Vocabulary } from './models/vocabulary.model'; -import { FindAllData, FindAllDataImpl } from '../../data/base/find-all-data'; -import { FindListOptions } from '../../data/find-list-options.model'; -import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../../data/remote-data'; -import { PaginatedList } from '../../data/paginated-list.model'; -import { Injectable } from '@angular/core'; -import { VOCABULARY } from './models/vocabularies.resource-type'; import { dataService } from '../../data/base/data-service.decorator'; +import { + FindAllData, + FindAllDataImpl, +} from '../../data/base/find-all-data'; +import { IdentifiableDataService } from '../../data/base/identifiable-data.service'; +import { FindListOptions } from '../../data/find-list-options.model'; +import { PaginatedList } from '../../data/paginated-list.model'; +import { RemoteData } from '../../data/remote-data'; +import { RequestService } from '../../data/request.service'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { VOCABULARY } from './models/vocabularies.resource-type'; +import { Vocabulary } from './models/vocabulary.model'; /** * Data service to retrieve vocabularies from the REST server. diff --git a/src/app/core/submission/vocabularies/vocabulary.service.spec.ts b/src/app/core/submission/vocabularies/vocabulary.service.spec.ts index 9807077b53..b8e08e1f75 100644 --- a/src/app/core/submission/vocabularies/vocabulary.service.spec.ts +++ b/src/app/core/submission/vocabularies/vocabulary.service.spec.ts @@ -1,29 +1,33 @@ -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../../cache/object-cache.service'; -import { HALEndpointService } from '../../shared/hal-endpoint.service'; -import { RequestService } from '../../data/request.service'; -import { RequestParam } from '../../cache/models/request-param.model'; -import { PageInfo } from '../../shared/page-info.model'; -import { buildPaginatedList } from '../../data/paginated-list.model'; +import { getMockHrefOnlyDataService } from '../../../shared/mocks/href-only-data.service.mock'; +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../shared/remote-data.utils'; -import { RestResponse } from '../../cache/response.models'; -import { VocabularyService } from './vocabulary.service'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; -import { VocabularyOptions } from './models/vocabulary-options.model'; -import { VocabularyFindOptions } from './models/vocabulary-find-options.model'; -import { HrefOnlyDataService } from '../../data/href-only-data.service'; -import { getMockHrefOnlyDataService } from '../../../shared/mocks/href-only-data.service.mock'; import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service'; +import { RequestParam } from '../../cache/models/request-param.model'; +import { ObjectCacheService } from '../../cache/object-cache.service'; +import { RestResponse } from '../../cache/response.models'; +import { HrefOnlyDataService } from '../../data/href-only-data.service'; +import { buildPaginatedList } from '../../data/paginated-list.model'; +import { RequestService } from '../../data/request.service'; import { RequestEntry } from '../../data/request-entry.model'; +import { HALEndpointService } from '../../shared/hal-endpoint.service'; +import { PageInfo } from '../../shared/page-info.model'; +import { VocabularyFindOptions } from './models/vocabulary-find-options.model'; +import { VocabularyOptions } from './models/vocabulary-options.model'; import { VocabularyDataService } from './vocabulary.data.service'; +import { VocabularyService } from './vocabulary.service'; import { VocabularyEntryDetailsDataService } from './vocabulary-entry-details.data.service'; describe('VocabularyService', () => { diff --git a/src/app/core/submission/vocabularies/vocabulary.service.ts b/src/app/core/submission/vocabularies/vocabulary.service.ts index f8f5915418..6e1487dff6 100644 --- a/src/app/core/submission/vocabularies/vocabulary.service.ts +++ b/src/app/core/submission/vocabularies/vocabulary.service.ts @@ -1,25 +1,33 @@ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { map, switchMap, mergeMap } from 'rxjs/operators'; -import { FollowLinkConfig, followLink } from '../../../shared/utils/follow-link-config.model'; -import { RequestService } from '../../data/request.service'; -import { RemoteData } from '../../data/remote-data'; -import { PaginatedList } from '../../data/paginated-list.model'; -import { Vocabulary } from './models/vocabulary.model'; -import { VocabularyEntry } from './models/vocabulary-entry.model'; +import { + map, + mergeMap, + switchMap, +} from 'rxjs/operators'; + import { isNotEmpty } from '../../../shared/empty.util'; +import { + followLink, + FollowLinkConfig, +} from '../../../shared/utils/follow-link-config.model'; +import { RequestParam } from '../../cache/models/request-param.model'; +import { FindListOptions } from '../../data/find-list-options.model'; +import { PaginatedList } from '../../data/paginated-list.model'; +import { RemoteData } from '../../data/remote-data'; +import { RequestService } from '../../data/request.service'; import { getFirstSucceededRemoteDataPayload, getFirstSucceededRemoteListPayload, } from '../../shared/operators'; -import { VocabularyFindOptions } from './models/vocabulary-find-options.model'; -import { VocabularyEntryDetail } from './models/vocabulary-entry-detail.model'; -import { RequestParam } from '../../cache/models/request-param.model'; -import { VocabularyOptions } from './models/vocabulary-options.model'; import { PageInfo } from '../../shared/page-info.model'; -import { FindListOptions } from '../../data/find-list-options.model'; -import { VocabularyEntryDetailsDataService } from './vocabulary-entry-details.data.service'; +import { Vocabulary } from './models/vocabulary.model'; +import { VocabularyEntry } from './models/vocabulary-entry.model'; +import { VocabularyEntryDetail } from './models/vocabulary-entry-detail.model'; +import { VocabularyFindOptions } from './models/vocabulary-find-options.model'; +import { VocabularyOptions } from './models/vocabulary-options.model'; import { VocabularyDataService } from './vocabulary.data.service'; +import { VocabularyEntryDetailsDataService } from './vocabulary-entry-details.data.service'; /** * A service responsible for fetching/sending data from/to the REST API on the vocabularies endpoint diff --git a/src/app/core/submission/workflowitem-data.service.spec.ts b/src/app/core/submission/workflowitem-data.service.spec.ts index d8442dec25..88bb78f863 100644 --- a/src/app/core/submission/workflowitem-data.service.spec.ts +++ b/src/app/core/submission/workflowitem-data.service.spec.ts @@ -1,24 +1,28 @@ import { HttpClient } from '@angular/common/http'; +import { Store } from '@ngrx/store'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; +import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { PageInfo } from '../shared/page-info.model'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -import { HrefOnlyDataService } from '../data/href-only-data.service'; -import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; -import { Store } from '@ngrx/store'; import { RestResponse } from '../cache/response.models'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; -import { Item } from '../shared/item.model'; -import { WorkflowItemDataService } from './workflowitem-data.service'; -import { WorkflowItem } from './models/workflowitem.model'; import { CoreState } from '../core-state.model'; +import { HrefOnlyDataService } from '../data/href-only-data.service'; +import { RequestService } from '../data/request.service'; import { RequestEntry } from '../data/request-entry.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Item } from '../shared/item.model'; +import { PageInfo } from '../shared/page-info.model'; +import { WorkflowItem } from './models/workflowitem.model'; +import { WorkflowItemDataService } from './workflowitem-data.service'; describe('WorkflowItemDataService test', () => { let scheduler: TestScheduler; diff --git a/src/app/core/submission/workflowitem-data.service.ts b/src/app/core/submission/workflowitem-data.service.ts index a7aa5b1a02..d1faf19ad1 100644 --- a/src/app/core/submission/workflowitem-data.service.ts +++ b/src/app/core/submission/workflowitem-data.service.ts @@ -1,26 +1,36 @@ import { Injectable } from '@angular/core'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { RequestService } from '../data/request.service'; -import { WorkflowItem } from './models/workflowitem.model'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { DeleteByIDRequest } from '../data/request.models'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; import { Observable } from 'rxjs'; -import { find, map } from 'rxjs/operators'; +import { + find, + map, +} from 'rxjs/operators'; + import { hasValue } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; import { RemoteData } from '../data/remote-data'; +import { DeleteByIDRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { NoContent } from '../shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../shared/operators'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { WorkflowItem } from './models/workflowitem.model'; import { WorkspaceItem } from './models/workspaceitem.model'; -import { RequestParam } from '../cache/models/request-param.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { DeleteData, DeleteDataImpl } from '../data/base/delete-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { dataService } from '../data/base/data-service.decorator'; /** * A service that provides methods to make REST requests with workflow items endpoint. diff --git a/src/app/core/submission/workspaceitem-data.service.spec.ts b/src/app/core/submission/workspaceitem-data.service.spec.ts index 9211401e10..e9490ff945 100644 --- a/src/app/core/submission/workspaceitem-data.service.spec.ts +++ b/src/app/core/submission/workspaceitem-data.service.spec.ts @@ -1,26 +1,30 @@ import { HttpClient } from '@angular/common/http'; +import { Store } from '@ngrx/store'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; +import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { PageInfo } from '../shared/page-info.model'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -import { HrefOnlyDataService } from '../data/href-only-data.service'; -import { getMockHrefOnlyDataService } from '../../shared/mocks/href-only-data.service.mock'; -import { WorkspaceitemDataService } from './workspaceitem-data.service'; -import { Store } from '@ngrx/store'; import { RestResponse } from '../cache/response.models'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; -import { Item } from '../shared/item.model'; -import { WorkspaceItem } from './models/workspaceitem.model'; -import { RequestEntry } from '../data/request-entry.model'; import { CoreState } from '../core-state.model'; -import { testSearchDataImplementation } from '../data/base/search-data.spec'; import { testDeleteDataImplementation } from '../data/base/delete-data.spec'; +import { testSearchDataImplementation } from '../data/base/search-data.spec'; +import { HrefOnlyDataService } from '../data/href-only-data.service'; +import { RequestService } from '../data/request.service'; +import { RequestEntry } from '../data/request-entry.model'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { Item } from '../shared/item.model'; +import { PageInfo } from '../shared/page-info.model'; +import { WorkspaceItem } from './models/workspaceitem.model'; +import { WorkspaceitemDataService } from './workspaceitem-data.service'; describe('WorkspaceitemDataService test', () => { let scheduler: TestScheduler; diff --git a/src/app/core/submission/workspaceitem-data.service.ts b/src/app/core/submission/workspaceitem-data.service.ts index f285fb6eca..f7f3b1453d 100644 --- a/src/app/core/submission/workspaceitem-data.service.ts +++ b/src/app/core/submission/workspaceitem-data.service.ts @@ -1,21 +1,28 @@ import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; + +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { + DeleteData, + DeleteDataImpl, +} from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; import { RequestService } from '../data/request.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { WorkspaceItem } from './models/workspaceitem.model'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../data/remote-data'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { RequestParam } from '../cache/models/request-param.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { PaginatedList } from '../data/paginated-list.model'; -import { DeleteData, DeleteDataImpl } from '../data/base/delete-data'; import { NoContent } from '../shared/NoContent.model'; -import { dataService } from '../data/base/data-service.decorator'; +import { WorkspaceItem } from './models/workspaceitem.model'; /** * A service that provides methods to make REST requests with workspaceitems endpoint. diff --git a/src/app/core/supervision-order/models/supervision-order.model.ts b/src/app/core/supervision-order/models/supervision-order.model.ts index 64d9aaf9b7..64087c8a21 100644 --- a/src/app/core/supervision-order/models/supervision-order.model.ts +++ b/src/app/core/supervision-order/models/supervision-order.model.ts @@ -1,17 +1,25 @@ -import { autoserialize, deserialize, deserializeAs } from 'cerialize'; -import { link, typedObject } from '../../cache/builders/build-decorators'; -import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; -import { HALLink } from '../../shared/hal-link.model'; -import { SUPERVISION_ORDER } from './supervision-order.resource-type'; -import { excludeFromEquals } from '../../utilities/equals.decorators'; -import { ResourceType } from '../../shared/resource-type'; +import { + autoserialize, + deserialize, + deserializeAs, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { RemoteData } from '../../data/remote-data'; -import { GROUP } from '../../eperson/models/group.resource-type'; -import { Group } from '../../eperson/models/group.model'; + +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; import { CacheableObject } from '../../cache/cacheable-object.model'; -import { ITEM } from '../../shared/item.resource-type'; +import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer'; +import { RemoteData } from '../../data/remote-data'; +import { Group } from '../../eperson/models/group.model'; +import { GROUP } from '../../eperson/models/group.resource-type'; +import { HALLink } from '../../shared/hal-link.model'; import { Item } from '../../shared/item.model'; +import { ITEM } from '../../shared/item.resource-type'; +import { ResourceType } from '../../shared/resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; +import { SUPERVISION_ORDER } from './supervision-order.resource-type'; /** * Model class for a Supervision Order diff --git a/src/app/core/supervision-order/supervision-order-data.service.spec.ts b/src/app/core/supervision-order/supervision-order-data.service.spec.ts index 6939c32464..b4fd151efa 100644 --- a/src/app/core/supervision-order/supervision-order-data.service.spec.ts +++ b/src/app/core/supervision-order/supervision-order-data.service.spec.ts @@ -1,22 +1,26 @@ -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { RequestService } from '../data/request.service'; -import { SupervisionOrderDataService } from './supervision-order-data.service'; -import { ActionType } from './models/action-type.model'; -import { RequestParam } from '../cache/models/request-param.model'; -import { PageInfo } from '../shared/page-info.model'; -import { buildPaginatedList } from '../data/paginated-list.model'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { RestResponse } from '../cache/response.models'; -import { RequestEntry } from '../data/request-entry.model'; import { FindListOptions } from '../data/find-list-options.model'; +import { buildPaginatedList } from '../data/paginated-list.model'; +import { RequestService } from '../data/request.service'; +import { RequestEntry } from '../data/request-entry.model'; import { GroupDataService } from '../eperson/group-data.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { PageInfo } from '../shared/page-info.model'; +import { ActionType } from './models/action-type.model'; +import { SupervisionOrderDataService } from './supervision-order-data.service'; describe('SupervisionOrderService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/supervision-order/supervision-order-data.service.ts b/src/app/core/supervision-order/supervision-order-data.service.ts index ccca5ea593..dc0a7f117d 100644 --- a/src/app/core/supervision-order/supervision-order-data.service.ts +++ b/src/app/core/supervision-order/supervision-order-data.service.ts @@ -1,35 +1,39 @@ -import { Injectable } from '@angular/core'; import { HttpHeaders } from '@angular/common/http'; +import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { RequestService } from '../data/request.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { SupervisionOrder } from './models/supervision-order.model'; -import { RemoteData } from '../data/remote-data'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { SUPERVISION_ORDER } from './models/supervision-order.resource-type'; -import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service'; -import { PaginatedList } from '../data/paginated-list.model'; -import { RequestParam } from '../cache/models/request-param.model'; +import { + first, + map, +} from 'rxjs/operators'; + import { isNotEmpty } from '../../shared/empty.util'; -import { first, map } from 'rxjs/operators'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; +import { ObjectCacheService } from '../cache/object-cache.service'; +import { CreateDataImpl } from '../data/base/create-data'; +import { dataService } from '../data/base/data-service.decorator'; +import { DeleteDataImpl } from '../data/base/delete-data'; +import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { PatchDataImpl } from '../data/base/patch-data'; +import { SearchDataImpl } from '../data/base/search-data'; +import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { ResponseParsingService } from '../data/parsing.service'; +import { RemoteData } from '../data/remote-data'; +import { PutRequest } from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { StatusCodeOnlyResponseParsingService } from '../data/status-code-only-response-parsing.service'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { GroupDataService } from '../eperson/group-data.service'; +import { GenericConstructor } from '../shared/generic-constructor'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; import { NoContent } from '../shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../shared/operators'; -import { FindListOptions } from '../data/find-list-options.model'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { PutRequest } from '../data/request.models'; -import { GenericConstructor } from '../shared/generic-constructor'; -import { ResponseParsingService } from '../data/parsing.service'; -import { StatusCodeOnlyResponseParsingService } from '../data/status-code-only-response-parsing.service'; -import { GroupDataService } from '../eperson/group-data.service'; -import { IdentifiableDataService } from '../data/base/identifiable-data.service'; -import { CreateDataImpl } from '../data/base/create-data'; -import { SearchDataImpl } from '../data/base/search-data'; -import { PatchDataImpl } from '../data/base/patch-data'; -import { DeleteDataImpl } from '../data/base/delete-data'; -import { dataService } from '../data/base/data-service.decorator'; +import { SupervisionOrder } from './models/supervision-order.model'; +import { SUPERVISION_ORDER } from './models/supervision-order.resource-type'; /** * A service responsible for fetching/sending data from/to the REST API on the supervisionorders endpoint diff --git a/src/app/core/tasks/claimed-task-data.service.spec.ts b/src/app/core/tasks/claimed-task-data.service.spec.ts index 3f314d693c..a0df1e3202 100644 --- a/src/app/core/tasks/claimed-task-data.service.spec.ts +++ b/src/app/core/tasks/claimed-task-data.service.spec.ts @@ -1,17 +1,17 @@ import { HttpHeaders } from '@angular/common/http'; +import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { ClaimedTaskDataService } from './claimed-task-data.service'; -import { of as observableOf } from 'rxjs'; import { RequestParam } from '../cache/models/request-param.model'; -import { getTestScheduler } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { FindListOptions } from '../data/find-list-options.model'; import { testSearchDataImplementation } from '../data/base/search-data.spec'; +import { FindListOptions } from '../data/find-list-options.model'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { ClaimedTaskDataService } from './claimed-task-data.service'; describe('ClaimedTaskDataService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/tasks/claimed-task-data.service.ts b/src/app/core/tasks/claimed-task-data.service.ts index 6908b5cc69..08dc553b10 100644 --- a/src/app/core/tasks/claimed-task-data.service.ts +++ b/src/app/core/tasks/claimed-task-data.service.ts @@ -1,20 +1,21 @@ import { HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { FindListOptions } from '../data/find-list-options.model'; +import { RemoteData } from '../data/remote-data'; import { RequestService } from '../data/request.service'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { getFirstSucceededRemoteData } from '../shared/operators'; import { ClaimedTask } from './models/claimed-task-object.model'; import { CLAIMED_TASK } from './models/claimed-task-object.resource-type'; import { ProcessTaskResponse } from './models/process-task-response'; import { TasksService } from './tasks.service'; -import { RemoteData } from '../data/remote-data'; -import { RequestParam } from '../cache/models/request-param.model'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { getFirstSucceededRemoteData } from '../shared/operators'; -import { FindListOptions } from '../data/find-list-options.model'; -import { dataService } from '../data/base/data-service.decorator'; /** * The service handling all REST requests for ClaimedTask diff --git a/src/app/core/tasks/models/claimed-task-object.model.ts b/src/app/core/tasks/models/claimed-task-object.model.ts index 3ea78595f2..456c01cc79 100644 --- a/src/app/core/tasks/models/claimed-task-object.model.ts +++ b/src/app/core/tasks/models/claimed-task-object.model.ts @@ -1,5 +1,9 @@ import { inheritSerialization } from 'cerialize'; -import { inheritLinkAnnotations, typedObject } from '../../cache/builders/build-decorators'; + +import { + inheritLinkAnnotations, + typedObject, +} from '../../cache/builders/build-decorators'; import { CLAIMED_TASK } from './claimed-task-object.resource-type'; import { TaskObject } from './task-object.model'; diff --git a/src/app/core/tasks/models/pool-task-object.model.ts b/src/app/core/tasks/models/pool-task-object.model.ts index 501849e8ec..a3fb26a4c2 100644 --- a/src/app/core/tasks/models/pool-task-object.model.ts +++ b/src/app/core/tasks/models/pool-task-object.model.ts @@ -1,5 +1,9 @@ import { inheritSerialization } from 'cerialize'; -import { inheritLinkAnnotations, typedObject } from '../../cache/builders/build-decorators'; + +import { + inheritLinkAnnotations, + typedObject, +} from '../../cache/builders/build-decorators'; import { POOL_TASK } from './pool-task-object.resource-type'; import { TaskObject } from './task-object.model'; diff --git a/src/app/core/tasks/models/rating-advanced-workflow-info.model.ts b/src/app/core/tasks/models/rating-advanced-workflow-info.model.ts index dfa7a7f4b4..892806f7d1 100644 --- a/src/app/core/tasks/models/rating-advanced-workflow-info.model.ts +++ b/src/app/core/tasks/models/rating-advanced-workflow-info.model.ts @@ -1,8 +1,12 @@ +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { inheritSerialization, autoserialize } from 'cerialize'; -import { RATING_ADVANCED_WORKFLOW_INFO } from './advanced-workflow-info.resource-type'; -import { AdvancedWorkflowInfo } from './advanced-workflow-info.model'; import { ResourceType } from '../../shared/resource-type'; +import { AdvancedWorkflowInfo } from './advanced-workflow-info.model'; +import { RATING_ADVANCED_WORKFLOW_INFO } from './advanced-workflow-info.resource-type'; /** * A model class for a {@link RatingAdvancedWorkflowInfo} diff --git a/src/app/core/tasks/models/select-reviewer-advanced-workflow-info.model.ts b/src/app/core/tasks/models/select-reviewer-advanced-workflow-info.model.ts index 87f60aaa33..d202593efb 100644 --- a/src/app/core/tasks/models/select-reviewer-advanced-workflow-info.model.ts +++ b/src/app/core/tasks/models/select-reviewer-advanced-workflow-info.model.ts @@ -1,8 +1,12 @@ +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; -import { inheritSerialization, autoserialize } from 'cerialize'; -import { SELECT_REVIEWER_ADVANCED_WORKFLOW_INFO } from './advanced-workflow-info.resource-type'; -import { AdvancedWorkflowInfo } from './advanced-workflow-info.model'; import { ResourceType } from '../../shared/resource-type'; +import { AdvancedWorkflowInfo } from './advanced-workflow-info.model'; +import { SELECT_REVIEWER_ADVANCED_WORKFLOW_INFO } from './advanced-workflow-info.resource-type'; /** * A model class for a {@link SelectReviewerAdvancedWorkflowInfo} diff --git a/src/app/core/tasks/models/task-object.model.ts b/src/app/core/tasks/models/task-object.model.ts index 329b9683ec..cea886a1c6 100644 --- a/src/app/core/tasks/models/task-object.model.ts +++ b/src/app/core/tasks/models/task-object.model.ts @@ -1,19 +1,26 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { link, typedObject } from '../../cache/builders/build-decorators'; +import { + link, + typedObject, +} from '../../cache/builders/build-decorators'; +import { CacheableObject } from '../../cache/cacheable-object.model'; import { RemoteData } from '../../data/remote-data'; import { EPerson } from '../../eperson/models/eperson.model'; import { EPERSON } from '../../eperson/models/eperson.resource-type'; import { Group } from '../../eperson/models/group.model'; import { GROUP } from '../../eperson/models/group.resource-type'; +import { WORKFLOWITEM } from '../../eperson/models/workflowitem.resource-type'; import { DSpaceObject } from '../../shared/dspace-object.model'; import { HALLink } from '../../shared/hal-link.model'; import { TASK_OBJECT } from './task-object.resource-type'; -import { WORKFLOWITEM } from '../../eperson/models/workflowitem.resource-type'; -import { WORKFLOW_ACTION } from './workflow-action-object.resource-type'; import { WorkflowAction } from './workflow-action-object.model'; -import { CacheableObject } from '../../cache/cacheable-object.model'; +import { WORKFLOW_ACTION } from './workflow-action-object.resource-type'; /** * An abstract model class for a TaskObject. diff --git a/src/app/core/tasks/models/workflow-action-object.model.ts b/src/app/core/tasks/models/workflow-action-object.model.ts index 9c37d94f4a..53ae4249c8 100644 --- a/src/app/core/tasks/models/workflow-action-object.model.ts +++ b/src/app/core/tasks/models/workflow-action-object.model.ts @@ -1,8 +1,12 @@ -import { inheritSerialization, autoserialize } from 'cerialize'; +import { + autoserialize, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../cache/builders/build-decorators'; import { DSpaceObject } from '../../shared/dspace-object.model'; -import { WORKFLOW_ACTION } from './workflow-action-object.resource-type'; import { AdvancedWorkflowInfo } from './advanced-workflow-info.model'; +import { WORKFLOW_ACTION } from './workflow-action-object.resource-type'; /** * A model class for a WorkflowAction diff --git a/src/app/core/tasks/pool-task-data.service.spec.ts b/src/app/core/tasks/pool-task-data.service.spec.ts index ba0dc147c8..266c3c6223 100644 --- a/src/app/core/tasks/pool-task-data.service.spec.ts +++ b/src/app/core/tasks/pool-task-data.service.spec.ts @@ -1,17 +1,17 @@ import { HttpHeaders } from '@angular/common/http'; +import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { PoolTaskDataService } from './pool-task-data.service'; -import { getTestScheduler } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; -import { of as observableOf } from 'rxjs'; import { RequestParam } from '../cache/models/request-param.model'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { FindListOptions } from '../data/find-list-options.model'; import { testSearchDataImplementation } from '../data/base/search-data.spec'; +import { FindListOptions } from '../data/find-list-options.model'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { PoolTaskDataService } from './pool-task-data.service'; describe('PoolTaskDataService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/tasks/pool-task-data.service.ts b/src/app/core/tasks/pool-task-data.service.ts index a49908547a..224ca94675 100644 --- a/src/app/core/tasks/pool-task-data.service.ts +++ b/src/app/core/tasks/pool-task-data.service.ts @@ -1,18 +1,18 @@ import { Injectable } from '@angular/core'; - import { Observable } from 'rxjs'; + import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { RequestParam } from '../cache/models/request-param.model'; import { ObjectCacheService } from '../cache/object-cache.service'; +import { dataService } from '../data/base/data-service.decorator'; +import { FindListOptions } from '../data/find-list-options.model'; +import { RemoteData } from '../data/remote-data'; import { RequestService } from '../data/request.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { getFirstCompletedRemoteData } from '../shared/operators'; import { PoolTask } from './models/pool-task-object.model'; import { POOL_TASK } from './models/pool-task-object.resource-type'; import { TasksService } from './tasks.service'; -import { RemoteData } from '../data/remote-data'; -import { RequestParam } from '../cache/models/request-param.model'; -import { getFirstCompletedRemoteData } from '../shared/operators'; -import { FindListOptions } from '../data/find-list-options.model'; -import { dataService } from '../data/base/data-service.decorator'; /** * The service handling all REST requests for PoolTask diff --git a/src/app/core/tasks/task-response-parsing.service.ts b/src/app/core/tasks/task-response-parsing.service.ts index e2e009386f..1d4ab641f4 100644 --- a/src/app/core/tasks/task-response-parsing.service.ts +++ b/src/app/core/tasks/task-response-parsing.service.ts @@ -1,12 +1,11 @@ import { Injectable } from '@angular/core'; -import { ResponseParsingService } from '../data/parsing.service'; -import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; - -import { BaseResponseParsingService } from '../data/base-response-parsing.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { ParsedResponse } from '../cache/response.models'; +import { BaseResponseParsingService } from '../data/base-response-parsing.service'; +import { ResponseParsingService } from '../data/parsing.service'; import { RestRequest } from '../data/rest-request.model'; +import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; /** * Provides methods to parse response for a task request. diff --git a/src/app/core/tasks/tasks.service.spec.ts b/src/app/core/tasks/tasks.service.spec.ts index c8d5bafb95..8c1d33d953 100644 --- a/src/app/core/tasks/tasks.service.spec.ts +++ b/src/app/core/tasks/tasks.service.spec.ts @@ -1,26 +1,32 @@ /* eslint-disable max-classes-per-file */ +import { HttpHeaders } from '@angular/common/http'; +import { Store } from '@ngrx/store'; +import { + compare, + Operation, +} from 'fast-json-patch'; import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { getMockRequestService } from '../../shared/mocks/request.service.mock'; -import { TasksService } from './tasks.service'; -import { RequestService } from '../data/request.service'; -import { TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { TaskObject } from './models/task-object.model'; -import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; -import { Store } from '@ngrx/store'; -import { ObjectCacheService } from '../cache/object-cache.service'; -import { HttpHeaders } from '@angular/common/http'; -import { ChangeAnalyzer } from '../data/change-analyzer'; -import { compare, Operation } from 'fast-json-patch'; -import { of as observableOf } from 'rxjs'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../cache/object-cache.service'; import { CoreState } from '../core-state.model'; -import { FindListOptions } from '../data/find-list-options.model'; import { testSearchDataImplementation } from '../data/base/search-data.spec'; +import { ChangeAnalyzer } from '../data/change-analyzer'; +import { FindListOptions } from '../data/find-list-options.model'; +import { + TaskDeleteRequest, + TaskPostRequest, +} from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { TaskObject } from './models/task-object.model'; +import { TasksService } from './tasks.service'; const LINK_NAME = 'test'; diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index 7c9f91a26d..2920fe4ac8 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -1,23 +1,44 @@ import { HttpHeaders } from '@angular/common/http'; - import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, find, map, mergeMap, tap } from 'rxjs/operators'; -import { DeleteRequest, PostRequest, TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { ProcessTaskResponse } from './models/process-task-response'; -import { getAllCompletedRemoteData, getFirstCompletedRemoteData } from '../shared/operators'; -import { RemoteData } from '../data/remote-data'; +import { + distinctUntilChanged, + filter, + find, + map, + mergeMap, + tap, +} from 'rxjs/operators'; + +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { CacheableObject } from '../cache/cacheable-object.model'; -import { FindListOptions } from '../data/find-list-options.model'; -import { SearchData, SearchDataImpl } from '../data/base/search-data'; -import { RequestService } from '../data/request.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; +import { CacheableObject } from '../cache/cacheable-object.model'; import { ObjectCacheService } from '../cache/object-cache.service'; -import { HALEndpointService } from '../shared/hal-endpoint.service'; -import { PaginatedList } from '../data/paginated-list.model'; import { IdentifiableDataService } from '../data/base/identifiable-data.service'; +import { + SearchData, + SearchDataImpl, +} from '../data/base/search-data'; +import { FindListOptions } from '../data/find-list-options.model'; +import { PaginatedList } from '../data/paginated-list.model'; +import { RemoteData } from '../data/remote-data'; +import { + DeleteRequest, + PostRequest, + TaskDeleteRequest, + TaskPostRequest, +} from '../data/request.models'; +import { RequestService } from '../data/request.service'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { HALEndpointService } from '../shared/hal-endpoint.service'; +import { + getAllCompletedRemoteData, + getFirstCompletedRemoteData, +} from '../shared/operators'; +import { ProcessTaskResponse } from './models/process-task-response'; /** * An abstract class that provides methods to handle task requests. todo: data in name diff --git a/src/app/core/url-combiner/rest-url-combiner.ts b/src/app/core/url-combiner/rest-url-combiner.ts index ef3a176a32..e3667dbe29 100644 --- a/src/app/core/url-combiner/rest-url-combiner.ts +++ b/src/app/core/url-combiner/rest-url-combiner.ts @@ -1,5 +1,5 @@ -import { URLCombiner } from './url-combiner'; import { environment } from '../../../environments/environment'; +import { URLCombiner } from './url-combiner'; /** * Combines a variable number of strings representing parts diff --git a/src/app/core/url-combiner/ui-url-combiner.ts b/src/app/core/url-combiner/ui-url-combiner.ts index 534c5620b5..2dae5217d7 100644 --- a/src/app/core/url-combiner/ui-url-combiner.ts +++ b/src/app/core/url-combiner/ui-url-combiner.ts @@ -1,5 +1,5 @@ -import { URLCombiner } from './url-combiner'; import { environment } from '../../../environments/environment'; +import { URLCombiner } from './url-combiner'; /** * Combines a variable number of strings representing parts diff --git a/src/app/core/utilities/enter-zone.scheduler.ts b/src/app/core/utilities/enter-zone.scheduler.ts index b97b5bd1aa..6c95eae263 100644 --- a/src/app/core/utilities/enter-zone.scheduler.ts +++ b/src/app/core/utilities/enter-zone.scheduler.ts @@ -1,5 +1,8 @@ -import { SchedulerLike, Subscription } from 'rxjs'; import { NgZone } from '@angular/core'; +import { + SchedulerLike, + Subscription, +} from 'rxjs'; /** * An RXJS scheduler that will re-enter the Angular zone to run what's scheduled diff --git a/src/app/core/utilities/equals.decorators.ts b/src/app/core/utilities/equals.decorators.ts index 159d8a70c1..78bfd01740 100644 --- a/src/app/core/utilities/equals.decorators.ts +++ b/src/app/core/utilities/equals.decorators.ts @@ -1,4 +1,8 @@ -import { hasNoValue, hasValue, isEmpty } from '../../shared/empty.util'; +import { + hasNoValue, + hasValue, + isEmpty, +} from '../../shared/empty.util'; import { GenericConstructor } from '../shared/generic-constructor'; const excludedFromEquals = new Map(); diff --git a/src/app/core/utilities/equatable.spec.ts b/src/app/core/utilities/equatable.spec.ts index 8264e057fd..808c21b39f 100644 --- a/src/app/core/utilities/equatable.spec.ts +++ b/src/app/core/utilities/equatable.spec.ts @@ -1,7 +1,12 @@ /* eslint-disable max-classes-per-file */ -import { EquatableObject, excludeFromEquals, fieldsForEquals } from './equals.decorators'; import cloneDeep from 'lodash/cloneDeep'; +import { + EquatableObject, + excludeFromEquals, + fieldsForEquals, +} from './equals.decorators'; + class Dog extends EquatableObject { public name: string; diff --git a/src/app/core/utilities/leave-zone.scheduler.ts b/src/app/core/utilities/leave-zone.scheduler.ts index c0bc4bc0e1..47d1400b4e 100644 --- a/src/app/core/utilities/leave-zone.scheduler.ts +++ b/src/app/core/utilities/leave-zone.scheduler.ts @@ -1,5 +1,8 @@ -import { SchedulerLike, Subscription } from 'rxjs'; import { NgZone } from '@angular/core'; +import { + SchedulerLike, + Subscription, +} from 'rxjs'; /** * An RXJS scheduler that will run what's scheduled outside of the Angular zone diff --git a/src/app/core/xsrf/xsrf.interceptor.spec.ts b/src/app/core/xsrf/xsrf.interceptor.spec.ts index 7dd046789c..f95ac11034 100644 --- a/src/app/core/xsrf/xsrf.interceptor.spec.ts +++ b/src/app/core/xsrf/xsrf.interceptor.spec.ts @@ -1,12 +1,20 @@ +import { + HTTP_INTERCEPTORS, + HttpHeaders, + HttpXsrfTokenExtractor, +} from '@angular/common/http'; +import { + HttpClientTestingModule, + HttpTestingController, +} from '@angular/common/http/testing'; import { TestBed } from '@angular/core/testing'; -import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; -import { HttpHeaders, HTTP_INTERCEPTORS, HttpXsrfTokenExtractor } from '@angular/common/http'; -import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; -import { RestRequestMethod } from '../data/rest-request-method'; -import { CookieService } from '../services/cookie.service'; + import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; -import { XsrfInterceptor } from './xsrf.interceptor'; import { HttpXsrfTokenExtractorMock } from '../../shared/mocks/http-xsrf-token-extractor.mock'; +import { RestRequestMethod } from '../data/rest-request-method'; +import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; +import { CookieService } from '../services/cookie.service'; +import { XsrfInterceptor } from './xsrf.interceptor'; describe(`XsrfInterceptor`, () => { let service: DspaceRestService; diff --git a/src/app/core/xsrf/xsrf.interceptor.ts b/src/app/core/xsrf/xsrf.interceptor.ts index be7ae4c4cf..f3299491e0 100644 --- a/src/app/core/xsrf/xsrf.interceptor.ts +++ b/src/app/core/xsrf/xsrf.interceptor.ts @@ -1,4 +1,3 @@ -import { Injectable } from '@angular/core'; import { HttpErrorResponse, HttpEvent, @@ -8,11 +7,23 @@ import { HttpResponse, HttpXsrfTokenExtractor, } from '@angular/common/http'; -import { Observable, throwError } from 'rxjs'; -import { tap, catchError } from 'rxjs/operators'; -import { RESTURLCombiner } from '../url-combiner/rest-url-combiner'; +import { Injectable } from '@angular/core'; +import { + Observable, + throwError, +} from 'rxjs'; +import { + catchError, + tap, +} from 'rxjs/operators'; + import { CookieService } from '../services/cookie.service'; -import { XSRF_COOKIE, XSRF_REQUEST_HEADER, XSRF_RESPONSE_HEADER } from './xsrf.constants'; +import { RESTURLCombiner } from '../url-combiner/rest-url-combiner'; +import { + XSRF_COOKIE, + XSRF_REQUEST_HEADER, + XSRF_RESPONSE_HEADER, +} from './xsrf.constants'; /** * Custom Http Interceptor intercepting Http Requests & Responses to diff --git a/src/app/correlation-id/correlation-id.actions.ts b/src/app/correlation-id/correlation-id.actions.ts index 85faad4752..2f7edcabd9 100644 --- a/src/app/correlation-id/correlation-id.actions.ts +++ b/src/app/correlation-id/correlation-id.actions.ts @@ -1,6 +1,7 @@ -import { type } from '../shared/ngrx/type'; import { Action } from '@ngrx/store'; +import { type } from '../shared/ngrx/type'; + export const CorrelationIDActionTypes = { SET: type('dspace/core/correlationId/SET'), }; diff --git a/src/app/correlation-id/correlation-id.reducer.spec.ts b/src/app/correlation-id/correlation-id.reducer.spec.ts index c784def1d9..876bd93114 100644 --- a/src/app/correlation-id/correlation-id.reducer.spec.ts +++ b/src/app/correlation-id/correlation-id.reducer.spec.ts @@ -1,5 +1,5 @@ -import { correlationIdReducer } from './correlation-id.reducer'; import { SetCorrelationIdAction } from './correlation-id.actions'; +import { correlationIdReducer } from './correlation-id.reducer'; describe('correlationIdReducer', () => { it('should set the correlatinId with SET action', () => { diff --git a/src/app/correlation-id/correlation-id.reducer.ts b/src/app/correlation-id/correlation-id.reducer.ts index d18c7bc83e..6555196848 100644 --- a/src/app/correlation-id/correlation-id.reducer.ts +++ b/src/app/correlation-id/correlation-id.reducer.ts @@ -1,4 +1,8 @@ -import { CorrelationIdAction, CorrelationIDActionTypes, SetCorrelationIdAction } from './correlation-id.actions'; +import { + CorrelationIdAction, + CorrelationIDActionTypes, + SetCorrelationIdAction, +} from './correlation-id.actions'; const initialState = null; diff --git a/src/app/correlation-id/correlation-id.service.spec.ts b/src/app/correlation-id/correlation-id.service.spec.ts index 816c3694a5..5108ee1713 100644 --- a/src/app/correlation-id/correlation-id.service.spec.ts +++ b/src/app/correlation-id/correlation-id.service.spec.ts @@ -1,11 +1,19 @@ -import { CorrelationIdService } from './correlation-id.service'; -import { CookieServiceMock } from '../shared/mocks/cookie.service.mock'; -import { UUIDService } from '../core/shared/uuid.service'; -import { MockStore } from '@ngrx/store/testing'; import { TestBed } from '@angular/core/testing'; -import { Store, StoreModule } from '@ngrx/store'; -import { appReducers, AppState, storeModuleConfig } from '../app.reducer'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { MockStore } from '@ngrx/store/testing'; + +import { + appReducers, + AppState, + storeModuleConfig, +} from '../app.reducer'; +import { UUIDService } from '../core/shared/uuid.service'; +import { CookieServiceMock } from '../shared/mocks/cookie.service.mock'; import { SetCorrelationIdAction } from './correlation-id.actions'; +import { CorrelationIdService } from './correlation-id.service'; describe('CorrelationIdService', () => { let service: CorrelationIdService; diff --git a/src/app/correlation-id/correlation-id.service.ts b/src/app/correlation-id/correlation-id.service.ts index 964ec590ff..057708b954 100644 --- a/src/app/correlation-id/correlation-id.service.ts +++ b/src/app/correlation-id/correlation-id.service.ts @@ -1,11 +1,15 @@ +import { Injectable } from '@angular/core'; +import { + select, + Store, +} from '@ngrx/store'; +import { take } from 'rxjs/operators'; + +import { AppState } from '../app.reducer'; import { CookieService } from '../core/services/cookie.service'; import { UUIDService } from '../core/shared/uuid.service'; -import { Store, select } from '@ngrx/store'; -import { AppState } from '../app.reducer'; import { isEmpty } from '../shared/empty.util'; -import { take } from 'rxjs/operators'; import { SetCorrelationIdAction } from './correlation-id.actions'; -import { Injectable } from '@angular/core'; import { correlationIdSelector } from './correlation-id.selector'; /** diff --git a/src/app/curation-form/curation-form.component.spec.ts b/src/app/curation-form/curation-form.component.spec.ts index 2abbf95083..6f6baf9ed9 100644 --- a/src/app/curation-form/curation-form.component.spec.ts +++ b/src/app/curation-form/curation-form.component.spec.ts @@ -1,21 +1,32 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { CurationFormComponent } from './curation-form.component'; -import { ScriptDataService } from '../core/data/processes/script-data.service'; -import { ProcessDataService } from '../core/data/processes/process-data.service'; -import { Process } from '../process-page/processes/process.model'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; -import { RouterStub } from '../shared/testing/router.stub'; -import { NotificationsService } from '../shared/notifications/notifications.service'; -import { Router } from '@angular/router'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + import { ConfigurationDataService } from '../core/data/configuration-data.service'; +import { ProcessDataService } from '../core/data/processes/process-data.service'; +import { ScriptDataService } from '../core/data/processes/script-data.service'; import { ConfigurationProperty } from '../core/shared/configuration-property.model'; import { getProcessDetailRoute } from '../process-page/process-page-routing.paths'; +import { Process } from '../process-page/processes/process.model'; import { HandleService } from '../shared/handle.service'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; +import { RouterStub } from '../shared/testing/router.stub'; +import { CurationFormComponent } from './curation-form.component'; describe('CurationFormComponent', () => { let comp: CurationFormComponent; diff --git a/src/app/curation-form/curation-form.component.ts b/src/app/curation-form/curation-form.component.ts index b81a566197..fe03df83fc 100644 --- a/src/app/curation-form/curation-form.component.ts +++ b/src/app/curation-form/curation-form.component.ts @@ -1,20 +1,36 @@ -import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core'; -import { ScriptDataService } from '../core/data/processes/script-data.service'; -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; -import { getFirstCompletedRemoteData } from '../core/shared/operators'; -import { find, map } from 'rxjs/operators'; -import { NotificationsService } from '../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { hasValue, isEmpty, isNotEmpty } from '../shared/empty.util'; -import { RemoteData } from '../core/data/remote-data'; +import { + ChangeDetectorRef, + Component, + Input, + OnInit, +} from '@angular/core'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { Router } from '@angular/router'; -import { ProcessDataService } from '../core/data/processes/process-data.service'; -import { Process } from '../process-page/processes/process.model'; -import { ConfigurationDataService } from '../core/data/configuration-data.service'; -import { ConfigurationProperty } from '../core/shared/configuration-property.model'; +import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; +import { + find, + map, +} from 'rxjs/operators'; + +import { ConfigurationDataService } from '../core/data/configuration-data.service'; +import { ProcessDataService } from '../core/data/processes/process-data.service'; +import { ScriptDataService } from '../core/data/processes/script-data.service'; +import { RemoteData } from '../core/data/remote-data'; +import { ConfigurationProperty } from '../core/shared/configuration-property.model'; +import { getFirstCompletedRemoteData } from '../core/shared/operators'; import { getProcessDetailRoute } from '../process-page/process-page-routing.paths'; +import { Process } from '../process-page/processes/process.model'; +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../shared/empty.util'; import { HandleService } from '../shared/handle.service'; +import { NotificationsService } from '../shared/notifications/notifications.service'; export const CURATION_CFG = 'plugin.named.org.dspace.curate.CurationTask'; /** diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.spec.ts index 3ade3d475c..9d9ec3d337 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.spec.ts @@ -1,14 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { DsoEditMetadataFieldValuesComponent } from './dso-edit-metadata-field-values.component'; -import { DsoEditMetadataForm } from '../dso-edit-metadata-form'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { + BehaviorSubject, + of, +} from 'rxjs'; + import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { MetadataValue } from '../../../core/shared/metadata.models'; -import { of, BehaviorSubject } from 'rxjs'; -import { By } from '@angular/platform-browser'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { DsoEditMetadataForm } from '../dso-edit-metadata-form'; +import { DsoEditMetadataFieldValuesComponent } from './dso-edit-metadata-field-values.component'; describe('DsoEditMetadataFieldValuesComponent', () => { let component: DsoEditMetadataFieldValuesComponent; diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.ts index dc9cf1f134..0d752486bc 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.ts @@ -1,8 +1,24 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { DsoEditMetadataChangeType, DsoEditMetadataForm, DsoEditMetadataValue } from '../dso-edit-metadata-form'; +import { + CdkDragDrop, + moveItemInArray, +} from '@angular/cdk/drag-drop'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; + import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; -import { BehaviorSubject, Observable } from 'rxjs'; +import { + DsoEditMetadataChangeType, + DsoEditMetadataForm, + DsoEditMetadataValue, +} from '../dso-edit-metadata-form'; @Component({ selector: 'ds-dso-edit-metadata-field-values', diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.spec.ts index 5f8680088a..01a6ba48ca 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.spec.ts @@ -1,6 +1,9 @@ -import { DsoEditMetadataChangeType, DsoEditMetadataForm } from './dso-edit-metadata-form'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { MetadataValue } from '../../core/shared/metadata.models'; +import { + DsoEditMetadataChangeType, + DsoEditMetadataForm, +} from './dso-edit-metadata-form'; describe('DsoEditMetadataForm', () => { let form: DsoEditMetadataForm; diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts index 8206ec9135..84e041dd82 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-form.ts @@ -1,12 +1,24 @@ /* eslint-disable max-classes-per-file */ -import { MetadataMap, MetadataValue } from '../../core/shared/metadata.models'; -import { hasNoValue, hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { MoveOperation, Operation } from 'fast-json-patch'; -import { MetadataPatchReplaceOperation } from '../../core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-replace-operation.model'; -import { MetadataPatchRemoveOperation } from '../../core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-remove-operation.model'; -import { MetadataPatchAddOperation } from '../../core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-add-operation.model'; +import { + MoveOperation, + Operation, +} from 'fast-json-patch'; + import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service'; +import { MetadataPatchAddOperation } from '../../core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-add-operation.model'; import { MetadataPatchMoveOperation } from '../../core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-move-operation.model'; +import { MetadataPatchRemoveOperation } from '../../core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-remove-operation.model'; +import { MetadataPatchReplaceOperation } from '../../core/data/object-updates/patch-operation-service/operations/metadata/metadata-patch-replace-operation.model'; +import { + MetadataMap, + MetadataValue, +} from '../../core/shared/metadata.models'; +import { + hasNoValue, + hasValue, + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; /** * Enumeration for the type of change occurring on a metadata value diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.spec.ts index 4ada5f6d74..2e67af08eb 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.spec.ts @@ -1,10 +1,15 @@ -import { DsoEditMetadataHeadersComponent } from './dso-edit-metadata-headers.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { VarDirective } from '../../../shared/utils/var.directive'; +import { DsoEditMetadataHeadersComponent } from './dso-edit-metadata-headers.component'; describe('DsoEditMetadataHeadersComponent', () => { let component: DsoEditMetadataHeadersComponent; diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.ts index 9c21c8ac9e..e256b76c90 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; @Component({ selector: 'ds-dso-edit-metadata-headers', diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component.ts index dfda2a50d1..a15da89e42 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; @Component({ selector: 'ds-dso-edit-metadata-value-headers', diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts index 6c3fefab1a..0d4e95daf7 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts @@ -1,16 +1,30 @@ -import { DsoEditMetadataValueComponent } from './dso-edit-metadata-value.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { of } from 'rxjs'; -import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model'; -import { MetadataValue, VIRTUAL_METADATA_PREFIX } from '../../../core/shared/metadata.models'; -import { DsoEditMetadataChangeType, DsoEditMetadataValue } from '../dso-edit-metadata-form'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; +import { + MetadataValue, + VIRTUAL_METADATA_PREFIX, +} from '../../../core/shared/metadata.models'; +import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { + DsoEditMetadataChangeType, + DsoEditMetadataValue, +} from '../dso-edit-metadata-form'; +import { DsoEditMetadataValueComponent } from './dso-edit-metadata-value.component'; const EDIT_BTN = 'edit'; const CONFIRM_BTN = 'confirm'; diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts index 58ccd0ffd0..d837e4c7b3 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts @@ -1,16 +1,29 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { DsoEditMetadataChangeType, DsoEditMetadataValue } from '../dso-edit-metadata-form'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { + EMPTY, + Observable, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model'; import { MetadataRepresentation, MetadataRepresentationType, } from '../../../core/shared/metadata-representation/metadata-representation.model'; -import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model'; -import { map } from 'rxjs/operators'; import { getItemPageRoute } from '../../../item-page/item-page-routing-paths'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { EMPTY, Observable } from 'rxjs'; +import { + DsoEditMetadataChangeType, + DsoEditMetadataValue, +} from '../dso-edit-metadata-form'; @Component({ selector: 'ds-dso-edit-metadata-value', diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts index c126990cf0..2064d198e1 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts @@ -1,21 +1,30 @@ -import { DsoEditMetadataComponent } from './dso-edit-metadata.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; +import { + DebugElement, + Injectable, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { DebugElement, Injectable, NO_ERRORS_SCHEMA } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { Operation } from 'fast-json-patch'; +import { Observable } from 'rxjs'; + +import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service'; +import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorator'; +import { RemoteData } from '../../core/data/remote-data'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { Item } from '../../core/shared/item.model'; -import { MetadataValue } from '../../core/shared/metadata.models'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { By } from '@angular/platform-browser'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service'; import { ITEM } from '../../core/shared/item.resource-type'; -import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorator'; -import { Operation } from 'fast-json-patch'; -import { RemoteData } from '../../core/data/remote-data'; -import { Observable } from 'rxjs'; +import { MetadataValue } from '../../core/shared/metadata.models'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { DsoEditMetadataComponent } from './dso-edit-metadata.component'; const ADD_BTN = 'add'; const REINSTATE_BTN = 'reinstate'; diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts index 3bd726f5f8..3f73710de2 100644 --- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts @@ -1,24 +1,42 @@ -import { Component, Inject, Injector, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; -import { AlertType } from '../../shared/alert/aletr-type'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { DsoEditMetadataForm } from './dso-edit-metadata-form'; -import { map } from 'rxjs/operators'; -import { ActivatedRoute, Data } from '@angular/router'; -import { combineLatest as observableCombineLatest, Subscription, BehaviorSubject, Observable } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { hasNoValue, hasValue } from '../../shared/empty.util'; import { - getFirstCompletedRemoteData, -} from '../../core/shared/operators'; -import { UpdateDataService } from '../../core/data/update-data.service'; -import { ResourceType } from '../../core/shared/resource-type'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; + Component, + Inject, + Injector, + Input, + OnDestroy, + OnInit, + ViewChild, +} from '@angular/core'; +import { + ActivatedRoute, + Data, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { MetadataFieldSelectorComponent } from './metadata-field-selector/metadata-field-selector.component'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service'; import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorator'; -import { GenericConstructor } from '../../core/shared/generic-constructor'; import { HALDataService } from '../../core/data/base/hal-data-service.interface'; +import { RemoteData } from '../../core/data/remote-data'; +import { UpdateDataService } from '../../core/data/update-data.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { ResourceType } from '../../core/shared/resource-type'; +import { AlertType } from '../../shared/alert/aletr-type'; +import { + hasNoValue, + hasValue, +} from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { DsoEditMetadataForm } from './dso-edit-metadata-form'; +import { MetadataFieldSelectorComponent } from './metadata-field-selector/metadata-field-selector.component'; @Component({ selector: 'ds-dso-edit-metadata', diff --git a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts index ade0d7c9b9..c05d31d4c5 100644 --- a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts +++ b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts @@ -1,18 +1,29 @@ -import { MetadataFieldSelectorComponent } from './metadata-field-selector.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RegistryService } from '../../../core/registry/registry.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; import { MetadataField } from '../../../core/metadata/metadata-field.model'; import { MetadataSchema } from '../../../core/metadata/metadata-schema.model'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { RegistryService } from '../../../core/registry/registry.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; import { createPaginatedList } from '../../../shared/testing/utils.test'; import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { By } from '@angular/platform-browser'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { MetadataFieldSelectorComponent } from './metadata-field-selector.component'; describe('MetadataFieldSelectorComponent', () => { let component: MetadataFieldSelectorComponent; diff --git a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts index cc9be9151f..b7669333b0 100644 --- a/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts @@ -9,20 +9,36 @@ import { Output, ViewChild, } from '@angular/core'; -import { debounceTime, distinctUntilChanged, map, switchMap, take, tap } from 'rxjs/operators'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { UntypedFormControl } from '@angular/forms'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Observable, + of, + Subscription, +} from 'rxjs'; +import { + debounceTime, + distinctUntilChanged, + map, + switchMap, + take, + tap, +} from 'rxjs/operators'; + +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; +import { RegistryService } from '../../../core/registry/registry.service'; import { getAllSucceededRemoteData, getFirstCompletedRemoteData, metadataFieldsToString, } from '../../../core/shared/operators'; -import { RegistryService } from '../../../core/registry/registry.service'; -import { UntypedFormControl } from '@angular/forms'; import { hasValue } from '../../../shared/empty.util'; -import { of, Subscription, Observable, BehaviorSubject } from 'rxjs'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; @Component({ selector: 'ds-metadata-field-selector', diff --git a/src/app/dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component.ts b/src/app/dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component.ts index ba21907c99..614217047b 100644 --- a/src/app/dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component.ts +++ b/src/app/dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component.ts @@ -1,8 +1,12 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { UpdateDataService } from '../../core/data/update-data.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { DsoEditMetadataComponent } from './dso-edit-metadata.component'; -import { Component, Input } from '@angular/core'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { UpdateDataService } from '../../core/data/update-data.service'; @Component({ selector: 'ds-themed-dso-edit-metadata', diff --git a/src/app/dso-shared/dso-shared.module.ts b/src/app/dso-shared/dso-shared.module.ts index 7d44d6a920..ff6a48d2ab 100644 --- a/src/app/dso-shared/dso-shared.module.ts +++ b/src/app/dso-shared/dso-shared.module.ts @@ -1,11 +1,12 @@ import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; import { DsoEditMetadataComponent } from './dso-edit-metadata/dso-edit-metadata.component'; -import { MetadataFieldSelectorComponent } from './dso-edit-metadata/metadata-field-selector/metadata-field-selector.component'; import { DsoEditMetadataFieldValuesComponent } from './dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component'; -import { DsoEditMetadataValueComponent } from './dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component'; import { DsoEditMetadataHeadersComponent } from './dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component'; +import { DsoEditMetadataValueComponent } from './dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component'; import { DsoEditMetadataValueHeadersComponent } from './dso-edit-metadata/dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component'; +import { MetadataFieldSelectorComponent } from './dso-edit-metadata/metadata-field-selector/metadata-field-selector.component'; import { ThemedDsoEditMetadataComponent } from './dso-edit-metadata/themed-dso-edit-metadata.component'; @NgModule({ diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts index 03a44230a4..af19acfdb9 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts @@ -1,17 +1,24 @@ -import { Item } from '../../../../core/shared/item.model'; -import { JournalIssueGridElementComponent } from './journal-issue-grid-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { of as observableOf } from 'rxjs'; -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { JournalIssueGridElementComponent } from './journal-issue-grid-element.component'; const mockItem = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.ts index 3e57731613..29d2d1600e 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('JournalIssue', ViewMode.GridElement) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts index 08c008bd70..9bdd1b915a 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts @@ -1,17 +1,24 @@ -import { Item } from '../../../../core/shared/item.model'; -import { JournalVolumeGridElementComponent } from './journal-volume-grid-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { of as observableOf } from 'rxjs'; -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { JournalVolumeGridElementComponent } from './journal-volume-grid-element.component'; const mockItem = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.ts index eb88c25a12..93b0fa3ab9 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('JournalVolume', ViewMode.GridElement) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts index c58c9277e5..492d10b86d 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts @@ -1,17 +1,24 @@ -import { Item } from '../../../../core/shared/item.model'; -import { of as observableOf } from 'rxjs'; -import { JournalGridElementComponent } from './journal-grid-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { JournalGridElementComponent } from './journal-grid-element.component'; const mockItem = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.ts index 1d7c1e5b73..a2977e7d22 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('Journal', ViewMode.GridElement) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.spec.ts index 0703fc2ec2..a268c4b97b 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.spec.ts @@ -1,10 +1,10 @@ -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { Item } from '../../../../../core/shared/item.model'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { JournalIssueSearchResultGridElementComponent } from './journal-issue-search-result-grid-element.component'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { JournalIssueSearchResultGridElementComponent } from './journal-issue-search-result-grid-element.component'; const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); mockItemWithMetadata.hitHighlights = {}; diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts index 3fef0ab23b..c2c608507f 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { focusShadow } from '../../../../../shared/animations/focus'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('JournalIssueSearchResult', ViewMode.GridElement) diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.spec.ts index de26056eaf..ba8793237a 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.spec.ts @@ -1,10 +1,10 @@ -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { Item } from '../../../../../core/shared/item.model'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { JournalVolumeSearchResultGridElementComponent } from './journal-volume-search-result-grid-element.component'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { JournalVolumeSearchResultGridElementComponent } from './journal-volume-search-result-grid-element.component'; const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); mockItemWithMetadata.hitHighlights = {}; diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts index 6b0766707f..e1c2cfb56d 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { focusShadow } from '../../../../../shared/animations/focus'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('JournalVolumeSearchResult', ViewMode.GridElement) diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.spec.ts index 5c98038160..40d7987c14 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.spec.ts @@ -1,10 +1,10 @@ -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { Item } from '../../../../../core/shared/item.model'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { JournalSearchResultGridElementComponent } from './journal-search-result-grid-element.component'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { JournalSearchResultGridElementComponent } from './journal-search-result-grid-element.component'; const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); mockItemWithMetadata.hitHighlights = {}; diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts index a38bfc2e2f..061f017e47 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + +import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { focusShadow } from '../../../../../shared/animations/focus'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('JournalSearchResult', ViewMode.GridElement) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts index a3f9c29adb..4e519784e9 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts @@ -1,13 +1,20 @@ -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { JournalIssueListElementComponent } from './journal-issue-list-element.component'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { JournalIssueListElementComponent } from './journal-issue-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bundles: observableOf({}), diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.ts index a97107f3ac..a3891acd96 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('JournalIssue', ViewMode.ListElement) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts index 4897e45110..6fa7f7aea4 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts @@ -1,13 +1,20 @@ -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { JournalVolumeListElementComponent } from './journal-volume-list-element.component'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { JournalVolumeListElementComponent } from './journal-volume-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bundles: observableOf({}), diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.ts index 3d608d0594..2e091f4560 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; -import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; + import { Item } from '../../../../core/shared/item.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; @listableObjectComponent('JournalVolume', ViewMode.ListElement) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts index cce99539b7..bd8bdef60d 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts @@ -1,13 +1,20 @@ -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { JournalListElementComponent } from './journal-list-element.component'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { JournalListElementComponent } from './journal-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bundles: observableOf({}), diff --git a/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.ts index 22ad2996ce..a5d1278360 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('Journal', ViewMode.ListElement) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts index 1182177a57..0fa0846e08 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts @@ -1,15 +1,23 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { of as observableOf } from 'rxjs'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { JournalIssueSearchResultListElementComponent } from './journal-issue-search-result-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; +import { JournalIssueSearchResultListElementComponent } from './journal-issue-search-result-list-element.component'; let journalIssueListElementComponent: JournalIssueSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts index ef41abf7b3..351adffb4d 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; @listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts index afef98ee0e..1787fdaf8f 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts @@ -1,15 +1,23 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { of as observableOf } from 'rxjs'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { JournalVolumeSearchResultListElementComponent } from './journal-volume-search-result-list-element.component'; -import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; +import { JournalVolumeSearchResultListElementComponent } from './journal-volume-search-result-list-element.component'; let journalVolumeListElementComponent: JournalVolumeSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts index 15c2a88886..88df3817b7 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; @listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts index d9f5fa3bd5..34a8ef8161 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts @@ -1,15 +1,23 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { of as observableOf } from 'rxjs'; -import { JournalSearchResultListElementComponent } from './journal-search-result-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; +import { JournalSearchResultListElementComponent } from './journal-search-result-list-element.component'; let journalListElementComponent: JournalSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts index bc375e7c16..f753006dad 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; @listableObjectComponent('JournalSearchResult', ViewMode.ListElement) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.spec.ts index 02dcfff08c..5cf06fdead 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.spec.ts @@ -1,5 +1,5 @@ -import { Item } from '../../../../../core/shared/item.model'; import { Collection } from '../../../../../core/shared/collection.model'; +import { Item } from '../../../../../core/shared/item.model'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { createSidebarSearchListElementTests } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec'; import { JournalIssueSidebarSearchListElementComponent } from './journal-issue-sidebar-search-list-element.component'; diff --git a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.ts index deb42f9309..2e05cd7d02 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.ts @@ -1,11 +1,12 @@ -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { Component } from '@angular/core'; -import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; + +import { Context } from '../../../../../core/shared/context.model'; import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { isNotEmpty } from '../../../../../shared/empty.util'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; @listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('JournalIssueSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.spec.ts index bfcd538350..16f1394533 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.spec.ts @@ -1,5 +1,5 @@ -import { Item } from '../../../../../core/shared/item.model'; import { Collection } from '../../../../../core/shared/collection.model'; +import { Item } from '../../../../../core/shared/item.model'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { createSidebarSearchListElementTests } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec'; import { JournalVolumeSidebarSearchListElementComponent } from './journal-volume-sidebar-search-list-element.component'; diff --git a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.ts index 48b8ce4599..b20e0045bc 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.ts @@ -1,11 +1,12 @@ -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { Component } from '@angular/core'; -import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; + +import { Context } from '../../../../../core/shared/context.model'; import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { isNotEmpty } from '../../../../../shared/empty.util'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; @listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('JournalVolumeSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.spec.ts index c1a738cbaf..a7c2af3806 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.spec.ts @@ -1,5 +1,5 @@ -import { Item } from '../../../../../core/shared/item.model'; import { Collection } from '../../../../../core/shared/collection.model'; +import { Item } from '../../../../../core/shared/item.model'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { createSidebarSearchListElementTests } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec'; import { JournalSidebarSearchListElementComponent } from './journal-sidebar-search-list-element.component'; diff --git a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.ts b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.ts index 2b458e860e..02359078d5 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.ts @@ -1,11 +1,12 @@ -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { Component } from '@angular/core'; -import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; + +import { Context } from '../../../../../core/shared/context.model'; import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { isNotEmpty } from '../../../../../shared/empty.util'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; @listableObjectComponent('JournalSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('JournalSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.spec.ts b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.spec.ts index a319750a8a..74a83c1c83 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.spec.ts @@ -1,12 +1,12 @@ -import { Item } from '../../../../core/shared/item.model'; import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { JournalIssueComponent } from './journal-issue.component'; import { createRelationshipsObservable, getItemPageFieldsTest, } from '../../../../item-page/simple/item-types/shared/item.component.spec'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { JournalIssueComponent } from './journal-issue.component'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts index fa0e9c8565..e2aec38148 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('JournalIssue', ViewMode.StandalonePage) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.spec.ts b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.spec.ts index f4e058d96f..6c2549a497 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.spec.ts @@ -1,12 +1,12 @@ -import { Item } from '../../../../core/shared/item.model'; import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { JournalVolumeComponent } from './journal-volume.component'; import { createRelationshipsObservable, getItemPageFieldsTest, } from '../../../../item-page/simple/item-types/shared/item.component.spec'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { JournalVolumeComponent } from './journal-volume.component'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts index 18f23e3524..677f307d96 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('JournalVolume', ViewMode.StandalonePage) @Component({ diff --git a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts index 3f35f2e31a..659ced0fec 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts @@ -1,11 +1,24 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; import { Store } from '@ngrx/store'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; + +import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; @@ -16,29 +29,26 @@ import { ItemDataService } from '../../../../core/data/item-data.service'; import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { VersionDataService } from '../../../../core/data/version-data.service'; +import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; +import { RouteService } from '../../../../core/services/route.service'; import { Bitstream } from '../../../../core/shared/bitstream.model'; import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; import { Item } from '../../../../core/shared/item.model'; import { PageInfo } from '../../../../core/shared/page-info.model'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { UUIDService } from '../../../../core/shared/uuid.service'; +import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; +import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { mockRouteService } from '../../../../item-page/simple/item-types/shared/item.component.spec'; import { isNotEmpty } from '../../../../shared/empty.util'; import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { BrowseDefinitionDataServiceStub } from '../../../../shared/testing/browse-definition-data-service.stub'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { JournalComponent } from './journal.component'; -import { RouteService } from '../../../../core/services/route.service'; -import { RouterTestingModule } from '@angular/router/testing'; -import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; -import { VersionDataService } from '../../../../core/data/version-data.service'; -import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { mockRouteService } from '../../../../item-page/simple/item-types/shared/item.component.spec'; -import { - BrowseDefinitionDataServiceStub, -} from '../../../../shared/testing/browse-definition-data-service.stub'; -import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; let comp: JournalComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts index bfe7e9cbe6..079deaa298 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('Journal', ViewMode.StandalonePage) @Component({ diff --git a/src/app/entity-groups/journal-entities/journal-entities.module.ts b/src/app/entity-groups/journal-entities/journal-entities.module.ts index ccc7db3b43..b5f096c7b9 100644 --- a/src/app/entity-groups/journal-entities/journal-entities.module.ts +++ b/src/app/entity-groups/journal-entities/journal-entities.module.ts @@ -1,27 +1,28 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { ItemSharedModule } from '../../item-page/item-shared.module'; +import { DsoPageModule } from '../../shared/dso-page/dso-page.module'; +import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module'; import { SharedModule } from '../../shared/shared.module'; -import { JournalComponent } from './item-pages/journal/journal.component'; -import { JournalIssueComponent } from './item-pages/journal-issue/journal-issue.component'; -import { JournalVolumeComponent } from './item-pages/journal-volume/journal-volume.component'; +import { JournalGridElementComponent } from './item-grid-elements/journal/journal-grid-element.component'; +import { JournalIssueGridElementComponent } from './item-grid-elements/journal-issue/journal-issue-grid-element.component'; +import { JournalVolumeGridElementComponent } from './item-grid-elements/journal-volume/journal-volume-grid-element.component'; +import { JournalSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component'; +import { JournalIssueSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component'; +import { JournalVolumeSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component'; import { JournalListElementComponent } from './item-list-elements/journal/journal-list-element.component'; import { JournalIssueListElementComponent } from './item-list-elements/journal-issue/journal-issue-list-element.component'; import { JournalVolumeListElementComponent } from './item-list-elements/journal-volume/journal-volume-list-element.component'; -import { JournalIssueGridElementComponent } from './item-grid-elements/journal-issue/journal-issue-grid-element.component'; -import { JournalVolumeGridElementComponent } from './item-grid-elements/journal-volume/journal-volume-grid-element.component'; -import { JournalGridElementComponent } from './item-grid-elements/journal/journal-grid-element.component'; import { JournalSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component'; -import { JournalSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component'; import { JournalIssueSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component'; import { JournalVolumeSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component'; -import { JournalIssueSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component'; -import { JournalVolumeSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component'; -import { JournalVolumeSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component'; -import { JournalIssueSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component'; import { JournalSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component'; -import { ItemSharedModule } from '../../item-page/item-shared.module'; -import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module'; -import { DsoPageModule } from '../../shared/dso-page/dso-page.module'; +import { JournalIssueSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component'; +import { JournalVolumeSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component'; +import { JournalComponent } from './item-pages/journal/journal.component'; +import { JournalIssueComponent } from './item-pages/journal-issue/journal-issue.component'; +import { JournalVolumeComponent } from './item-pages/journal-volume/journal-volume.component'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.spec.ts index 170000618f..27726048e2 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.spec.ts @@ -1,17 +1,24 @@ -import { Item } from '../../../../core/shared/item.model'; -import { of as observableOf } from 'rxjs'; -import { OrgUnitGridElementComponent } from './org-unit-grid-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { OrgUnitGridElementComponent } from './org-unit-grid-element.component'; const mockItem = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.ts index 05a7f6c8c5..1825f9be62 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('OrgUnit', ViewMode.GridElement) @Component({ diff --git a/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts index e8b39d5370..772ada7412 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts @@ -1,17 +1,24 @@ -import { Item } from '../../../../core/shared/item.model'; -import { of as observableOf } from 'rxjs'; -import { PersonGridElementComponent } from './person-grid-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { PersonGridElementComponent } from './person-grid-element.component'; const mockItem = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.ts index 2e3ce5804e..885680cde2 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('Person', ViewMode.GridElement) @Component({ diff --git a/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts index 58ba8b33eb..2af97e0fb0 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts @@ -1,17 +1,24 @@ -import { Item } from '../../../../core/shared/item.model'; -import { of as observableOf } from 'rxjs'; -import { ProjectGridElementComponent } from './project-grid-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { ProjectGridElementComponent } from './project-grid-element.component'; const mockItem = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.ts index 58547960cf..4bb09005bf 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('Project', ViewMode.GridElement) @Component({ diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.spec.ts index 2569464247..a73ba72cc6 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.spec.ts @@ -1,10 +1,10 @@ -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { Item } from '../../../../../core/shared/item.model'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { OrgUnitSearchResultGridElementComponent } from './org-unit-search-result-grid-element.component'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { OrgUnitSearchResultGridElementComponent } from './org-unit-search-result-grid-element.component'; const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); mockItemWithMetadata.hitHighlights = {}; diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts index 2a8ef9938a..37576c5cf7 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { focusShadow } from '../../../../../shared/animations/focus'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('OrgUnitSearchResult', ViewMode.GridElement) diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.spec.ts index 1938177f9b..46f08feda1 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.spec.ts @@ -1,10 +1,10 @@ -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { Item } from '../../../../../core/shared/item.model'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { PersonSearchResultGridElementComponent } from './person-search-result-grid-element.component'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { PersonSearchResultGridElementComponent } from './person-search-result-grid-element.component'; const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); mockItemWithMetadata.hitHighlights = {}; diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts index 1e8361dcbe..5b1dd5a440 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { focusShadow } from '../../../../../shared/animations/focus'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('PersonSearchResult', ViewMode.GridElement) diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts index 3dbf5ea842..9745ff5554 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.spec.ts @@ -1,10 +1,10 @@ -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { Item } from '../../../../../core/shared/item.model'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { ProjectSearchResultGridElementComponent } from './project-search-result-grid-element.component'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { getEntityGridElementTestComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { ProjectSearchResultGridElementComponent } from './project-search-result-grid-element.component'; const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); mockItemWithMetadata.hitHighlights = {}; diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts index efc24b3df0..2ee7da3beb 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { focusShadow } from '../../../../../shared/animations/focus'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('ProjectSearchResult', ViewMode.GridElement) diff --git a/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.spec.ts index 8464f9beee..cbe8a9988a 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.spec.ts @@ -1,13 +1,20 @@ -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { OrgUnitListElementComponent } from './org-unit-list-element.component'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { OrgUnitListElementComponent } from './org-unit-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bundles: observableOf({}), diff --git a/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.ts index 93fd4b6d6f..16d7294cef 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('OrgUnit', ViewMode.ListElement) @Component({ diff --git a/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts index 8498c8434b..9ab9748839 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts @@ -1,13 +1,20 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { PersonListElementComponent } from './person-list-element.component'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { PersonListElementComponent } from './person-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bundles: observableOf({}), diff --git a/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.ts index 281b91f05a..9d283b4143 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../core/shared/item.model'; @listableObjectComponent('Person', ViewMode.ListElement) @Component({ diff --git a/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts index 00c94ee029..a4884d0482 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts @@ -1,13 +1,20 @@ -import { waitForAsync, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; -import { ProjectListElementComponent } from './project-list-element.component'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { ProjectListElementComponent } from './project-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bundles: observableOf({}), diff --git a/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.ts index d3d2c42517..1c6420c35c 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; -import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; + import { Item } from '../../../../core/shared/item.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; @listableObjectComponent('Project', ViewMode.ListElement) @Component({ diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts index 107e195e75..4fda604795 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts @@ -1,17 +1,28 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { OrgUnitSearchResultListElementComponent } from './org-unit-search-result-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; import { TranslateLoaderMock } from '../../../../../shared/mocks/translate-loader.mock'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; +import { OrgUnitSearchResultListElementComponent } from './org-unit-search-result-list-element.component'; let orgUnitListElementComponent: OrgUnitSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts index 1ad324620d..4502704c29 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts index 77455e191e..c27056c9b8 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts @@ -1,17 +1,28 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { PersonSearchResultListElementComponent } from './person-search-result-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; import { TranslateLoaderMock } from '../../../../../shared/mocks/translate-loader.mock'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; +import { PersonSearchResultListElementComponent } from './person-search-result-list-element.component'; let personListElementComponent: PersonSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts index 7b947b57e7..221173fa83 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts @@ -1,14 +1,17 @@ -import { Component, Inject } from '@angular/core'; import { - listableObjectComponent, -} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; + Component, + Inject, +} from '@angular/core'; + import { - ItemSearchResultListElementComponent, -} from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement) @Component({ diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts index efbe257a47..0d581c4517 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts @@ -1,15 +1,23 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { of as observableOf } from 'rxjs'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { ProjectSearchResultListElementComponent } from './project-search-result-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { of as observableOf } from 'rxjs'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; +import { ProjectSearchResultListElementComponent } from './project-search-result-list-element.component'; let projectListElementComponent: ProjectSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts index f4ff95814a..c78ff3984d 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemSearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; @listableObjectComponent('ProjectSearchResult', ViewMode.ListElement) diff --git a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.spec.ts index 87e64ceda4..4d3f27f6ef 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.spec.ts @@ -1,5 +1,5 @@ -import { Item } from '../../../../../core/shared/item.model'; import { Collection } from '../../../../../core/shared/collection.model'; +import { Item } from '../../../../../core/shared/item.model'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { createSidebarSearchListElementTests } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec'; import { OrgUnitSidebarSearchListElementComponent } from './org-unit-sidebar-search-list-element.component'; diff --git a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.ts index 374198664b..a09f685d43 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.ts @@ -1,10 +1,11 @@ -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { Component } from '@angular/core'; -import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; + +import { Context } from '../../../../../core/shared/context.model'; import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) diff --git a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.spec.ts index fb67852f81..6e614c5811 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.spec.ts @@ -1,5 +1,5 @@ -import { Item } from '../../../../../core/shared/item.model'; import { Collection } from '../../../../../core/shared/collection.model'; +import { Item } from '../../../../../core/shared/item.model'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { createSidebarSearchListElementTests } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec'; import { PersonSidebarSearchListElementComponent } from './person-sidebar-search-list-element.component'; diff --git a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts index ed6c4ea372..db481bf758 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts @@ -1,15 +1,16 @@ -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { Component } from '@angular/core'; -import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { isNotEmpty } from '../../../../../shared/empty.util'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; import { TranslateService } from '@ngx-translate/core'; + import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { Context } from '../../../../../core/shared/context.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { isNotEmpty } from '../../../../../shared/empty.util'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) diff --git a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.spec.ts index 3dfaffb346..a7be69965f 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.spec.ts @@ -1,5 +1,5 @@ -import { Item } from '../../../../../core/shared/item.model'; import { Collection } from '../../../../../core/shared/collection.model'; +import { Item } from '../../../../../core/shared/item.model'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { createSidebarSearchListElementTests } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec'; import { ProjectSidebarSearchListElementComponent } from './project-sidebar-search-list-element.component'; diff --git a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.ts index 3f33c5a32d..52e46d928a 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.ts @@ -1,10 +1,11 @@ -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { Component } from '@angular/core'; -import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; + +import { Context } from '../../../../../core/shared/context.model'; import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { SidebarSearchListElementComponent } from '../../../../../shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component'; @listableObjectComponent('ProjectSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('ProjectSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) diff --git a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.spec.ts b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.spec.ts index 28d7f05822..e40335a4db 100644 --- a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.spec.ts @@ -1,12 +1,12 @@ -import { Item } from '../../../../core/shared/item.model'; import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; import { PageInfo } from '../../../../core/shared/page-info.model'; -import { OrgUnitComponent } from './org-unit.component'; import { createRelationshipsObservable, getItemPageFieldsTest, } from '../../../../item-page/simple/item-types/shared/item.component.spec'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { OrgUnitComponent } from './org-unit.component'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts index 0ab16a95b5..89574ed332 100644 --- a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts +++ b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('OrgUnit', ViewMode.StandalonePage) @Component({ diff --git a/src/app/entity-groups/research-entities/item-pages/person/person.component.spec.ts b/src/app/entity-groups/research-entities/item-pages/person/person.component.spec.ts index 70cd96a01b..5ebd795032 100644 --- a/src/app/entity-groups/research-entities/item-pages/person/person.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-pages/person/person.component.spec.ts @@ -1,10 +1,10 @@ +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { createRelationshipsObservable, getItemPageFieldsTest, } from '../../../../item-page/simple/item-types/shared/item.component.spec'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { Item } from '../../../../core/shared/item.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; import { PersonComponent } from './person.component'; diff --git a/src/app/entity-groups/research-entities/item-pages/person/person.component.ts b/src/app/entity-groups/research-entities/item-pages/person/person.component.ts index 68853c7f17..9a6d1e2ccf 100644 --- a/src/app/entity-groups/research-entities/item-pages/person/person.component.ts +++ b/src/app/entity-groups/research-entities/item-pages/person/person.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('Person', ViewMode.StandalonePage) @Component({ diff --git a/src/app/entity-groups/research-entities/item-pages/project/project.component.spec.ts b/src/app/entity-groups/research-entities/item-pages/project/project.component.spec.ts index f1c2ebd71f..3d8fccaa6f 100644 --- a/src/app/entity-groups/research-entities/item-pages/project/project.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-pages/project/project.component.spec.ts @@ -1,10 +1,10 @@ +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; +import { Item } from '../../../../core/shared/item.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; import { createRelationshipsObservable, getItemPageFieldsTest, } from '../../../../item-page/simple/item-types/shared/item.component.spec'; -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { Item } from '../../../../core/shared/item.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; import { ProjectComponent } from './project.component'; diff --git a/src/app/entity-groups/research-entities/item-pages/project/project.component.ts b/src/app/entity-groups/research-entities/item-pages/project/project.component.ts index 9918e59bce..8efa5030eb 100644 --- a/src/app/entity-groups/research-entities/item-pages/project/project.component.ts +++ b/src/app/entity-groups/research-entities/item-pages/project/project.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; + import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; +import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('Project', ViewMode.StandalonePage) @Component({ diff --git a/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.spec.ts b/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.spec.ts index cf0d9e120f..7cff2f9930 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.spec.ts @@ -1,13 +1,19 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; -import { OrgUnitItemMetadataListElementComponent } from './org-unit-item-metadata-list-element.component'; import { Item } from '../../../../core/shared/item.model'; import { MetadataValue } from '../../../../core/shared/metadata.models'; +import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; +import { OrgUnitItemMetadataListElementComponent } from './org-unit-item-metadata-list-element.component'; const description = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'; const organisation = 'Anonymous'; diff --git a/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.ts b/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.ts index 5593c29cb5..763eb1b810 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.ts +++ b/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; + import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; +import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; import { ItemMetadataRepresentationListElementComponent } from '../../../../shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component'; @metadataRepresentationComponent('OrgUnit', MetadataRepresentationType.Item) diff --git a/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.spec.ts b/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.spec.ts index a6cc66e0b1..41d3b6169c 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.spec.ts @@ -1,13 +1,19 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; import { Item } from '../../../../core/shared/item.model'; -import { PersonItemMetadataListElementComponent } from './person-item-metadata-list-element.component'; import { MetadataValue } from '../../../../core/shared/metadata.models'; +import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; +import { PersonItemMetadataListElementComponent } from './person-item-metadata-list-element.component'; const jobTitle = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'; const firstName = 'Joe'; diff --git a/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.ts b/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.ts index 8ec0a9ff95..d02c6debb4 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.ts +++ b/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; + import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; +import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; import { ItemMetadataRepresentationListElementComponent } from '../../../../shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component'; @metadataRepresentationComponent('Person', MetadataRepresentationType.Item) diff --git a/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.spec.ts b/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.spec.ts index 6fe654878c..c4787647cb 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.spec.ts @@ -1,15 +1,21 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; -import { Item } from '../../../../core/shared/item.model'; -import { ProjectItemMetadataListElementComponent } from './project-item-metadata-list-element.component'; -import { MetadataValue } from '../../../../core/shared/metadata.models'; import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; +import { MetadataValue } from '../../../../core/shared/metadata.models'; +import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock'; +import { ProjectItemMetadataListElementComponent } from './project-item-metadata-list-element.component'; const projectTitle = 'Lorem ipsum dolor sit amet'; const mockItem = Object.assign(new Item(), { metadata: { 'dc.title': [{ value: projectTitle }] } }); diff --git a/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.ts b/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.ts index cab3a7b56a..a3137f6d91 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.ts +++ b/src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; -import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; -import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; -import { ItemMetadataRepresentationListElementComponent } from '../../../../shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; +import { metadataRepresentationComponent } from '../../../../shared/metadata-representation/metadata-representation.decorator'; +import { ItemMetadataRepresentationListElementComponent } from '../../../../shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component'; @metadataRepresentationComponent('Project', MetadataRepresentationType.Item) @Component({ diff --git a/src/app/entity-groups/research-entities/research-entities.module.ts b/src/app/entity-groups/research-entities/research-entities.module.ts index 759f27ec8d..ef2aed0c93 100644 --- a/src/app/entity-groups/research-entities/research-entities.module.ts +++ b/src/app/entity-groups/research-entities/research-entities.module.ts @@ -1,37 +1,38 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; + +import { ItemSharedModule } from '../../item-page/item-shared.module'; +import { DsoPageModule } from '../../shared/dso-page/dso-page.module'; +import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module'; import { SharedModule } from '../../shared/shared.module'; -import { OrgUnitComponent } from './item-pages/org-unit/org-unit.component'; -import { PersonComponent } from './item-pages/person/person.component'; -import { ProjectComponent } from './item-pages/project/project.component'; +import { OrgUnitGridElementComponent } from './item-grid-elements/org-unit/org-unit-grid-element.component'; +import { PersonGridElementComponent } from './item-grid-elements/person/person-grid-element.component'; +import { ProjectGridElementComponent } from './item-grid-elements/project/project-grid-element.component'; +import { OrgUnitSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component'; +import { PersonSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component'; +import { ProjectSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component'; import { OrgUnitListElementComponent } from './item-list-elements/org-unit/org-unit-list-element.component'; import { PersonListElementComponent } from './item-list-elements/person/person-list-element.component'; import { ProjectListElementComponent } from './item-list-elements/project/project-list-element.component'; -import { PersonGridElementComponent } from './item-grid-elements/person/person-grid-element.component'; -import { OrgUnitGridElementComponent } from './item-grid-elements/org-unit/org-unit-grid-element.component'; -import { ProjectGridElementComponent } from './item-grid-elements/project/project-grid-element.component'; import { OrgUnitSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component'; import { PersonSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/person/person-search-result-list-element.component'; import { ProjectSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/project/project-search-result-list-element.component'; -import { PersonSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component'; -import { OrgUnitSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component'; -import { ProjectSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component'; -import { PersonItemMetadataListElementComponent } from './metadata-representations/person/person-item-metadata-list-element.component'; -import { OrgUnitItemMetadataListElementComponent } from './metadata-representations/org-unit/org-unit-item-metadata-list-element.component'; -import { ProjectItemMetadataListElementComponent } from './metadata-representations/project/project-item-metadata-list-element.component'; -import { PersonSearchResultListSubmissionElementComponent } from './submission/item-list-elements/person/person-search-result-list-submission-element.component'; -import { PersonInputSuggestionsComponent } from './submission/item-list-elements/person/person-suggestions/person-input-suggestions.component'; -import { NameVariantModalComponent } from './submission/name-variant-modal/name-variant-modal.component'; -import { OrgUnitInputSuggestionsComponent } from './submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component'; -import { OrgUnitSearchResultListSubmissionElementComponent } from './submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component'; -import { ExternalSourceEntryListSubmissionElementComponent } from './submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component'; import { OrgUnitSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component'; import { PersonSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component'; import { ProjectSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component'; -import { ItemSharedModule } from '../../item-page/item-shared.module'; -import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module'; -import { DsoPageModule } from '../../shared/dso-page/dso-page.module'; +import { OrgUnitComponent } from './item-pages/org-unit/org-unit.component'; +import { PersonComponent } from './item-pages/person/person.component'; +import { ProjectComponent } from './item-pages/project/project.component'; +import { OrgUnitItemMetadataListElementComponent } from './metadata-representations/org-unit/org-unit-item-metadata-list-element.component'; +import { PersonItemMetadataListElementComponent } from './metadata-representations/person/person-item-metadata-list-element.component'; +import { ProjectItemMetadataListElementComponent } from './metadata-representations/project/project-item-metadata-list-element.component'; +import { ExternalSourceEntryListSubmissionElementComponent } from './submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component'; +import { OrgUnitSearchResultListSubmissionElementComponent } from './submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component'; +import { OrgUnitInputSuggestionsComponent } from './submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component'; +import { PersonSearchResultListSubmissionElementComponent } from './submission/item-list-elements/person/person-search-result-list-submission-element.component'; +import { PersonInputSuggestionsComponent } from './submission/item-list-elements/person/person-suggestions/person-input-suggestions.component'; +import { NameVariantModalComponent } from './submission/name-variant-modal/name-variant-modal.component'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.spec.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.spec.ts index 47ecfd6b60..9eeb318c7e 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.spec.ts @@ -1,8 +1,13 @@ -import { ExternalSourceEntryListSubmissionElementComponent } from './external-source-entry-list-submission-element.component'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ExternalSourceEntry } from '../../../../../core/shared/external-source-entry.model'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ExternalSourceEntry } from '../../../../../core/shared/external-source-entry.model'; +import { ExternalSourceEntryListSubmissionElementComponent } from './external-source-entry-list-submission-element.component'; describe('ExternalSourceEntryListSubmissionElementComponent', () => { let component: ExternalSourceEntryListSubmissionElementComponent; diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts index 305a039e7c..3d82677a3f 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts @@ -1,11 +1,15 @@ -import { AbstractListableElementComponent } from '../../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ExternalSourceEntry } from '../../../../../core/shared/external-source-entry.model'; -import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { + Component, + OnInit, +} from '@angular/core'; + import { Context } from '../../../../../core/shared/context.model'; -import { Component, OnInit } from '@angular/core'; -import { Metadata } from '../../../../../core/shared/metadata.utils'; +import { ExternalSourceEntry } from '../../../../../core/shared/external-source-entry.model'; import { MetadataValue } from '../../../../../core/shared/metadata.models'; +import { Metadata } from '../../../../../core/shared/metadata.utils'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../../../../shared/object-collection/shared/object-collection-element/abstract-listable-element.component'; @listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModal) @listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts index 60c848f4d5..ebf5a006bc 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts @@ -1,11 +1,25 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { APP_CONFIG } from '../../../../../../config/app-config.interface'; +import { environment } from '../../../../../../environments/environment'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; @@ -20,6 +34,7 @@ import { Bitstream } from '../../../../../core/shared/bitstream.model'; import { HALEndpointService } from '../../../../../core/shared/hal-endpoint.service'; import { Item } from '../../../../../core/shared/item.model'; import { UUIDService } from '../../../../../core/shared/uuid.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; @@ -27,10 +42,6 @@ import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote- import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { OrgUnitSearchResultListSubmissionElementComponent } from './org-unit-search-result-list-submission-element.component'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; -import { APP_CONFIG } from '../../../../../../config/app-config.interface'; -import { environment } from '../../../../../../environments/environment'; let personListElementComponent: OrgUnitSearchResultListSubmissionElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts index 8bded49996..7d8dff9e08 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts @@ -1,23 +1,31 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { take } from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; +import { ItemDataService } from '../../../../../core/data/item-data.service'; +import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; +import { Context } from '../../../../../core/shared/context.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { MetadataValue } from '../../../../../core/shared/metadata.models'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { take } from 'rxjs/operators'; -import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { MetadataValue } from '../../../../../core/shared/metadata.models'; -import { ItemDataService } from '../../../../../core/data/item-data.service'; +import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModal) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.spec.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.spec.ts index 8939ff750a..e4b20402e7 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.spec.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.spec.ts @@ -1,8 +1,16 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { OrgUnitInputSuggestionsComponent } from './org-unit-input-suggestions.component'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { OrgUnitInputSuggestionsComponent } from './org-unit-input-suggestions.component'; + let component: OrgUnitInputSuggestionsComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts index 4a829be9ca..9926350a40 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts @@ -1,5 +1,11 @@ -import { Component, forwardRef, Input, OnInit } from '@angular/core'; +import { + Component, + forwardRef, + Input, + OnInit, +} from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; + import { InputSuggestionsComponent } from '../../../../../../shared/input-suggestions/input-suggestions.component'; @Component({ diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts index b30ca7ab5a..bc66d630d4 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts @@ -1,11 +1,23 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; @@ -27,7 +39,6 @@ import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote- import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { PersonSearchResultListSubmissionElementComponent } from './person-search-result-list-submission-element.component'; -import { APP_CONFIG } from '../../../../../../config/app-config.interface'; let personListElementComponent: PersonSearchResultListSubmissionElementComponent; let fixture: ComponentFixture; diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts index 157450ed41..3dcb135a33 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts @@ -1,23 +1,31 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { take } from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; -import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; +import { ItemDataService } from '../../../../../core/data/item-data.service'; +import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; +import { Context } from '../../../../../core/shared/context.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { MetadataValue } from '../../../../../core/shared/metadata.models'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { Context } from '../../../../../core/shared/context.model'; -import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; -import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; -import { take } from 'rxjs/operators'; -import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component'; -import { MetadataValue } from '../../../../../core/shared/metadata.models'; -import { ItemDataService } from '../../../../../core/data/item-data.service'; +import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; +import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @Component({ diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts index fd6e8001c1..df52d4d5a9 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts @@ -1,5 +1,11 @@ -import { Component, forwardRef, Input, OnInit } from '@angular/core'; +import { + Component, + forwardRef, + Input, + OnInit, +} from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; + import { InputSuggestionsComponent } from '../../../../../../shared/input-suggestions/input-suggestions.component'; @Component({ diff --git a/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.spec.ts b/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.spec.ts index c758c5c537..944034bad5 100644 --- a/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.spec.ts +++ b/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.spec.ts @@ -1,9 +1,16 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + NgbActiveModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; import { NameVariantModalComponent } from './name-variant-modal.component'; -import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateModule } from '@ngx-translate/core'; -import { By } from '@angular/platform-browser'; describe('NameVariantModalComponent', () => { let component: NameVariantModalComponent; diff --git a/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.ts b/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.ts index a917aea4e7..12c7d3ea38 100644 --- a/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.ts +++ b/src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; /** diff --git a/src/app/footer/footer.component.spec.ts b/src/app/footer/footer.component.spec.ts index b291e5581e..41b0d1fe87 100644 --- a/src/app/footer/footer.component.spec.ts +++ b/src/app/footer/footer.component.spec.ts @@ -1,22 +1,28 @@ // ... test imports -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; - import { CommonModule } from '@angular/common'; - +import { + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { StoreModule } from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -// Load the implementations that should be tested -import { FooterComponent } from './footer.component'; - -import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; import { storeModuleConfig } from '../app.reducer'; import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; import { AuthorizationDataServiceStub } from '../shared/testing/authorization-service.stub'; +// Load the implementations that should be tested +import { FooterComponent } from './footer.component'; let comp: FooterComponent; let fixture: ComponentFixture; diff --git a/src/app/footer/footer.component.ts b/src/app/footer/footer.component.ts index 6cfd02f1db..f3640ac613 100644 --- a/src/app/footer/footer.component.ts +++ b/src/app/footer/footer.component.ts @@ -1,10 +1,14 @@ -import { Component, Optional } from '@angular/core'; -import { hasValue } from '../shared/empty.util'; -import { KlaroService } from '../shared/cookies/klaro.service'; -import { environment } from '../../environments/environment'; +import { + Component, + Optional, +} from '@angular/core'; import { Observable } from 'rxjs'; + +import { environment } from '../../environments/environment'; import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../core/data/feature-authorization/feature-id'; +import { KlaroService } from '../shared/cookies/klaro.service'; +import { hasValue } from '../shared/empty.util'; @Component({ selector: 'ds-footer', diff --git a/src/app/footer/themed-footer.component.ts b/src/app/footer/themed-footer.component.ts index e8f64f3434..11f3ae98f9 100644 --- a/src/app/footer/themed-footer.component.ts +++ b/src/app/footer/themed-footer.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { FooterComponent } from './footer.component'; diff --git a/src/app/forbidden/forbidden.component.ts b/src/app/forbidden/forbidden.component.ts index 2971fa8d35..be8065384a 100644 --- a/src/app/forbidden/forbidden.component.ts +++ b/src/app/forbidden/forbidden.component.ts @@ -1,4 +1,8 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; + import { AuthService } from '../core/auth/auth.service'; import { ServerResponseService } from '../core/services/server-response.service'; diff --git a/src/app/forbidden/themed-forbidden.component.ts b/src/app/forbidden/themed-forbidden.component.ts index 830529c8fa..ae461ec462 100644 --- a/src/app/forbidden/themed-forbidden.component.ts +++ b/src/app/forbidden/themed-forbidden.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { ForbiddenComponent } from './forbidden.component'; diff --git a/src/app/forgot-password/forgot-password-email/forgot-email.component.spec.ts b/src/app/forgot-password/forgot-password-email/forgot-email.component.spec.ts index 0455cbf83c..16aa899722 100644 --- a/src/app/forgot-password/forgot-password-email/forgot-email.component.spec.ts +++ b/src/app/forgot-password/forgot-password-email/forgot-email.component.spec.ts @@ -1,9 +1,14 @@ -import { ForgotEmailComponent } from './forgot-email.component'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ForgotEmailComponent } from './forgot-email.component'; describe('ForgotEmailComponent', () => { let comp: ForgotEmailComponent; diff --git a/src/app/forgot-password/forgot-password-email/forgot-email.component.ts b/src/app/forgot-password/forgot-password-email/forgot-email.component.ts index 2081abd88c..173ff762c0 100644 --- a/src/app/forgot-password/forgot-password-email/forgot-email.component.ts +++ b/src/app/forgot-password/forgot-password-email/forgot-email.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { TYPE_REQUEST_FORGOT } from '../../register-email-form/register-email-form.component'; @Component({ diff --git a/src/app/forgot-password/forgot-password-email/themed-forgot-email.component.ts b/src/app/forgot-password/forgot-password-email/themed-forgot-email.component.ts index d687ba6cf9..bc4e5c2192 100644 --- a/src/app/forgot-password/forgot-password-email/themed-forgot-email.component.ts +++ b/src/app/forgot-password/forgot-password-email/themed-forgot-email.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ForgotEmailComponent } from './forgot-email.component'; diff --git a/src/app/forgot-password/forgot-password-form/forgot-password-form.component.spec.ts b/src/app/forgot-password/forgot-password-form/forgot-password-form.component.spec.ts index 23e9dfe82d..fe9a88784d 100644 --- a/src/app/forgot-password/forgot-password-form/forgot-password-form.component.spec.ts +++ b/src/app/forgot-password/forgot-password-form/forgot-password-form.component.spec.ts @@ -1,26 +1,37 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { UntypedFormBuilder, ReactiveFormsModule } from '@angular/forms'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Store } from '@ngrx/store'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { Registration } from '../../core/shared/registration.model'; -import { ForgotPasswordFormComponent } from './forgot-password-form.component'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormBuilder, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { AuthenticateAction } from '../../core/auth/auth.actions'; +import { CoreState } from '../../core/core-state.model'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { Registration } from '../../core/shared/registration.model'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { CoreState } from '../../core/core-state.model'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { ForgotPasswordFormComponent } from './forgot-password-form.component'; describe('ForgotPasswordFormComponent', () => { let comp: ForgotPasswordFormComponent; diff --git a/src/app/forgot-password/forgot-password-form/forgot-password-form.component.ts b/src/app/forgot-password/forgot-password-form/forgot-password-form.component.ts index d48bcdcc22..52bb8074e6 100644 --- a/src/app/forgot-password/forgot-password-form/forgot-password-form.component.ts +++ b/src/app/forgot-password/forgot-password-form/forgot-password-form.component.ts @@ -1,17 +1,24 @@ import { Component } from '@angular/core'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { TranslateService } from '@ngx-translate/core'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { Observable } from 'rxjs'; -import { Registration } from '../../core/shared/registration.model'; -import { map } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; -import { AuthenticateAction } from '../../core/auth/auth.actions'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Store } from '@ngrx/store'; -import { RemoteData } from '../../core/data/remote-data'; -import { EPerson } from '../../core/eperson/models/eperson.model'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { AuthenticateAction } from '../../core/auth/auth.actions'; import { CoreState } from '../../core/core-state.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../core/shared/operators'; +import { Registration } from '../../core/shared/registration.model'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; @Component({ selector: 'ds-forgot-password-form', diff --git a/src/app/forgot-password/forgot-password-form/themed-forgot-password-form.component.ts b/src/app/forgot-password/forgot-password-form/themed-forgot-password-form.component.ts index ba4ffdcab3..600efa2935 100644 --- a/src/app/forgot-password/forgot-password-form/themed-forgot-password-form.component.ts +++ b/src/app/forgot-password/forgot-password-form/themed-forgot-password-form.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ForgotPasswordFormComponent } from './forgot-password-form.component'; diff --git a/src/app/forgot-password/forgot-password-routing.module.ts b/src/app/forgot-password/forgot-password-routing.module.ts index ab1ecec70b..74029cc275 100644 --- a/src/app/forgot-password/forgot-password-routing.module.ts +++ b/src/app/forgot-password/forgot-password-routing.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + import { ItemPageResolver } from '../item-page/item-page.resolver'; -import { ThemedForgotPasswordFormComponent } from './forgot-password-form/themed-forgot-password-form.component'; -import { ThemedForgotEmailComponent } from './forgot-password-email/themed-forgot-email.component'; import { RegistrationGuard } from '../register-page/registration.guard'; +import { ThemedForgotEmailComponent } from './forgot-password-email/themed-forgot-email.component'; +import { ThemedForgotPasswordFormComponent } from './forgot-password-form/themed-forgot-password-form.component'; @NgModule({ imports: [ diff --git a/src/app/forgot-password/forgot-password.module.ts b/src/app/forgot-password/forgot-password.module.ts index 7dfa20c483..23b446fad5 100644 --- a/src/app/forgot-password/forgot-password.module.ts +++ b/src/app/forgot-password/forgot-password.module.ts @@ -1,13 +1,14 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { ProfilePageModule } from '../profile-page/profile-page.module'; +import { RegisterEmailFormModule } from '../register-email-form/register-email-form.module'; import { SharedModule } from '../shared/shared.module'; import { ForgotEmailComponent } from './forgot-password-email/forgot-email.component'; -import { ForgotPasswordRoutingModule } from './forgot-password-routing.module'; -import { RegisterEmailFormModule } from '../register-email-form/register-email-form.module'; -import { ForgotPasswordFormComponent } from './forgot-password-form/forgot-password-form.component'; -import { ProfilePageModule } from '../profile-page/profile-page.module'; -import { ThemedForgotPasswordFormComponent } from './forgot-password-form/themed-forgot-password-form.component'; import { ThemedForgotEmailComponent } from './forgot-password-email/themed-forgot-email.component'; +import { ForgotPasswordFormComponent } from './forgot-password-form/forgot-password-form.component'; +import { ThemedForgotPasswordFormComponent } from './forgot-password-form/themed-forgot-password-form.component'; +import { ForgotPasswordRoutingModule } from './forgot-password-routing.module'; @NgModule({ imports: [ diff --git a/src/app/header-nav-wrapper/header-navbar-wrapper.component.ts b/src/app/header-nav-wrapper/header-navbar-wrapper.component.ts index 2725801729..ec8f649fe9 100644 --- a/src/app/header-nav-wrapper/header-navbar-wrapper.component.ts +++ b/src/app/header-nav-wrapper/header-navbar-wrapper.component.ts @@ -1,8 +1,17 @@ -import { Component, HostBinding, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + HostBinding, + OnDestroy, + OnInit, +} from '@angular/core'; import { Store } from '@ngrx/store'; +import { + Observable, + Subscription, +} from 'rxjs'; + import { AppState } from '../app.reducer'; import { hasValue } from '../shared/empty.util'; -import { Observable, Subscription } from 'rxjs'; import { MenuService } from '../shared/menu/menu.service'; import { MenuID } from '../shared/menu/menu-id.model'; diff --git a/src/app/header-nav-wrapper/themed-header-navbar-wrapper.component.ts b/src/app/header-nav-wrapper/themed-header-navbar-wrapper.component.ts index 02d09c44ef..41c8a000e3 100644 --- a/src/app/header-nav-wrapper/themed-header-navbar-wrapper.component.ts +++ b/src/app/header-nav-wrapper/themed-header-navbar-wrapper.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { HeaderNavbarWrapperComponent } from './header-navbar-wrapper.component'; diff --git a/src/app/header/context-help-toggle/context-help-toggle.component.spec.ts b/src/app/header/context-help-toggle/context-help-toggle.component.spec.ts index e453908681..680c2e746b 100644 --- a/src/app/header/context-help-toggle/context-help-toggle.component.spec.ts +++ b/src/app/header/context-help-toggle/context-help-toggle.component.spec.ts @@ -1,10 +1,15 @@ -import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing'; - -import { ContextHelpToggleComponent } from './context-help-toggle.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { ContextHelpService } from '../../shared/context-help.service'; -import { of as observableOf } from 'rxjs'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ContextHelpService } from '../../shared/context-help.service'; +import { ContextHelpToggleComponent } from './context-help-toggle.component'; describe('ContextHelpToggleComponent', () => { let component: ContextHelpToggleComponent; diff --git a/src/app/header/context-help-toggle/context-help-toggle.component.ts b/src/app/header/context-help-toggle/context-help-toggle.component.ts index a0072fc472..e518ab55ab 100644 --- a/src/app/header/context-help-toggle/context-help-toggle.component.ts +++ b/src/app/header/context-help-toggle/context-help-toggle.component.ts @@ -1,8 +1,12 @@ -import { Component, OnInit } from '@angular/core'; -import { ContextHelpService } from '../../shared/context-help.service'; +import { + Component, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; +import { ContextHelpService } from '../../shared/context-help.service'; + /** * Renders a "context help toggle" button that toggles the visibility of tooltip buttons on the page. * If there are no tooltip buttons available on the current page, the toggle is unclickable. diff --git a/src/app/header/header.component.spec.ts b/src/app/header/header.component.spec.ts index 6e8500eabd..b1c85538a4 100644 --- a/src/app/header/header.component.spec.ts +++ b/src/app/header/header.component.spec.ts @@ -1,15 +1,18 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateModule } from '@ngx-translate/core'; - import { of as observableOf } from 'rxjs'; -import { HeaderComponent } from './header.component'; -import { ReactiveFormsModule } from '@angular/forms'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; import { MenuService } from '../shared/menu/menu.service'; import { MenuServiceStub } from '../shared/testing/menu-service.stub'; +import { HeaderComponent } from './header.component'; let comp: HeaderComponent; let fixture: ComponentFixture; diff --git a/src/app/header/header.component.ts b/src/app/header/header.component.ts index bff98c8049..e87d040ebe 100644 --- a/src/app/header/header.component.ts +++ b/src/app/header/header.component.ts @@ -1,5 +1,6 @@ import { Component } from '@angular/core'; import { Observable } from 'rxjs'; + import { MenuService } from '../shared/menu/menu.service'; import { MenuID } from '../shared/menu/menu-id.model'; diff --git a/src/app/header/themed-header.component.ts b/src/app/header/themed-header.component.ts index 51c817b63d..eaab64526b 100644 --- a/src/app/header/themed-header.component.ts +++ b/src/app/header/themed-header.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { HeaderComponent } from './header.component'; diff --git a/src/app/health-page/health-info/health-info-component/health-info-component.component.spec.ts b/src/app/health-page/health-info/health-info-component/health-info-component.component.spec.ts index f8a99793a7..0d575c72b2 100644 --- a/src/app/health-page/health-info/health-info-component/health-info-component.component.spec.ts +++ b/src/app/health-page/health-info/health-info-component/health-info-component.component.spec.ts @@ -1,15 +1,23 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { HealthInfoComponentComponent } from './health-info-component.component'; -import { HealthInfoComponentOne, HealthInfoComponentTwo } from '../../../shared/mocks/health-endpoint.mocks'; -import { ObjNgFor } from '../../../shared/utils/object-ngfor.pipe'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + HealthInfoComponentOne, + HealthInfoComponentTwo, +} from '../../../shared/mocks/health-endpoint.mocks'; import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { ObjNgFor } from '../../../shared/utils/object-ngfor.pipe'; +import { HealthInfoComponentComponent } from './health-info-component.component'; describe('HealthInfoComponentComponent', () => { let component: HealthInfoComponentComponent; diff --git a/src/app/health-page/health-info/health-info-component/health-info-component.component.ts b/src/app/health-page/health-info/health-info-component/health-info-component.component.ts index a2e4753ef2..2aa5b165d4 100644 --- a/src/app/health-page/health-info/health-info-component/health-info-component.component.ts +++ b/src/app/health-page/health-info/health-info-component/health-info-component.component.ts @@ -1,7 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; -import { HealthInfoComponent } from '../../models/health-component.model'; import { HealthComponentComponent } from '../../health-panel/health-component/health-component.component'; +import { HealthInfoComponent } from '../../models/health-component.model'; /** * Shows a health info object diff --git a/src/app/health-page/health-info/health-info.component.spec.ts b/src/app/health-page/health-info/health-info.component.spec.ts index 80a71d4e43..05c9153f52 100644 --- a/src/app/health-page/health-info/health-info.component.spec.ts +++ b/src/app/health-page/health-info/health-info.component.spec.ts @@ -1,13 +1,19 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { HealthInfoComponent } from './health-info.component'; -import { HealthInfoResponseObj } from '../../shared/mocks/health-endpoint.mocks'; -import { ObjNgFor } from '../../shared/utils/object-ngfor.pipe'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { HealthInfoResponseObj } from '../../shared/mocks/health-endpoint.mocks'; import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { ObjNgFor } from '../../shared/utils/object-ngfor.pipe'; +import { HealthInfoComponent } from './health-info.component'; describe('HealthInfoComponent', () => { let component: HealthInfoComponent; diff --git a/src/app/health-page/health-info/health-info.component.ts b/src/app/health-page/health-info/health-info.component.ts index 80694c7d27..ddecf90600 100644 --- a/src/app/health-page/health-info/health-info.component.ts +++ b/src/app/health-page/health-info/health-info.component.ts @@ -1,5 +1,8 @@ -import { Component, Input, OnInit } from '@angular/core'; - +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { HealthInfoResponse } from '../models/health-component.model'; diff --git a/src/app/health-page/health-page.component.spec.ts b/src/app/health-page/health-page.component.spec.ts index 6b6867d3e4..cd048ad298 100644 --- a/src/app/health-page/health-page.component.spec.ts +++ b/src/app/health-page/health-page.component.spec.ts @@ -1,16 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { of } from 'rxjs'; import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of } from 'rxjs'; -import { HealthPageComponent } from './health-page.component'; -import { HealthService } from './health.service'; -import { HealthInfoResponseObj, HealthResponseObj } from '../shared/mocks/health-endpoint.mocks'; import { RawRestResponse } from '../core/dspace-rest/raw-rest-response.model'; +import { + HealthInfoResponseObj, + HealthResponseObj, +} from '../shared/mocks/health-endpoint.mocks'; import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; +import { HealthService } from './health.service'; +import { HealthPageComponent } from './health-page.component'; describe('HealthPageComponent', () => { let component: HealthPageComponent; diff --git a/src/app/health-page/health-page.component.ts b/src/app/health-page/health-page.component.ts index c3553af61c..f84ec38718 100644 --- a/src/app/health-page/health-page.component.ts +++ b/src/app/health-page/health-page.component.ts @@ -1,10 +1,15 @@ -import { Component, OnInit } from '@angular/core'; - +import { + Component, + OnInit, +} from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import { take } from 'rxjs/operators'; import { HealthService } from './health.service'; -import { HealthInfoResponse, HealthResponse } from './models/health-component.model'; +import { + HealthInfoResponse, + HealthResponse, +} from './models/health-component.model'; @Component({ selector: 'ds-health-page', diff --git a/src/app/health-page/health-page.module.ts b/src/app/health-page/health-page.module.ts index df21f83301..56933753e1 100644 --- a/src/app/health-page/health-page.module.ts +++ b/src/app/health-page/health-page.module.ts @@ -1,17 +1,16 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; - import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; -import { HealthPageRoutingModule } from './health-page.routing.module'; -import { HealthPanelComponent } from './health-panel/health-panel.component'; -import { HealthStatusComponent } from './health-panel/health-status/health-status.component'; import { SharedModule } from '../shared/shared.module'; -import { HealthPageComponent } from './health-page.component'; -import { HealthComponentComponent } from './health-panel/health-component/health-component.component'; import { HealthInfoComponent } from './health-info/health-info.component'; import { HealthInfoComponentComponent } from './health-info/health-info-component/health-info-component.component'; +import { HealthPageComponent } from './health-page.component'; +import { HealthPageRoutingModule } from './health-page.routing.module'; +import { HealthComponentComponent } from './health-panel/health-component/health-component.component'; +import { HealthPanelComponent } from './health-panel/health-panel.component'; +import { HealthStatusComponent } from './health-panel/health-status/health-status.component'; @NgModule({ diff --git a/src/app/health-page/health-page.routing.module.ts b/src/app/health-page/health-page.routing.module.ts index c29f030991..a845584107 100644 --- a/src/app/health-page/health-page.routing.module.ts +++ b/src/app/health-page/health-page.routing.module.ts @@ -1,11 +1,9 @@ -import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; import { HealthPageComponent } from './health-page.component'; -import { - SiteAdministratorGuard, -} from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; @NgModule({ imports: [ diff --git a/src/app/health-page/health-panel/health-component/health-component.component.spec.ts b/src/app/health-page/health-panel/health-component/health-component.component.spec.ts index 230378f5ca..051eb12ffc 100644 --- a/src/app/health-page/health-panel/health-component/health-component.component.spec.ts +++ b/src/app/health-page/health-panel/health-component/health-component.component.spec.ts @@ -1,16 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; - import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { HealthComponentComponent } from './health-component.component'; -import { HealthComponentOne, HealthComponentTwo } from '../../../shared/mocks/health-endpoint.mocks'; -import { ObjNgFor } from '../../../shared/utils/object-ngfor.pipe'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + HealthComponentOne, + HealthComponentTwo, +} from '../../../shared/mocks/health-endpoint.mocks'; import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { ObjNgFor } from '../../../shared/utils/object-ngfor.pipe'; +import { HealthComponentComponent } from './health-component.component'; describe('HealthComponentComponent', () => { let component: HealthComponentComponent; diff --git a/src/app/health-page/health-panel/health-component/health-component.component.ts b/src/app/health-page/health-panel/health-component/health-component.component.ts index 1270d819bf..ccc2617fa4 100644 --- a/src/app/health-page/health-panel/health-component/health-component.component.ts +++ b/src/app/health-page/health-panel/health-component/health-component.component.ts @@ -1,9 +1,11 @@ -import { Component, Input } from '@angular/core'; - +import { + Component, + Input, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { HealthComponent } from '../../models/health-component.model'; import { AlertType } from '../../../shared/alert/aletr-type'; +import { HealthComponent } from '../../models/health-component.model'; /** * A component to render a "health component" object. diff --git a/src/app/health-page/health-panel/health-panel.component.spec.ts b/src/app/health-page/health-panel/health-panel.component.spec.ts index 67dbc42255..319ef1a61e 100644 --- a/src/app/health-page/health-panel/health-panel.component.spec.ts +++ b/src/app/health-page/health-panel/health-panel.component.spec.ts @@ -1,16 +1,24 @@ import { CommonModule } from '@angular/common'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + NgbAccordionModule, + NgbNavModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { NgbAccordionModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; - -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { HealthPanelComponent } from './health-panel.component'; import { HealthResponseObj } from '../../shared/mocks/health-endpoint.mocks'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { ObjNgFor } from '../../shared/utils/object-ngfor.pipe'; +import { HealthPanelComponent } from './health-panel.component'; describe('HealthPanelComponent', () => { let component: HealthPanelComponent; diff --git a/src/app/health-page/health-panel/health-panel.component.ts b/src/app/health-page/health-panel/health-panel.component.ts index 4f078e61a4..c02f194247 100644 --- a/src/app/health-page/health-panel/health-panel.component.ts +++ b/src/app/health-page/health-panel/health-panel.component.ts @@ -1,5 +1,8 @@ -import { Component, Input, OnInit } from '@angular/core'; - +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { HealthResponse } from '../models/health-component.model'; diff --git a/src/app/health-page/health-panel/health-status/health-status.component.spec.ts b/src/app/health-page/health-panel/health-status/health-status.component.spec.ts index a290d19678..a2745a0d83 100644 --- a/src/app/health-page/health-panel/health-status/health-status.component.spec.ts +++ b/src/app/health-page/health-panel/health-status/health-status.component.spec.ts @@ -1,11 +1,17 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { HealthStatusComponent } from './health-status.component'; -import { HealthStatus } from '../../models/health-component.model'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { HealthStatus } from '../../models/health-component.model'; +import { HealthStatusComponent } from './health-status.component'; describe('HealthStatusComponent', () => { let component: HealthStatusComponent; diff --git a/src/app/health-page/health-panel/health-status/health-status.component.ts b/src/app/health-page/health-panel/health-status/health-status.component.ts index b6c873d361..0af2b91367 100644 --- a/src/app/health-page/health-panel/health-status/health-status.component.ts +++ b/src/app/health-page/health-panel/health-status/health-status.component.ts @@ -1,4 +1,8 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + import { HealthStatus } from '../../models/health-component.model'; /** diff --git a/src/app/health-page/health.service.ts b/src/app/health-page/health.service.ts index a1af19bb35..bbe8e3f562 100644 --- a/src/app/health-page/health.service.ts +++ b/src/app/health-page/health.service.ts @@ -1,6 +1,10 @@ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { DspaceRestService } from '../core/dspace-rest/dspace-rest.service'; import { RawRestResponse } from '../core/dspace-rest/raw-rest-response.model'; import { HALEndpointService } from '../core/shared/hal-endpoint.service'; diff --git a/src/app/home-page/home-news/themed-home-news.component.ts b/src/app/home-page/home-news/themed-home-news.component.ts index da7233f4a4..551553e0e6 100644 --- a/src/app/home-page/home-news/themed-home-news.component.ts +++ b/src/app/home-page/home-news/themed-home-news.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { HomeNewsComponent } from './home-news.component'; diff --git a/src/app/home-page/home-page-routing.module.ts b/src/app/home-page/home-page-routing.module.ts index 1b2d1169b9..4d284e651f 100644 --- a/src/app/home-page/home-page-routing.module.ts +++ b/src/app/home-page/home-page-routing.module.ts @@ -1,10 +1,10 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { HomePageResolver } from './home-page.resolver'; import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; -import { ThemedHomePageComponent } from './themed-home-page.component'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { HomePageResolver } from './home-page.resolver'; +import { ThemedHomePageComponent } from './themed-home-page.component'; @NgModule({ imports: [ diff --git a/src/app/home-page/home-page.component.ts b/src/app/home-page/home-page.component.ts index 33f89632ca..188faf8f81 100644 --- a/src/app/home-page/home-page.component.ts +++ b/src/app/home-page/home-page.component.ts @@ -1,9 +1,14 @@ -import { Component, OnInit } from '@angular/core'; -import { map } from 'rxjs/operators'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; -import { Site } from '../core/shared/site.model'; +import { map } from 'rxjs/operators'; + import { environment } from '../../environments/environment'; +import { Site } from '../core/shared/site.model'; + @Component({ selector: 'ds-home-page', styleUrls: ['./home-page.component.scss'], diff --git a/src/app/home-page/home-page.module.ts b/src/app/home-page/home-page.module.ts index 085437708a..cb507def89 100644 --- a/src/app/home-page/home-page.module.ts +++ b/src/app/home-page/home-page.module.ts @@ -1,18 +1,18 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; -import { HomeNewsComponent } from './home-news/home-news.component'; -import { HomePageRoutingModule } from './home-page-routing.module'; -import { HomePageComponent } from './home-page.component'; -import { TopLevelCommunityListComponent } from './top-level-community-list/top-level-community-list.component'; -import { StatisticsModule } from '../statistics/statistics.module'; -import { ThemedHomeNewsComponent } from './home-news/themed-home-news.component'; -import { ThemedHomePageComponent } from './themed-home-page.component'; -import { RecentItemListComponent } from './recent-item-list/recent-item-list.component'; import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module'; +import { SharedModule } from '../shared/shared.module'; +import { StatisticsModule } from '../statistics/statistics.module'; +import { HomeNewsComponent } from './home-news/home-news.component'; +import { ThemedHomeNewsComponent } from './home-news/themed-home-news.component'; +import { HomePageComponent } from './home-page.component'; +import { HomePageRoutingModule } from './home-page-routing.module'; +import { RecentItemListComponent } from './recent-item-list/recent-item-list.component'; +import { ThemedHomePageComponent } from './themed-home-page.component'; import { ThemedTopLevelCommunityListComponent } from './top-level-community-list/themed-top-level-community-list.component'; +import { TopLevelCommunityListComponent } from './top-level-community-list/top-level-community-list.component'; const DECLARATIONS = [ HomePageComponent, diff --git a/src/app/home-page/home-page.resolver.ts b/src/app/home-page/home-page.resolver.ts index 6b63a4e782..94607e4387 100644 --- a/src/app/home-page/home-page.resolver.ts +++ b/src/app/home-page/home-page.resolver.ts @@ -1,10 +1,15 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { SiteDataService } from '../core/data/site-data.service'; -import { Site } from '../core/shared/site.model'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; import { take } from 'rxjs/operators'; +import { SiteDataService } from '../core/data/site-data.service'; +import { Site } from '../core/shared/site.model'; + /** * The class that resolve the Site object for a route */ diff --git a/src/app/home-page/recent-item-list/recent-item-list.component.spec.ts b/src/app/home-page/recent-item-list/recent-item-list.component.spec.ts index aa23331165..c18202588e 100644 --- a/src/app/home-page/recent-item-list/recent-item-list.component.spec.ts +++ b/src/app/home-page/recent-item-list/recent-item-list.component.spec.ts @@ -1,19 +1,26 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { PLATFORM_ID } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { of as observableOf } from 'rxjs'; import { SearchService } from 'src/app/core/shared/search/search.service'; import { createSuccessfulRemoteDataObject } from 'src/app/shared/remote-data.utils'; import { SearchServiceStub } from 'src/app/shared/testing/search-service.stub'; import { createPaginatedList } from 'src/app/shared/testing/utils.test'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { RecentItemListComponent } from './recent-item-list.component'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { of as observableOf } from 'rxjs'; + import { APP_CONFIG } from '../../../config/app-config.interface'; import { environment } from '../../../environments/environment'; -import { PLATFORM_ID } from '@angular/core'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { RecentItemListComponent } from './recent-item-list.component'; describe('RecentItemListComponent', () => { let component: RecentItemListComponent; diff --git a/src/app/home-page/recent-item-list/recent-item-list.component.ts b/src/app/home-page/recent-item-list/recent-item-list.component.ts index 7ab2f0dfcd..f958e45add 100644 --- a/src/app/home-page/recent-item-list/recent-item-list.component.ts +++ b/src/app/home-page/recent-item-list/recent-item-list.component.ts @@ -1,23 +1,43 @@ -import { ChangeDetectionStrategy, Component, ElementRef, Inject, OnInit, PLATFORM_ID } from '@angular/core'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; -import { fadeIn, fadeInOut } from '../../shared/animations/fade'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { Item } from '../../core/shared/item.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { SearchService } from '../../core/shared/search/search.service'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { environment } from '../../../environments/environment'; -import { ViewMode } from '../../core/shared/view-mode.model'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { toDSpaceObjectListRD } from '../../core/shared/operators'; -import { Observable } from 'rxjs'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface'; import { isPlatformBrowser } from '@angular/common'; -import { setPlaceHolderAttributes } from '../../shared/utils/object-list-utils'; +import { + ChangeDetectionStrategy, + Component, + ElementRef, + Inject, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { Observable } from 'rxjs'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../config/app-config.interface'; +import { environment } from '../../../environments/environment'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { DSpaceObjectType } from '../../core/shared/dspace-object-type.model'; +import { Item } from '../../core/shared/item.model'; +import { toDSpaceObjectListRD } from '../../core/shared/operators'; +import { SearchService } from '../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { + fadeIn, + fadeInOut, +} from '../../shared/animations/fade'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; +import { setPlaceHolderAttributes } from '../../shared/utils/object-list-utils'; @Component({ selector: 'ds-recent-item-list', diff --git a/src/app/home-page/themed-home-page.component.ts b/src/app/home-page/themed-home-page.component.ts index c0ef723b38..c9869a960b 100644 --- a/src/app/home-page/themed-home-page.component.ts +++ b/src/app/home-page/themed-home-page.component.ts @@ -1,6 +1,7 @@ +import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { HomePageComponent } from './home-page.component'; -import { Component } from '@angular/core'; @Component({ selector: 'ds-themed-home-page', diff --git a/src/app/home-page/top-level-community-list/themed-top-level-community-list.component.ts b/src/app/home-page/top-level-community-list/themed-top-level-community-list.component.ts index 6eb74cc0a9..3175f4c902 100644 --- a/src/app/home-page/top-level-community-list/themed-top-level-community-list.component.ts +++ b/src/app/home-page/top-level-community-list/themed-top-level-community-list.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { TopLevelCommunityListComponent } from './top-level-community-list.component'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { TopLevelCommunityListComponent } from './top-level-community-list.component'; @Component({ selector: 'ds-themed-top-level-community-list', diff --git a/src/app/home-page/top-level-community-list/top-level-community-list.component.spec.ts b/src/app/home-page/top-level-community-list/top-level-community-list.component.spec.ts index 2036dc5156..9cc4eb1d44 100644 --- a/src/app/home-page/top-level-community-list/top-level-community-list.component.spec.ts +++ b/src/app/home-page/top-level-community-list/top-level-community-list.component.spec.ts @@ -1,37 +1,40 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; - -import { TopLevelCommunityListComponent } from './top-level-community-list.component'; -import { Community } from '../../core/shared/community.model'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { SharedModule } from '../../shared/shared.module'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { HostWindowService } from '../../shared/host-window.service'; -import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; -import { CommunityDataService } from '../../core/data/community-data.service'; -import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; -import { ThemeService } from '../../shared/theme-support/theme.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { FindListOptions } from '../../core/data/find-list-options.model'; -import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { LinkHeadService } from '../../core/services/link-head.service'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; -import { createPaginatedList } from '../../shared/testing/utils.test'; -import { SearchConfigurationServiceStub } from '../../shared/testing/search-configuration-service.stub'; +import { TranslateModule } from '@ngx-translate/core'; import { APP_CONFIG } from 'src/config/app-config.interface'; import { environment } from 'src/environments/environment.test'; +import { CommunityDataService } from '../../core/data/community-data.service'; +import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { GroupDataService } from '../../core/eperson/group-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { LinkHeadService } from '../../core/services/link-head.service'; +import { Community } from '../../core/shared/community.model'; +import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { HostWindowService } from '../../shared/host-window.service'; +import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; +import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { SharedModule } from '../../shared/shared.module'; +import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { SearchConfigurationServiceStub } from '../../shared/testing/search-configuration-service.stub'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { ThemeService } from '../../shared/theme-support/theme.service'; +import { TopLevelCommunityListComponent } from './top-level-community-list.component'; + describe('TopLevelCommunityList Component', () => { let comp: TopLevelCommunityListComponent; let fixture: ComponentFixture; diff --git a/src/app/home-page/top-level-community-list/top-level-community-list.component.ts b/src/app/home-page/top-level-community-list/top-level-community-list.component.ts index e7935a91b6..e365ad9144 100644 --- a/src/app/home-page/top-level-community-list/top-level-community-list.component.ts +++ b/src/app/home-page/top-level-community-list/top-level-community-list.component.ts @@ -1,18 +1,33 @@ -import { ChangeDetectionStrategy, Component, OnInit, OnDestroy, Inject } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Subscription, +} from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { + APP_CONFIG, + AppConfig, +} from 'src/config/app-config.interface'; -import { BehaviorSubject, combineLatest as observableCombineLatest, Subscription } from 'rxjs'; - -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { CommunityDataService } from '../../core/data/community-data.service'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { Community } from '../../core/shared/community.model'; import { fadeInOut } from '../../shared/animations/fade'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; import { hasValue } from '../../shared/empty.util'; -import { switchMap } from 'rxjs/operators'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { AppConfig, APP_CONFIG } from 'src/config/app-config.interface'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; /** * this component renders the Top-Level Community list diff --git a/src/app/import-external-page/import-external-page.component.spec.ts b/src/app/import-external-page/import-external-page.component.spec.ts index b9732ca51a..2c080cdc4e 100644 --- a/src/app/import-external-page/import-external-page.component.spec.ts +++ b/src/app/import-external-page/import-external-page.component.spec.ts @@ -1,8 +1,13 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ImportExternalPageComponent } from './import-external-page.component'; -import { ThemeService } from '../shared/theme-support/theme.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; + import { getMockThemeService } from '../shared/mocks/theme-service.mock'; +import { ThemeService } from '../shared/theme-support/theme.service'; +import { ImportExternalPageComponent } from './import-external-page.component'; describe('ImportExternalPageComponent', () => { let component: ImportExternalPageComponent; diff --git a/src/app/import-external-page/import-external-page.module.ts b/src/app/import-external-page/import-external-page.module.ts index 41b44b631c..2fb6d5e158 100644 --- a/src/app/import-external-page/import-external-page.module.ts +++ b/src/app/import-external-page/import-external-page.module.ts @@ -1,13 +1,13 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; import { CoreModule } from '../core/core.module'; -import { ImportExternalRoutingModule } from './import-external-routing.module'; -import { SubmissionModule } from '../submission/submission.module'; -import { ImportExternalPageComponent } from './import-external-page.component'; import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module'; +import { SharedModule } from '../shared/shared.module'; +import { SubmissionModule } from '../submission/submission.module'; +import { ImportExternalPageComponent } from './import-external-page.component'; +import { ImportExternalRoutingModule } from './import-external-routing.module'; @NgModule({ imports: [ diff --git a/src/app/import-external-page/import-external-routing.module.ts b/src/app/import-external-page/import-external-routing.module.ts index 8ee0f43427..3736e943af 100644 --- a/src/app/import-external-page/import-external-routing.module.ts +++ b/src/app/import-external-page/import-external-routing.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; import { ThemedSubmissionImportExternalComponent } from '../submission/import-external/themed-submission-import-external.component'; diff --git a/src/app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component.spec.ts b/src/app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component.spec.ts index be1f893dfb..a9d71dabb4 100644 --- a/src/app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component.spec.ts +++ b/src/app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component.spec.ts @@ -1,7 +1,12 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { EndUserAgreementContentComponent } from './end-user-agreement-content.component'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { EndUserAgreementContentComponent } from './end-user-agreement-content.component'; describe('EndUserAgreementContentComponent', () => { let component: EndUserAgreementContentComponent; diff --git a/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts b/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts index 4de699f05e..95161dffcb 100644 --- a/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts +++ b/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts @@ -1,16 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { EndUserAgreementComponent } from './end-user-agreement.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { LogOutAction } from '../../core/auth/auth.actions'; +import { AuthService } from '../../core/auth/auth.service'; import { EndUserAgreementService } from '../../core/end-user-agreement/end-user-agreement.service'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateModule } from '@ngx-translate/core'; -import { AuthService } from '../../core/auth/auth.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { of as observableOf } from 'rxjs'; -import { Store } from '@ngrx/store'; -import { By } from '@angular/platform-browser'; -import { LogOutAction } from '../../core/auth/auth.actions'; import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { EndUserAgreementComponent } from './end-user-agreement.component'; describe('EndUserAgreementComponent', () => { let component: EndUserAgreementComponent; diff --git a/src/app/info/end-user-agreement/end-user-agreement.component.ts b/src/app/info/end-user-agreement/end-user-agreement.component.ts index 58100a5e66..d06a5d019c 100644 --- a/src/app/info/end-user-agreement/end-user-agreement.component.ts +++ b/src/app/info/end-user-agreement/end-user-agreement.component.ts @@ -1,15 +1,26 @@ -import { Component, OnInit } from '@angular/core'; -import { AuthService } from '../../core/auth/auth.service'; -import { map, switchMap, take } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Store } from '@ngrx/store'; -import { AppState } from '../../app.reducer'; -import { LogOutAction } from '../../core/auth/auth.actions'; -import { EndUserAgreementService } from '../../core/end-user-agreement/end-user-agreement.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { AppState } from '../../app.reducer'; +import { LogOutAction } from '../../core/auth/auth.actions'; +import { AuthService } from '../../core/auth/auth.service'; +import { EndUserAgreementService } from '../../core/end-user-agreement/end-user-agreement.service'; import { isNotEmpty } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; @Component({ selector: 'ds-end-user-agreement', diff --git a/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts b/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts index 74eb545b8a..6a17aa415e 100644 --- a/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts +++ b/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { EndUserAgreementComponent } from './end-user-agreement.component'; diff --git a/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts b/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts index 29da372fa3..48f32d7277 100644 --- a/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts +++ b/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts @@ -1,23 +1,31 @@ -import { EPersonMock } from '../../../shared/testing/eperson.mock'; -import { FeedbackDataService } from '../../../core/feedback/feedback-data.service'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { FeedbackFormComponent } from './feedback-form.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { By } from '@angular/platform-browser'; -import { RouteService } from '../../../core/services/route.service'; -import { routeServiceStub } from '../../../shared/testing/route-service.stub'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { UntypedFormBuilder } from '@angular/forms'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { AuthService } from '../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../shared/testing/auth-service.stub'; -import { of } from 'rxjs'; -import { Feedback } from '../../../core/feedback/models/feedback.model'; +import { By } from '@angular/platform-browser'; import { Router } from '@angular/router'; -import { RouterMock } from '../../../shared/mocks/router.mock'; +import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; + +import { AuthService } from '../../../core/auth/auth.service'; +import { FeedbackDataService } from '../../../core/feedback/feedback-data.service'; +import { Feedback } from '../../../core/feedback/models/feedback.model'; +import { RouteService } from '../../../core/services/route.service'; import { NativeWindowService } from '../../../core/services/window.service'; import { NativeWindowMockFactory } from '../../../shared/mocks/mock-native-window-ref'; +import { RouterMock } from '../../../shared/mocks/router.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AuthServiceStub } from '../../../shared/testing/auth-service.stub'; +import { EPersonMock } from '../../../shared/testing/eperson.mock'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { routeServiceStub } from '../../../shared/testing/route-service.stub'; +import { FeedbackFormComponent } from './feedback-form.component'; describe('FeedbackFormComponent', () => { diff --git a/src/app/info/feedback/feedback-form/feedback-form.component.ts b/src/app/info/feedback/feedback-form/feedback-form.component.ts index 19f7fe6f22..c1631d1d42 100644 --- a/src/app/info/feedback/feedback-form/feedback-form.component.ts +++ b/src/app/info/feedback/feedback-form/feedback-form.component.ts @@ -1,19 +1,30 @@ -import { RemoteData } from '../../../core/data/remote-data'; -import { NoContent } from '../../../core/shared/NoContent.model'; -import { FeedbackDataService } from '../../../core/feedback/feedback-data.service'; -import { Component, Inject, OnInit } from '@angular/core'; -import { RouteService } from '../../../core/services/route.service'; -import { UntypedFormBuilder, Validators } from '@angular/forms'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { AuthService } from '../../../core/auth/auth.service'; -import { EPerson } from '../../../core/eperson/models/eperson.model'; -import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; +import { + UntypedFormBuilder, + Validators, +} from '@angular/forms'; import { Router } from '@angular/router'; -import { getHomePageRoute } from '../../../app-routing-paths'; +import { TranslateService } from '@ngx-translate/core'; import { take } from 'rxjs/operators'; -import { NativeWindowRef, NativeWindowService } from '../../../core/services/window.service'; + +import { getHomePageRoute } from '../../../app-routing-paths'; +import { AuthService } from '../../../core/auth/auth.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { FeedbackDataService } from '../../../core/feedback/feedback-data.service'; +import { RouteService } from '../../../core/services/route.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../../../core/services/window.service'; +import { NoContent } from '../../../core/shared/NoContent.model'; +import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; import { URLCombiner } from '../../../core/url-combiner/url-combiner'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; @Component({ selector: 'ds-feedback-form', diff --git a/src/app/info/feedback/feedback-form/themed-feedback-form.component.ts b/src/app/info/feedback/feedback-form/themed-feedback-form.component.ts index 9b42db629f..9ecbc9d1ac 100644 --- a/src/app/info/feedback/feedback-form/themed-feedback-form.component.ts +++ b/src/app/info/feedback/feedback-form/themed-feedback-form.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../../shared/theme-support/themed.component'; import { FeedbackFormComponent } from './feedback-form.component'; diff --git a/src/app/info/feedback/feedback.component.spec.ts b/src/app/info/feedback/feedback.component.spec.ts index 3dcddaeb9f..a16ed1f6bb 100644 --- a/src/app/info/feedback/feedback.component.spec.ts +++ b/src/app/info/feedback/feedback.component.spec.ts @@ -1,7 +1,12 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { FeedbackComponent } from './feedback.component'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { FeedbackComponent } from './feedback.component'; describe('FeedbackComponent', () => { let component: FeedbackComponent; diff --git a/src/app/info/feedback/themed-feedback.component.ts b/src/app/info/feedback/themed-feedback.component.ts index 68581c32fd..afb3057a6a 100644 --- a/src/app/info/feedback/themed-feedback.component.ts +++ b/src/app/info/feedback/themed-feedback.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { FeedbackComponent } from './feedback.component'; diff --git a/src/app/info/info-routing.module.ts b/src/app/info/info-routing.module.ts index fe3c4c7c03..e2e06613c7 100644 --- a/src/app/info/info-routing.module.ts +++ b/src/app/info/info-routing.module.ts @@ -1,12 +1,17 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { PRIVACY_PATH, END_USER_AGREEMENT_PATH, FEEDBACK_PATH } from './info-routing-paths'; -import { ThemedEndUserAgreementComponent } from './end-user-agreement/themed-end-user-agreement.component'; -import { ThemedPrivacyComponent } from './privacy/themed-privacy.component'; -import { ThemedFeedbackComponent } from './feedback/themed-feedback.component'; -import { FeedbackGuard } from '../core/feedback/feedback.guard'; + import { environment } from '../../environments/environment'; +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { FeedbackGuard } from '../core/feedback/feedback.guard'; +import { ThemedEndUserAgreementComponent } from './end-user-agreement/themed-end-user-agreement.component'; +import { ThemedFeedbackComponent } from './feedback/themed-feedback.component'; +import { + END_USER_AGREEMENT_PATH, + FEEDBACK_PATH, + PRIVACY_PATH, +} from './info-routing-paths'; +import { ThemedPrivacyComponent } from './privacy/themed-privacy.component'; const imports = [ diff --git a/src/app/info/info.module.ts b/src/app/info/info.module.ts index 3fdad42dc6..8ddf04af94 100644 --- a/src/app/info/info.module.ts +++ b/src/app/info/info.module.ts @@ -1,18 +1,19 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { FeedbackGuard } from '../core/feedback/feedback.guard'; import { SharedModule } from '../shared/shared.module'; import { EndUserAgreementComponent } from './end-user-agreement/end-user-agreement.component'; -import { InfoRoutingModule } from './info-routing.module'; import { EndUserAgreementContentComponent } from './end-user-agreement/end-user-agreement-content/end-user-agreement-content.component'; -import { PrivacyComponent } from './privacy/privacy.component'; -import { PrivacyContentComponent } from './privacy/privacy-content/privacy-content.component'; import { ThemedEndUserAgreementComponent } from './end-user-agreement/themed-end-user-agreement.component'; -import { ThemedPrivacyComponent } from './privacy/themed-privacy.component'; import { FeedbackComponent } from './feedback/feedback.component'; import { FeedbackFormComponent } from './feedback/feedback-form/feedback-form.component'; import { ThemedFeedbackFormComponent } from './feedback/feedback-form/themed-feedback-form.component'; import { ThemedFeedbackComponent } from './feedback/themed-feedback.component'; -import { FeedbackGuard } from '../core/feedback/feedback.guard'; +import { InfoRoutingModule } from './info-routing.module'; +import { PrivacyComponent } from './privacy/privacy.component'; +import { PrivacyContentComponent } from './privacy/privacy-content/privacy-content.component'; +import { ThemedPrivacyComponent } from './privacy/themed-privacy.component'; const DECLARATIONS = [ diff --git a/src/app/info/privacy/privacy-content/privacy-content.component.spec.ts b/src/app/info/privacy/privacy-content/privacy-content.component.spec.ts index b1b5cc5479..d9266f317d 100644 --- a/src/app/info/privacy/privacy-content/privacy-content.component.spec.ts +++ b/src/app/info/privacy/privacy-content/privacy-content.component.spec.ts @@ -1,7 +1,12 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { PrivacyContentComponent } from './privacy-content.component'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { PrivacyContentComponent } from './privacy-content.component'; describe('PrivacyContentComponent', () => { let component: PrivacyContentComponent; diff --git a/src/app/info/privacy/privacy.component.spec.ts b/src/app/info/privacy/privacy.component.spec.ts index 97d94e2077..888021c15e 100644 --- a/src/app/info/privacy/privacy.component.spec.ts +++ b/src/app/info/privacy/privacy.component.spec.ts @@ -1,7 +1,12 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { PrivacyComponent } from './privacy.component'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { PrivacyComponent } from './privacy.component'; describe('PrivacyComponent', () => { let component: PrivacyComponent; diff --git a/src/app/info/privacy/themed-privacy.component.ts b/src/app/info/privacy/themed-privacy.component.ts index 7f2ee80ffc..682a035abe 100644 --- a/src/app/info/privacy/themed-privacy.component.ts +++ b/src/app/info/privacy/themed-privacy.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { PrivacyComponent } from './privacy.component'; diff --git a/src/app/init.service.spec.ts b/src/app/init.service.spec.ts index 857e9420e7..9cb27e0075 100644 --- a/src/app/init.service.spec.ts +++ b/src/app/init.service.spec.ts @@ -1,32 +1,49 @@ -import { InitService } from './init.service'; -import { APP_CONFIG } from 'src/config/app-config.interface'; -import { APP_INITIALIZER, Injectable } from '@angular/core'; -import { inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { MetadataService } from './core/metadata/metadata.service'; -import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service'; import { CommonModule } from '@angular/common'; -import { Store, StoreModule } from '@ngrx/store'; -import { authReducer } from './core/auth/auth.reducer'; -import { storeModuleConfig } from './app.reducer'; -import { AngularticsProviderMock } from './shared/mocks/angulartics-provider.service.mock'; -import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; -import { AuthService } from './core/auth/auth.service'; -import { AuthServiceMock } from './shared/mocks/auth.service.mock'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterMock } from './shared/mocks/router.mock'; -import { MockActivatedRoute } from './shared/mocks/active-router.mock'; -import { MenuService } from './shared/menu/menu.service'; -import { LocaleService } from './core/locale/locale.service'; -import { environment } from '../environments/environment'; +import { + APP_INITIALIZER, + Injectable, +} from '@angular/core'; +import { + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { APP_CONFIG } from 'src/config/app-config.interface'; + +import { environment } from '../environments/environment'; import { AppComponent } from './app.component'; -import { RouteService } from './core/services/route.service'; import { getMockLocaleService } from './app.component.spec'; +import { storeModuleConfig } from './app.reducer'; +import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service'; +import { authReducer } from './core/auth/auth.reducer'; +import { AuthService } from './core/auth/auth.service'; +import { LocaleService } from './core/locale/locale.service'; +import { MetadataService } from './core/metadata/metadata.service'; +import { RouteService } from './core/services/route.service'; import { CorrelationIdService } from './correlation-id/correlation-id.service'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { InitService } from './init.service'; +import { MenuService } from './shared/menu/menu.service'; +import { MockActivatedRoute } from './shared/mocks/active-router.mock'; +import { AngularticsProviderMock } from './shared/mocks/angulartics-provider.service.mock'; +import { AuthServiceMock } from './shared/mocks/auth.service.mock'; +import { RouterMock } from './shared/mocks/router.mock'; +import { getMockThemeService } from './shared/mocks/theme-service.mock'; import { TranslateLoaderMock } from './shared/mocks/translate-loader.mock'; import { ThemeService } from './shared/theme-support/theme.service'; -import { getMockThemeService } from './shared/mocks/theme-service.mock'; +import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; import objectContaining = jasmine.objectContaining; import createSpyObj = jasmine.createSpyObj; import SpyObj = jasmine.SpyObj; diff --git a/src/app/init.service.ts b/src/app/init.service.ts index 6fa2b1f3a2..cc2928f456 100644 --- a/src/app/init.service.ts +++ b/src/app/init.service.ts @@ -5,25 +5,43 @@ * * http://www.dspace.org/license/ */ -import { select, Store } from '@ngrx/store'; -import { CheckAuthenticationTokenAction } from './core/auth/auth.actions'; -import { CorrelationIdService } from './correlation-id/correlation-id.service'; -import { APP_INITIALIZER, Inject, Provider, Type } from '@angular/core'; -import { makeStateKey, TransferState } from '@angular/platform-browser'; -import { APP_CONFIG, AppConfig } from '../config/app-config.interface'; +import { + APP_INITIALIZER, + Inject, + Provider, + Type, +} from '@angular/core'; +import { + makeStateKey, + TransferState, +} from '@angular/platform-browser'; +import { + select, + Store, +} from '@ngrx/store'; +import { TranslateService } from '@ngx-translate/core'; +import isEqual from 'lodash/isEqual'; +import { Observable } from 'rxjs'; +import { + distinctUntilChanged, + find, +} from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../config/app-config.interface'; import { environment } from '../environments/environment'; import { AppState } from './app.reducer'; -import isEqual from 'lodash/isEqual'; -import { TranslateService } from '@ngx-translate/core'; -import { LocaleService } from './core/locale/locale.service'; -import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; -import { MetadataService } from './core/metadata/metadata.service'; import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service'; -import { ThemeService } from './shared/theme-support/theme.service'; +import { CheckAuthenticationTokenAction } from './core/auth/auth.actions'; import { isAuthenticationBlocking } from './core/auth/selectors'; -import { distinctUntilChanged, find } from 'rxjs/operators'; -import { Observable } from 'rxjs'; +import { LocaleService } from './core/locale/locale.service'; +import { MetadataService } from './core/metadata/metadata.service'; +import { CorrelationIdService } from './correlation-id/correlation-id.service'; import { MenuService } from './shared/menu/menu.service'; +import { ThemeService } from './shared/theme-support/theme.service'; +import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; /** * Performs the initialization of the app. diff --git a/src/app/item-page/alerts/item-alerts.component.spec.ts b/src/app/item-page/alerts/item-alerts.component.spec.ts index 5218857ab2..2682ee20b0 100644 --- a/src/app/item-page/alerts/item-alerts.component.spec.ts +++ b/src/app/item-page/alerts/item-alerts.component.spec.ts @@ -1,9 +1,14 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ItemAlertsComponent } from './item-alerts.component'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { Item } from '../../core/shared/item.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Item } from '../../core/shared/item.model'; +import { ItemAlertsComponent } from './item-alerts.component'; describe('ItemAlertsComponent', () => { let component: ItemAlertsComponent; diff --git a/src/app/item-page/alerts/item-alerts.component.ts b/src/app/item-page/alerts/item-alerts.component.ts index 80f304c22e..4e7c8637e7 100644 --- a/src/app/item-page/alerts/item-alerts.component.ts +++ b/src/app/item-page/alerts/item-alerts.component.ts @@ -1,4 +1,8 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + import { Item } from '../../core/shared/item.model'; import { AlertType } from '../../shared/alert/aletr-type'; diff --git a/src/app/item-page/alerts/themed-item-alerts.component.ts b/src/app/item-page/alerts/themed-item-alerts.component.ts index 9ed9b51404..c8b4c5df90 100644 --- a/src/app/item-page/alerts/themed-item-alerts.component.ts +++ b/src/app/item-page/alerts/themed-item-alerts.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + import { Item } from '../../core/shared/item.model'; -import { ItemAlertsComponent } from './item-alerts.component'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { ItemAlertsComponent } from './item-alerts.component'; /** * Themed wrapper for {@link ItemAlertsComponent} diff --git a/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.spec.ts b/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.spec.ts index 6e14d0b359..e32c4368f1 100644 --- a/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.spec.ts +++ b/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.spec.ts @@ -1,30 +1,43 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { AuthService } from '../../../core/auth/auth.service'; +import { + CommonModule, + Location, +} from '@angular/common'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { Bitstream } from '../../../core/shared/bitstream.model'; + +import { AuthService } from '../../../core/auth/auth.service'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { ItemRequestDataService } from '../../../core/data/item-request-data.service'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { Bitstream } from '../../../core/shared/bitstream.model'; +import { Item } from '../../../core/shared/item.model'; +import { ItemRequest } from '../../../core/shared/item-request.model'; +import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../shared/remote-data.utils'; -import { ActivatedRoute, Router } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; -import { CommonModule } from '@angular/common'; -import { BitstreamRequestACopyPageComponent } from './bitstream-request-a-copy-page.component'; -import { By } from '@angular/platform-browser'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { ItemRequestDataService } from '../../../core/data/item-request-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; -import { Item } from '../../../core/shared/item.model'; -import { EPerson } from '../../../core/eperson/models/eperson.model'; -import { ItemRequest } from '../../../core/shared/item-request.model'; -import { Location } from '@angular/common'; -import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { BitstreamRequestACopyPageComponent } from './bitstream-request-a-copy-page.component'; describe('BitstreamRequestACopyPageComponent', () => { diff --git a/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.ts b/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.ts index 29437652d3..ff73d2e6cc 100644 --- a/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.ts +++ b/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.ts @@ -1,24 +1,56 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { filter, map, switchMap, take } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { Bitstream } from '../../../core/shared/bitstream.model'; +import { Location } from '@angular/common'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + UntypedFormBuilder, + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + getBitstreamDownloadRoute, + getForbiddenRoute, +} from '../../../app-routing-paths'; +import { AuthService } from '../../../core/auth/auth.service'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; -import { AuthService } from '../../../core/auth/auth.service'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf, Subscription } from 'rxjs'; -import { getBitstreamDownloadRoute, getForbiddenRoute } from '../../../app-routing-paths'; -import { TranslateService } from '@ngx-translate/core'; -import { EPerson } from '../../../core/eperson/models/eperson.model'; -import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; import { ItemRequestDataService } from '../../../core/data/item-request-data.service'; -import { ItemRequest } from '../../../core/shared/item-request.model'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { Bitstream } from '../../../core/shared/bitstream.model'; import { Item } from '../../../core/shared/item.model'; +import { ItemRequest } from '../../../core/shared/item-request.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { Location } from '@angular/common'; -import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; import { getItemPageRoute } from '../../item-page-routing-paths'; @Component({ diff --git a/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts b/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts index 2d3c7aa55a..2304546d0f 100644 --- a/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts +++ b/src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts @@ -1,29 +1,40 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { UploadBitstreamComponent } from './upload-bitstream.component'; -import { AuthService } from '../../../core/auth/auth.service'; -import { Item } from '../../../core/shared/item.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { VarDirective } from '../../../shared/utils/var.directive'; -import { Bitstream } from '../../../core/shared/bitstream.model'; -import { BundleDataService } from '../../../core/data/bundle-data.service'; -import { Bundle } from '../../../core/shared/bundle.model'; -import { RequestService } from '../../../core/data/request.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { AuthServiceStub } from '../../../shared/testing/auth-service.stub'; + import { environment } from '../../../../environments/environment'; +import { AuthService } from '../../../core/auth/auth.service'; +import { BundleDataService } from '../../../core/data/bundle-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { buildPaginatedList } from '../../../core/data/paginated-list.model'; +import { RequestService } from '../../../core/data/request.service'; +import { Bitstream } from '../../../core/shared/bitstream.model'; +import { Bundle } from '../../../core/shared/bundle.model'; +import { Item } from '../../../core/shared/item.model'; import { PageInfo } from '../../../core/shared/page-info.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { AuthServiceStub } from '../../../shared/testing/auth-service.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { UploadBitstreamComponent } from './upload-bitstream.component'; describe('UploadBitstreamComponent', () => { let comp: UploadBitstreamComponent; diff --git a/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts b/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts index 940b205346..aa26ca8f88 100644 --- a/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts +++ b/src/app/item-page/bitstreams/upload/upload-bitstream.component.ts @@ -1,25 +1,49 @@ -import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; -import { Observable, Subscription, of as observableOf } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Item } from '../../../core/shared/item.model'; -import { map, take, switchMap } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; -import { UploaderOptions } from '../../../shared/upload/uploader/uploader-options.model'; -import { hasValue, isEmpty, isNotEmpty } from '../../../shared/empty.util'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { AuthService } from '../../../core/auth/auth.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + Component, + OnDestroy, + OnInit, + ViewChild, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { Bundle } from '../../../core/shared/bundle.model'; -import { BundleDataService } from '../../../core/data/bundle-data.service'; -import { getFirstSucceededRemoteDataPayload, getFirstCompletedRemoteData } from '../../../core/shared/operators'; -import { UploaderComponent } from '../../../shared/upload/uploader/uploader.component'; -import { RequestService } from '../../../core/data/request.service'; -import { getBitstreamModuleRoute } from '../../../app-routing-paths'; -import { getEntityEditRoute } from '../../item-page-routing-paths'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + import { environment } from '../../../../environments/environment'; +import { getBitstreamModuleRoute } from '../../../app-routing-paths'; +import { AuthService } from '../../../core/auth/auth.service'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { BundleDataService } from '../../../core/data/bundle-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { Bundle } from '../../../core/shared/bundle.model'; +import { Item } from '../../../core/shared/item.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { UploaderComponent } from '../../../shared/upload/uploader/uploader.component'; +import { UploaderOptions } from '../../../shared/upload/uploader/uploader-options.model'; +import { getEntityEditRoute } from '../../item-page-routing-paths'; @Component({ selector: 'ds-upload-bitstream', diff --git a/src/app/item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts b/src/app/item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts index d40973b78e..5e409446a7 100644 --- a/src/app/item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts +++ b/src/app/item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts @@ -1,21 +1,40 @@ -import { Component, OnInit, OnDestroy, Input } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { Item } from '../../../core/shared/item.model'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; -import { ActivatedRoute, Router, Data } from '@angular/router'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Data, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { first, map, switchMap, tap } from 'rxjs/operators'; -import { RemoteData } from '../../../core/data/remote-data'; -import { AbstractTrackableComponent } from '../../../shared/trackable/abstract-trackable.component'; +import { + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + first, + map, + switchMap, + tap, +} from 'rxjs/operators'; + import { environment } from '../../../../environments/environment'; -import { getItemPageRoute } from '../../item-page-routing-paths'; -import { getAllSucceededRemoteData } from '../../../core/shared/operators'; -import { hasValue } from '../../../shared/empty.util'; -import { ITEM_PAGE_LINKS_TO_FOLLOW } from '../../item.resolver'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { FieldUpdate } from '../../../core/data/object-updates/field-update.model'; import { FieldUpdates } from '../../../core/data/object-updates/field-updates.model'; +import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { Item } from '../../../core/shared/item.model'; +import { getAllSucceededRemoteData } from '../../../core/shared/operators'; +import { hasValue } from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AbstractTrackableComponent } from '../../../shared/trackable/abstract-trackable.component'; +import { ITEM_PAGE_LINKS_TO_FOLLOW } from '../../item.resolver'; +import { getItemPageRoute } from '../../item-page-routing-paths'; @Component({ selector: 'ds-abstract-item-update', diff --git a/src/app/item-page/edit-item-page/edit-item-operators.spec.ts b/src/app/item-page/edit-item-page/edit-item-operators.spec.ts index 34cb7f5d82..85d4e8b9e8 100644 --- a/src/app/item-page/edit-item-page/edit-item-operators.spec.ts +++ b/src/app/item-page/edit-item-page/edit-item-operators.spec.ts @@ -1,12 +1,13 @@ -import {RemoteData} from '../../core/data/remote-data'; import {hot} from 'jasmine-marbles'; + +import {RemoteData} from '../../core/data/remote-data'; import {Item} from '../../core/shared/item.model'; -import {findSuccessfulAccordingTo} from './edit-item-operators'; +import { isNotEmpty } from '../../shared/empty.util'; import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject, } from '../../shared/remote-data.utils'; -import { isNotEmpty } from '../../shared/empty.util'; +import {findSuccessfulAccordingTo} from './edit-item-operators'; describe('findSuccessfulAccordingTo', () => { let mockItem1; diff --git a/src/app/item-page/edit-item-page/edit-item-operators.ts b/src/app/item-page/edit-item-page/edit-item-operators.ts index 26c593cac6..34a0157f13 100644 --- a/src/app/item-page/edit-item-page/edit-item-operators.ts +++ b/src/app/item-page/edit-item-page/edit-item-operators.ts @@ -1,6 +1,7 @@ -import {RemoteData} from '../../core/data/remote-data'; import {Observable} from 'rxjs'; import {first} from 'rxjs/operators'; + +import {RemoteData} from '../../core/data/remote-data'; import {getAllSucceededRemoteData} from '../../core/shared/operators'; /** diff --git a/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts b/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts index a26f7d4de3..875dd4a2e3 100644 --- a/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts +++ b/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts @@ -1,14 +1,36 @@ /* eslint-disable max-classes-per-file */ -import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router'; -import { EditItemPageComponent } from './edit-item-page.component'; -import { Observable, of as observableOf } from 'rxjs'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { + ActivatedRoute, + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, + UrlTree, +} from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { Item } from '../../core/shared/item.model'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { EditItemPageComponent } from './edit-item-page.component'; describe('ItemPageComponent', () => { let comp: EditItemPageComponent; diff --git a/src/app/item-page/edit-item-page/edit-item-page.component.ts b/src/app/item-page/edit-item-page/edit-item-page.component.ts index 8475eb9ce3..673c7d2381 100644 --- a/src/app/item-page/edit-item-page/edit-item-page.component.ts +++ b/src/app/item-page/edit-item-page/edit-item-page.component.ts @@ -1,13 +1,31 @@ -import { fadeIn, fadeInOut } from '../../shared/animations/fade'; -import { ChangeDetectionStrategy, Component, Injector, OnInit } from '@angular/core'; -import { ActivatedRoute, CanActivate, Route, Router } from '@angular/router'; -import { RemoteData } from '../../core/data/remote-data'; -import { Item } from '../../core/shared/item.model'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; +import { + ChangeDetectionStrategy, + Component, + Injector, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + CanActivate, + Route, + Router, +} from '@angular/router'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; import { map } from 'rxjs/operators'; + +import { RemoteData } from '../../core/data/remote-data'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { Item } from '../../core/shared/item.model'; +import { + fadeIn, + fadeInOut, +} from '../../shared/animations/fade'; import { isNotEmpty } from '../../shared/empty.util'; import { getItemPageRoute } from '../item-page-routing-paths'; -import { GenericConstructor } from '../../core/shared/generic-constructor'; @Component({ selector: 'ds-edit-item-page', diff --git a/src/app/item-page/edit-item-page/edit-item-page.module.ts b/src/app/item-page/edit-item-page/edit-item-page.module.ts index d0db5adde9..54080c3e4d 100644 --- a/src/app/item-page/edit-item-page/edit-item-page.module.ts +++ b/src/app/item-page/edit-item-page/edit-item-page.module.ts @@ -1,51 +1,50 @@ -import { NgModule } from '@angular/core'; +import { DragDropModule } from '@angular/cdk/drag-drop'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { + NgbModule, + NgbTooltipModule, +} from '@ng-bootstrap/ng-bootstrap'; -import { NgbTooltipModule, NgbModule } from '@ng-bootstrap/ng-bootstrap'; - +import { BundleDataService } from '../../core/data/bundle-data.service'; +import { IdentifierDataService } from '../../core/data/identifier-data.service'; +import { DsoSharedModule } from '../../dso-shared/dso-shared.module'; +import { SearchPageModule } from '../../search-page/search-page.module'; +import { AccessControlFormModule } from '../../shared/access-control-form-container/access-control-form.module'; +import { IdentifierDataComponent } from '../../shared/object-list/identifier-data/identifier-data.component'; +import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; +import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module'; import { SharedModule } from '../../shared/shared.module'; -import { EditItemPageRoutingModule } from './edit-item-page.routing.module'; +import { ObjectValuesPipe } from '../../shared/utils/object-values-pipe'; +import { ItemVersionsModule } from '../versions/item-versions.module'; +import { AbstractItemUpdateComponent } from './abstract-item-update/abstract-item-update.component'; import { EditItemPageComponent } from './edit-item-page.component'; -import { ItemStatusComponent } from './item-status/item-status.component'; -import { ItemOperationComponent } from './item-operation/item-operation.component'; -import { ItemWithdrawComponent } from './item-withdraw/item-withdraw.component'; -import { ItemReinstateComponent } from './item-reinstate/item-reinstate.component'; -import { AbstractSimpleItemActionComponent } from './simple-item-action/abstract-simple-item-action.component'; -import { ItemPrivateComponent } from './item-private/item-private.component'; -import { ItemPublicComponent } from './item-public/item-public.component'; -import { ItemDeleteComponent } from './item-delete/item-delete.component'; +import { EditItemPageRoutingModule } from './edit-item-page.routing.module'; +import { ItemAccessControlComponent } from './item-access-control/item-access-control.component'; +import { ItemAuthorizationsComponent } from './item-authorizations/item-authorizations.component'; import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component'; import { ItemEditBitstreamComponent } from './item-bitstreams/item-edit-bitstream/item-edit-bitstream.component'; -import { SearchPageModule } from '../../search-page/search-page.module'; +import { ItemEditBitstreamBundleComponent } from './item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component'; +import { PaginatedDragAndDropBitstreamListComponent } from './item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component'; +import { ItemEditBitstreamDragHandleComponent } from './item-bitstreams/item-edit-bitstream-drag-handle/item-edit-bitstream-drag-handle.component'; import { ItemCollectionMapperComponent } from './item-collection-mapper/item-collection-mapper.component'; -import { ItemRelationshipsComponent } from './item-relationships/item-relationships.component'; +import { ItemCurateComponent } from './item-curate/item-curate.component'; +import { ItemDeleteComponent } from './item-delete/item-delete.component'; +import { ItemMoveComponent } from './item-move/item-move.component'; +import { ItemOperationComponent } from './item-operation/item-operation.component'; +import { ItemPrivateComponent } from './item-private/item-private.component'; +import { ItemPublicComponent } from './item-public/item-public.component'; +import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component'; +import { ItemReinstateComponent } from './item-reinstate/item-reinstate.component'; import { EditRelationshipComponent } from './item-relationships/edit-relationship/edit-relationship.component'; import { EditRelationshipListComponent } from './item-relationships/edit-relationship-list/edit-relationship-list.component'; -import { AbstractItemUpdateComponent } from './abstract-item-update/abstract-item-update.component'; -import { ItemMoveComponent } from './item-move/item-move.component'; -import { ItemEditBitstreamBundleComponent } from './item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component'; -import { BundleDataService } from '../../core/data/bundle-data.service'; -import { DragDropModule } from '@angular/cdk/drag-drop'; -import { ItemEditBitstreamDragHandleComponent } from './item-bitstreams/item-edit-bitstream-drag-handle/item-edit-bitstream-drag-handle.component'; -import { PaginatedDragAndDropBitstreamListComponent } from './item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component'; -import { VirtualMetadataComponent } from './virtual-metadata/virtual-metadata.component'; -import { ItemVersionHistoryComponent } from './item-version-history/item-version-history.component'; -import { ItemAuthorizationsComponent } from './item-authorizations/item-authorizations.component'; -import { ObjectValuesPipe } from '../../shared/utils/object-values-pipe'; -import { ResourcePoliciesModule } from '../../shared/resource-policies/resource-policies.module'; -import { ItemVersionsModule } from '../versions/item-versions.module'; -import { IdentifierDataService } from '../../core/data/identifier-data.service'; -import { IdentifierDataComponent } from '../../shared/object-list/identifier-data/identifier-data.component'; -import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component'; -import { DsoSharedModule } from '../../dso-shared/dso-shared.module'; -import { ItemCurateComponent } from './item-curate/item-curate.component'; +import { ItemRelationshipsComponent } from './item-relationships/item-relationships.component'; +import { ItemStatusComponent } from './item-status/item-status.component'; import { ThemedItemStatusComponent } from './item-status/themed-item-status.component'; - -import { ItemAccessControlComponent } from './item-access-control/item-access-control.component'; -import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module'; -import { - AccessControlFormModule, -} from '../../shared/access-control-form-container/access-control-form.module'; +import { ItemVersionHistoryComponent } from './item-version-history/item-version-history.component'; +import { ItemWithdrawComponent } from './item-withdraw/item-withdraw.component'; +import { AbstractSimpleItemActionComponent } from './simple-item-action/abstract-simple-item-action.component'; +import { VirtualMetadataComponent } from './virtual-metadata/virtual-metadata.component'; /** * Module that contains all components related to the Edit Item page administrator functionality diff --git a/src/app/item-page/edit-item-page/edit-item-page.routing.module.ts b/src/app/item-page/edit-item-page/edit-item-page.routing.module.ts index 58a7072741..e19be857d0 100644 --- a/src/app/item-page/edit-item-page/edit-item-page.routing.module.ts +++ b/src/app/item-page/edit-item-page/edit-item-page.routing.module.ts @@ -1,48 +1,49 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { EditItemPageComponent } from './edit-item-page.component'; -import { ItemWithdrawComponent } from './item-withdraw/item-withdraw.component'; -import { ItemReinstateComponent } from './item-reinstate/item-reinstate.component'; -import { ItemPrivateComponent } from './item-private/item-private.component'; -import { ItemPublicComponent } from './item-public/item-public.component'; -import { ItemDeleteComponent } from './item-delete/item-delete.component'; -import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component'; -import { ItemCollectionMapperComponent } from './item-collection-mapper/item-collection-mapper.component'; -import { ItemMoveComponent } from './item-move/item-move.component'; -import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component'; -import { ItemRelationshipsComponent } from './item-relationships/item-relationships.component'; + import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { ItemVersionHistoryComponent } from './item-version-history/item-version-history.component'; -import { ItemAuthorizationsComponent } from './item-authorizations/item-authorizations.component'; -import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; -import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; +import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service'; +import { ThemedDsoEditMetadataComponent } from '../../dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component'; import { ResourcePolicyCreateComponent } from '../../shared/resource-policies/create/resource-policy-create.component'; import { ResourcePolicyEditComponent } from '../../shared/resource-policies/edit/resource-policy-edit.component'; -import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service'; +import { ResourcePolicyResolver } from '../../shared/resource-policies/resolvers/resource-policy.resolver'; +import { ResourcePolicyTargetResolver } from '../../shared/resource-policies/resolvers/resource-policy-target.resolver'; +import { ItemPageAdministratorGuard } from '../item-page-administrator.guard'; +import { EditItemPageComponent } from './edit-item-page.component'; import { ITEM_EDIT_AUTHORIZATIONS_PATH, ITEM_EDIT_DELETE_PATH, ITEM_EDIT_MOVE_PATH, ITEM_EDIT_PRIVATE_PATH, ITEM_EDIT_PUBLIC_PATH, + ITEM_EDIT_REGISTER_DOI_PATH, ITEM_EDIT_REINSTATE_PATH, ITEM_EDIT_WITHDRAW_PATH, - ITEM_EDIT_REGISTER_DOI_PATH, } from './edit-item-page.routing-paths'; -import { ItemPageReinstateGuard } from './item-page-reinstate.guard'; -import { ItemPageWithdrawGuard } from './item-page-withdraw.guard'; -import { ItemPageMetadataGuard } from './item-page-metadata.guard'; -import { ItemPageAdministratorGuard } from '../item-page-administrator.guard'; -import { ItemPageStatusGuard } from './item-page-status.guard'; -import { ItemPageBitstreamsGuard } from './item-page-bitstreams.guard'; -import { ItemPageRelationshipsGuard } from './item-page-relationships.guard'; -import { ItemPageVersionHistoryGuard } from './item-page-version-history.guard'; -import { ItemPageCollectionMapperGuard } from './item-page-collection-mapper.guard'; -import { ThemedDsoEditMetadataComponent } from '../../dso-shared/dso-edit-metadata/themed-dso-edit-metadata.component'; -import { ItemPageRegisterDoiGuard } from './item-page-register-doi.guard'; -import { ItemCurateComponent } from './item-curate/item-curate.component'; -import { ThemedItemStatusComponent } from './item-status/themed-item-status.component'; import { ItemAccessControlComponent } from './item-access-control/item-access-control.component'; +import { ItemAuthorizationsComponent } from './item-authorizations/item-authorizations.component'; +import { ItemBitstreamsComponent } from './item-bitstreams/item-bitstreams.component'; +import { ItemCollectionMapperComponent } from './item-collection-mapper/item-collection-mapper.component'; +import { ItemCurateComponent } from './item-curate/item-curate.component'; +import { ItemDeleteComponent } from './item-delete/item-delete.component'; +import { ItemMoveComponent } from './item-move/item-move.component'; +import { ItemPageBitstreamsGuard } from './item-page-bitstreams.guard'; +import { ItemPageCollectionMapperGuard } from './item-page-collection-mapper.guard'; +import { ItemPageMetadataGuard } from './item-page-metadata.guard'; +import { ItemPageRegisterDoiGuard } from './item-page-register-doi.guard'; +import { ItemPageReinstateGuard } from './item-page-reinstate.guard'; +import { ItemPageRelationshipsGuard } from './item-page-relationships.guard'; +import { ItemPageStatusGuard } from './item-page-status.guard'; +import { ItemPageVersionHistoryGuard } from './item-page-version-history.guard'; +import { ItemPageWithdrawGuard } from './item-page-withdraw.guard'; +import { ItemPrivateComponent } from './item-private/item-private.component'; +import { ItemPublicComponent } from './item-public/item-public.component'; +import { ItemRegisterDoiComponent } from './item-register-doi/item-register-doi.component'; +import { ItemReinstateComponent } from './item-reinstate/item-reinstate.component'; +import { ItemRelationshipsComponent } from './item-relationships/item-relationships.component'; +import { ThemedItemStatusComponent } from './item-status/themed-item-status.component'; +import { ItemVersionHistoryComponent } from './item-version-history/item-version-history.component'; +import { ItemWithdrawComponent } from './item-withdraw/item-withdraw.component'; /** * Routing module that handles the routing for the Edit Item page administrator functionality diff --git a/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.spec.ts b/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.spec.ts index 24c604bd30..58f03accbf 100644 --- a/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.spec.ts @@ -1,4 +1,7 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { ItemAccessControlComponent } from './item-access-control.component'; diff --git a/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.ts b/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.ts index 5ec94b2a4c..9d9e481b4b 100644 --- a/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.ts +++ b/src/app/item-page/edit-item-page/item-access-control/item-access-control.component.ts @@ -1,10 +1,14 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; + import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; -import { ActivatedRoute } from '@angular/router'; +import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; @Component({ selector: 'ds-item-access-control', diff --git a/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.spec.ts b/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.spec.ts index 9f24b40411..5fe45c735a 100644 --- a/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.spec.ts @@ -1,18 +1,33 @@ -import { waitForAsync, ComponentFixture, inject, TestBed } from '@angular/core/testing'; -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { of as observableOf } from 'rxjs'; +import { ActivatedRoute } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; -import { ItemAuthorizationsComponent } from './item-authorizations.component'; +import { of as observableOf } from 'rxjs'; + +import { LinkService } from '../../../core/cache/builders/link.service'; import { Bitstream } from '../../../core/shared/bitstream.model'; import { Bundle } from '../../../core/shared/bundle.model'; import { Item } from '../../../core/shared/item.model'; -import { LinkService } from '../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../shared/mocks/link-service.mock'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createPaginatedList, createTestComponent } from '../../../shared/testing/utils.test'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { + createPaginatedList, + createTestComponent, +} from '../../../shared/testing/utils.test'; +import { ItemAuthorizationsComponent } from './item-authorizations.component'; describe('ItemAuthorizationsComponent test suite', () => { let comp: ItemAuthorizationsComponent; diff --git a/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.ts b/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.ts index 2baf053b87..211be50a65 100644 --- a/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.ts +++ b/src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.ts @@ -1,22 +1,43 @@ -import isEqual from 'lodash/isEqual'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import isEqual from 'lodash/isEqual'; +import { + BehaviorSubject, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + catchError, + filter, + first, + map, + mergeMap, + take, +} from 'rxjs/operators'; -import { BehaviorSubject, Observable, of as observableOf, Subscription } from 'rxjs'; -import { catchError, filter, first, map, mergeMap, take } from 'rxjs/operators'; - -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; +import { Bitstream } from '../../../core/shared/bitstream.model'; +import { Bundle } from '../../../core/shared/bundle.model'; +import { Item } from '../../../core/shared/item.model'; import { getFirstSucceededRemoteDataPayload, getFirstSucceededRemoteDataWithNotEmptyPayload, } from '../../../core/shared/operators'; -import { Item } from '../../../core/shared/item.model'; +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { LinkService } from '../../../core/cache/builders/link.service'; -import { Bundle } from '../../../core/shared/bundle.model'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { Bitstream } from '../../../core/shared/bitstream.model'; /** * Interface for a bundle's bitstream map entry diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts index ddabc886bd..8a30b6fb89 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts @@ -1,31 +1,48 @@ -import { Bitstream } from '../../../core/shared/bitstream.model'; -import { of as observableOf } from 'rxjs'; -import { Item } from '../../../core/shared/item.model'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ItemBitstreamsComponent } from './item-bitstreams.component'; -import { ItemDataService } from '../../../core/data/item-data.service'; +import { + ChangeDetectorRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; -import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ChangeDetectorRef, NO_ERRORS_SCHEMA } from '@angular/core'; -import { INotification, Notification } from '../../../shared/notifications/models/notification.model'; -import { NotificationType } from '../../../shared/notifications/models/notification-type'; -import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; +import { of as observableOf } from 'rxjs'; + import { ObjectCacheService } from '../../../core/cache/object-cache.service'; +import { RestResponse } from '../../../core/cache/response.models'; +import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; +import { BundleDataService } from '../../../core/data/bundle-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; +import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; +import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; import { RequestService } from '../../../core/data/request.service'; +import { Bitstream } from '../../../core/shared/bitstream.model'; +import { Bundle } from '../../../core/shared/bundle.model'; +import { Item } from '../../../core/shared/item.model'; +import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { + INotification, + Notification, +} from '../../../shared/notifications/models/notification.model'; +import { NotificationType } from '../../../shared/notifications/models/notification-type'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { BitstreamDataServiceStub } from '../../../shared/testing/bitstream-data-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; import { ObjectValuesPipe } from '../../../shared/utils/object-values-pipe'; import { VarDirective } from '../../../shared/utils/var.directive'; -import { BundleDataService } from '../../../core/data/bundle-data.service'; -import { Bundle } from '../../../core/shared/bundle.model'; -import { RestResponse } from '../../../core/cache/response.models'; -import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; -import { BitstreamDataServiceStub } from '../../../shared/testing/bitstream-data-service.stub'; +import { ItemBitstreamsComponent } from './item-bitstreams.component'; let comp: ItemBitstreamsComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts index f7a9ffa009..c85186bf59 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts @@ -1,30 +1,54 @@ -import { ChangeDetectorRef, Component, NgZone, OnDestroy } from '@angular/core'; -import { AbstractItemUpdateComponent } from '../abstract-item-update/abstract-item-update.component'; -import { filter, map, switchMap, take } from 'rxjs/operators'; -import { Observable, Subscription, zip as observableZip } from 'rxjs'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + ChangeDetectorRef, + Component, + NgZone, + OnDestroy, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { ObjectCacheService } from '../../../core/cache/object-cache.service'; -import { RequestService } from '../../../core/data/request.service'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../../../core/shared/operators'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { Bundle } from '../../../core/shared/bundle.model'; -import { Bitstream } from '../../../core/shared/bitstream.model'; -import { BundleDataService } from '../../../core/data/bundle-data.service'; -import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; -import { ResponsiveColumnSizes } from '../../../shared/responsive-table-sizes/responsive-column-sizes'; -import { ResponsiveTableSizes } from '../../../shared/responsive-table-sizes/responsive-table-sizes'; -import { NoContent } from '../../../core/shared/NoContent.model'; import { Operation } from 'fast-json-patch'; +import { + Observable, + Subscription, + zip as observableZip, +} from 'rxjs'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { ObjectCacheService } from '../../../core/cache/object-cache.service'; +import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; +import { BundleDataService } from '../../../core/data/bundle-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; +import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; import { FieldUpdate } from '../../../core/data/object-updates/field-update.model'; import { FieldUpdates } from '../../../core/data/object-updates/field-updates.model'; -import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; +import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { Bitstream } from '../../../core/shared/bitstream.model'; +import { Bundle } from '../../../core/shared/bundle.model'; +import { NoContent } from '../../../core/shared/NoContent.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { ResponsiveColumnSizes } from '../../../shared/responsive-table-sizes/responsive-column-sizes'; +import { ResponsiveTableSizes } from '../../../shared/responsive-table-sizes/responsive-table-sizes'; +import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; +import { AbstractItemUpdateComponent } from '../abstract-item-update/abstract-item-update.component'; @Component({ selector: 'ds-item-bitstreams', diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.spec.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.spec.ts index 9a692c793f..810a262b9b 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.spec.ts @@ -1,11 +1,19 @@ -import { ItemEditBitstreamBundleComponent } from './item-edit-bitstream-bundle.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + NO_ERRORS_SCHEMA, + ViewContainerRef, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { NO_ERRORS_SCHEMA, ViewContainerRef } from '@angular/core'; -import { Item } from '../../../../core/shared/item.model'; + import { Bundle } from '../../../../core/shared/bundle.model'; -import { ResponsiveTableSizes } from '../../../../shared/responsive-table-sizes/responsive-table-sizes'; +import { Item } from '../../../../core/shared/item.model'; import { ResponsiveColumnSizes } from '../../../../shared/responsive-table-sizes/responsive-column-sizes'; +import { ResponsiveTableSizes } from '../../../../shared/responsive-table-sizes/responsive-table-sizes'; +import { ItemEditBitstreamBundleComponent } from './item-edit-bitstream-bundle.component'; describe('ItemEditBitstreamBundleComponent', () => { let comp: ItemEditBitstreamBundleComponent; diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.ts index 70f4b63217..3e6209d421 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.ts @@ -1,10 +1,19 @@ -import { Component, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, + ViewChild, + ViewContainerRef, +} from '@angular/core'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { Bundle } from '../../../../core/shared/bundle.model'; import { Item } from '../../../../core/shared/item.model'; import { ResponsiveColumnSizes } from '../../../../shared/responsive-table-sizes/responsive-column-sizes'; import { ResponsiveTableSizes } from '../../../../shared/responsive-table-sizes/responsive-table-sizes'; import { getItemPageRoute } from '../../../item-page-routing-paths'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-item-edit-bitstream-bundle', diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.spec.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.spec.ts index 616bf104c0..d817d3a96d 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.spec.ts @@ -1,23 +1,28 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { Bundle } from '../../../../../core/shared/bundle.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { PaginatedDragAndDropBitstreamListComponent } from './paginated-drag-and-drop-bitstream-list.component'; -import { VarDirective } from '../../../../../shared/utils/var.directive'; -import { ObjectValuesPipe } from '../../../../../shared/utils/object-values-pipe'; -import { ObjectUpdatesService } from '../../../../../core/data/object-updates/object-updates.service'; -import { BundleDataService } from '../../../../../core/data/bundle-data.service'; -import { Bitstream } from '../../../../../core/shared/bitstream.model'; -import { BitstreamFormat } from '../../../../../core/shared/bitstream-format.model'; import { of as observableOf } from 'rxjs'; import { take } from 'rxjs/operators'; -import { ResponsiveTableSizes } from '../../../../../shared/responsive-table-sizes/responsive-table-sizes'; -import { ResponsiveColumnSizes } from '../../../../../shared/responsive-table-sizes/responsive-column-sizes'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../../../shared/testing/utils.test'; + +import { BundleDataService } from '../../../../../core/data/bundle-data.service'; +import { ObjectUpdatesService } from '../../../../../core/data/object-updates/object-updates.service'; import { RequestService } from '../../../../../core/data/request.service'; import { PaginationService } from '../../../../../core/pagination/pagination.service'; +import { Bitstream } from '../../../../../core/shared/bitstream.model'; +import { BitstreamFormat } from '../../../../../core/shared/bitstream-format.model'; +import { Bundle } from '../../../../../core/shared/bundle.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { ResponsiveColumnSizes } from '../../../../../shared/responsive-table-sizes/responsive-column-sizes'; +import { ResponsiveTableSizes } from '../../../../../shared/responsive-table-sizes/responsive-table-sizes'; import { PaginationServiceStub } from '../../../../../shared/testing/pagination-service.stub'; +import { createPaginatedList } from '../../../../../shared/testing/utils.test'; +import { ObjectValuesPipe } from '../../../../../shared/utils/object-values-pipe'; +import { VarDirective } from '../../../../../shared/utils/var.directive'; +import { PaginatedDragAndDropBitstreamListComponent } from './paginated-drag-and-drop-bitstream-list.component'; describe('PaginatedDragAndDropBitstreamListComponent', () => { let comp: PaginatedDragAndDropBitstreamListComponent; diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.ts index 33c3d3cd5e..1a423fc1b5 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.ts @@ -1,17 +1,23 @@ -import { AbstractPaginatedDragAndDropListComponent } from '../../../../../shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component'; -import { Component, ElementRef, Input, OnInit } from '@angular/core'; -import { Bundle } from '../../../../../core/shared/bundle.model'; -import { Bitstream } from '../../../../../core/shared/bitstream.model'; -import { ObjectUpdatesService } from '../../../../../core/data/object-updates/object-updates.service'; -import { BundleDataService } from '../../../../../core/data/bundle-data.service'; +import { + Component, + ElementRef, + Input, + OnInit, +} from '@angular/core'; import { switchMap } from 'rxjs/operators'; -import { PaginatedSearchOptions } from '../../../../../shared/search/models/paginated-search-options.model'; -import { ResponsiveTableSizes } from '../../../../../shared/responsive-table-sizes/responsive-table-sizes'; -import { followLink } from '../../../../../shared/utils/follow-link-config.model'; -import { ObjectValuesPipe } from '../../../../../shared/utils/object-values-pipe'; + +import { BundleDataService } from '../../../../../core/data/bundle-data.service'; +import { ObjectUpdatesService } from '../../../../../core/data/object-updates/object-updates.service'; import { RequestService } from '../../../../../core/data/request.service'; import { PaginationService } from '../../../../../core/pagination/pagination.service'; +import { Bitstream } from '../../../../../core/shared/bitstream.model'; +import { Bundle } from '../../../../../core/shared/bundle.model'; import { PaginationComponentOptions } from '../../../../../shared/pagination/pagination-component-options.model'; +import { AbstractPaginatedDragAndDropListComponent } from '../../../../../shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component'; +import { ResponsiveTableSizes } from '../../../../../shared/responsive-table-sizes/responsive-table-sizes'; +import { PaginatedSearchOptions } from '../../../../../shared/search/models/paginated-search-options.model'; +import { followLink } from '../../../../../shared/utils/follow-link-config.model'; +import { ObjectValuesPipe } from '../../../../../shared/utils/object-values-pipe'; @Component({ selector: 'ds-paginated-drag-and-drop-bitstream-list', diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-drag-handle/item-edit-bitstream-drag-handle.component.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-drag-handle/item-edit-bitstream-drag-handle.component.ts index e5cb9ba403..11095888da 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-drag-handle/item-edit-bitstream-drag-handle.component.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-drag-handle/item-edit-bitstream-drag-handle.component.ts @@ -1,4 +1,9 @@ -import { Component, OnInit, ViewChild, ViewContainerRef } from '@angular/core'; +import { + Component, + OnInit, + ViewChild, + ViewContainerRef, +} from '@angular/core'; @Component({ selector: 'ds-item-edit-bitstream-drag-handle', diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.spec.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.spec.ts index 068ef2a604..6a131d8c75 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.spec.ts @@ -1,18 +1,23 @@ -import { ItemEditBitstreamComponent } from './item-edit-bitstream.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; -import { of as observableOf } from 'rxjs'; -import { Bitstream } from '../../../../core/shared/bitstream.model'; -import { TranslateModule } from '@ngx-translate/core'; -import { VarDirective } from '../../../../shared/utils/var.directive'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; -import { ResponsiveTableSizes } from '../../../../shared/responsive-table-sizes/responsive-table-sizes'; -import { ResponsiveColumnSizes } from '../../../../shared/responsive-table-sizes/responsive-column-sizes'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { getBitstreamDownloadRoute } from '../../../../app-routing-paths'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { getBitstreamDownloadRoute } from '../../../../app-routing-paths'; +import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; +import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { ResponsiveColumnSizes } from '../../../../shared/responsive-table-sizes/responsive-column-sizes'; +import { ResponsiveTableSizes } from '../../../../shared/responsive-table-sizes/responsive-table-sizes'; import { BrowserOnlyMockPipe } from '../../../../shared/testing/browser-only-mock.pipe'; +import { VarDirective } from '../../../../shared/utils/var.directive'; +import { ItemEditBitstreamComponent } from './item-edit-bitstream.component'; let comp: ItemEditBitstreamComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.ts index 2589b02e5e..e1c4f81c8a 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.ts @@ -1,15 +1,27 @@ -import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild, ViewContainerRef } from '@angular/core'; -import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { + Component, + Input, + OnChanges, + OnInit, + SimpleChanges, + ViewChild, + ViewContainerRef, +} from '@angular/core'; import cloneDeep from 'lodash/cloneDeep'; -import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; import { Observable } from 'rxjs'; -import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../../../../core/shared/operators'; -import { ResponsiveTableSizes } from '../../../../shared/responsive-table-sizes/responsive-table-sizes'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { FieldUpdate } from '../../../../core/data/object-updates/field-update.model'; -import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; + import { getBitstreamDownloadRoute } from '../../../../app-routing-paths'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; +import { FieldUpdate } from '../../../../core/data/object-updates/field-update.model'; +import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; +import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { BitstreamFormat } from '../../../../core/shared/bitstream-format.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../../core/shared/operators'; +import { ResponsiveTableSizes } from '../../../../shared/responsive-table-sizes/responsive-table-sizes'; @Component({ selector: 'ds-item-edit-bitstream', diff --git a/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts b/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts index 73dd2e16f9..36066802bd 100644 --- a/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts @@ -1,46 +1,60 @@ import { CommonModule } from '@angular/common'; import { EventEmitter } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; + +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { ItemDataService } from '../../../core/data/item-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { Collection } from '../../../core/shared/collection.model'; import { Item } from '../../../core/shared/item.model'; -import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { SearchService } from '../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { ErrorComponent } from '../../../shared/error/error.component'; import { HostWindowService } from '../../../shared/host-window.service'; import { LoadingComponent } from '../../../shared/loading/loading.component'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { CollectionSelectComponent } from '../../../shared/object-select/collection-select/collection-select.component'; import { ObjectSelectService } from '../../../shared/object-select/object-select.service'; -import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; import { PaginationComponent } from '../../../shared/pagination/pagination.component'; -import { SearchFormComponent } from '../../../shared/search-form/search-form.component'; -import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; -import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { ObjectSelectServiceStub } from '../../../shared/testing/object-select-service.stub'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { SearchServiceStub } from '../../../shared/testing/search-service.stub'; -import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; -import { VarDirective } from '../../../shared/utils/var.directive'; -import { ItemCollectionMapperComponent } from './item-collection-mapper.component'; +import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../shared/remote-data.utils'; +import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; +import { SearchFormComponent } from '../../../shared/search-form/search-form.component'; +import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { ObjectSelectServiceStub } from '../../../shared/testing/object-select-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { SearchServiceStub } from '../../../shared/testing/search-service.stub'; import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { ItemCollectionMapperComponent } from './item-collection-mapper.component'; describe('ItemCollectionMapperComponent', () => { let comp: ItemCollectionMapperComponent; diff --git a/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.ts b/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.ts index 9867de06ce..7c9148c9cc 100644 --- a/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.ts +++ b/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.ts @@ -1,13 +1,36 @@ -import { BehaviorSubject, combineLatest as observableCombineLatest, Observable } from 'rxjs'; +import { + ChangeDetectionStrategy, + Component, + OnInit, + ViewChild, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + filter, + map, + startWith, + switchMap, + take, +} from 'rxjs/operators'; -import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { fadeIn, fadeInOut } from '../../../shared/animations/fade'; -import { RemoteData } from '../../../core/data/remote-data'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; import { Collection } from '../../../core/shared/collection.model'; +import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; import { Item } from '../../../core/shared/item.model'; +import { NoContent } from '../../../core/shared/NoContent.model'; import { getAllSucceededRemoteData, getFirstCompletedRemoteData, @@ -16,17 +39,18 @@ import { getRemoteDataPayload, toDSpaceObjectListRD, } from '../../../core/shared/operators'; -import { ActivatedRoute, Router } from '@angular/router'; -import { filter, map, startWith, switchMap, take } from 'rxjs/operators'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { TranslateService } from '@ngx-translate/core'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; -import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { SearchService } from '../../../core/shared/search/search.service'; -import { NoContent } from '../../../core/shared/NoContent.model'; +import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; +import { + fadeIn, + fadeInOut, +} from '../../../shared/animations/fade'; +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { PaginatedSearchOptions } from '../../../shared/search/models/paginated-search-options.model'; import { getItemPageRoute } from '../../item-page-routing-paths'; @Component({ diff --git a/src/app/item-page/edit-item-page/item-curate/item-curate.component.spec.ts b/src/app/item-page/edit-item-page/item-curate/item-curate.component.spec.ts index fa9a606131..362e44f559 100644 --- a/src/app/item-page/edit-item-page/item-curate/item-curate.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-curate/item-curate.component.spec.ts @@ -1,12 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; -import { ItemCurateComponent } from './item-curate.component'; -import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { Item } from '../../../core/shared/item.model'; +import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { ItemCurateComponent } from './item-curate.component'; describe('ItemCurateComponent', () => { let comp: ItemCurateComponent; diff --git a/src/app/item-page/edit-item-page/item-curate/item-curate.component.ts b/src/app/item-page/edit-item-page/item-curate/item-curate.component.ts index df412a5be9..b9a56b6c32 100644 --- a/src/app/item-page/edit-item-page/item-curate/item-curate.component.ts +++ b/src/app/item-page/edit-item-page/item-curate/item-curate.component.ts @@ -1,11 +1,19 @@ -import { Component, OnInit } from '@angular/core'; -import { filter, map, take } from 'rxjs/operators'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Observable } from 'rxjs'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { Observable } from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { hasValue } from '../../../shared/empty.util'; +import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; +import { hasValue } from '../../../shared/empty.util'; /** * Component for managing a collection's curation tasks diff --git a/src/app/item-page/edit-item-page/item-delete/item-delete.component.spec.ts b/src/app/item-page/edit-item-page/item-delete/item-delete.component.spec.ts index 4621caa350..d269d8bb1d 100644 --- a/src/app/item-page/edit-item-page/item-delete/item-delete.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-delete/item-delete.component.spec.ts @@ -1,31 +1,45 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; -import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; -import { Item } from '../../../core/shared/item.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { of as observableOf, EMPTY } from 'rxjs'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { ItemDeleteComponent } from './item-delete.component'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { VarDirective } from '../../../shared/utils/var.directive'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { + EMPTY, + of as observableOf, +} from 'rxjs'; + +import { LinkService } from '../../../core/cache/builders/link.service'; +import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; -import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; -import { getItemEditRoute } from '../../item-page-routing-paths'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; import { RelationshipTypeDataService } from '../../../core/data/relationship-type-data.service'; -import { LinkService } from '../../../core/cache/builders/link.service'; +import { Item } from '../../../core/shared/item.model'; +import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; +import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { getItemEditRoute } from '../../item-page-routing-paths'; +import { ItemDeleteComponent } from './item-delete.component'; let comp: ItemDeleteComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-delete/item-delete.component.ts b/src/app/item-page/edit-item-page/item-delete/item-delete.component.ts index 1c8325ca5a..21d71ab390 100644 --- a/src/app/item-page/edit-item-page/item-delete/item-delete.component.ts +++ b/src/app/item-page/edit-item-page/item-delete/item-delete.component.ts @@ -1,41 +1,60 @@ -import { Component, Input, OnInit, OnDestroy } from '@angular/core'; -import { defaultIfEmpty, filter, map, switchMap, take } from 'rxjs/operators'; import { - AbstractSimpleItemActionComponent, -} from '../simple-item-action/abstract-simple-item-action.component'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { - combineLatest as observableCombineLatest, + ActivatedRoute, + Router, +} from '@angular/router'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, combineLatest, + combineLatest as observableCombineLatest, Observable, of as observableOf, Subscription, - BehaviorSubject, } from 'rxjs'; -import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; -import { VirtualMetadata } from '../virtual-metadata/virtual-metadata.component'; -import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; import { - getRemoteDataPayload, - getFirstSucceededRemoteData, - getFirstCompletedRemoteData, -} from '../../../core/shared/operators'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { Item } from '../../../core/shared/item.model'; -import { MetadataValue } from '../../../core/shared/metadata.models'; -import { ViewMode } from '../../../core/shared/view-mode.model'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; + defaultIfEmpty, + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { LinkService } from '../../../core/cache/builders/link.service'; +import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; import { ItemDataService } from '../../../core/data/item-data.service'; -import { TranslateService } from '@ngx-translate/core'; import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; -import { LinkService } from '../../../core/cache/builders/link.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { Item } from '../../../core/shared/item.model'; +import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; +import { MetadataValue } from '../../../core/shared/metadata.models'; +import { NoContent } from '../../../core/shared/NoContent.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { followLink } from '../../../shared/utils/follow-link-config.model'; import { getItemEditRoute } from '../../item-page-routing-paths'; -import { RemoteData } from '../../../core/data/remote-data'; -import { NoContent } from '../../../core/shared/NoContent.model'; +import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; +import { VirtualMetadata } from '../virtual-metadata/virtual-metadata.component'; @Component({ selector: 'ds-item-delete', diff --git a/src/app/item-page/edit-item-page/item-move/item-move.component.spec.ts b/src/app/item-page/edit-item-page/item-move/item-move.component.spec.ts index cb66015925..f1cf223b25 100644 --- a/src/app/item-page/edit-item-page/item-move/item-move.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-move/item-move.component.spec.ts @@ -1,28 +1,35 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { ItemDataService } from '../../../core/data/item-data.service'; +import { RequestService } from '../../../core/data/request.service'; import { Collection } from '../../../core/shared/collection.model'; import { Item } from '../../../core/shared/item.model'; import { SearchService } from '../../../core/shared/search/search.service'; +import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { ItemMoveComponent } from './item-move.component'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { RequestService } from '../../../core/data/request.service'; -import { getMockRequestService } from '../../../shared/mocks/request.service.mock'; +import { ItemMoveComponent } from './item-move.component'; describe('ItemMoveComponent', () => { let comp: ItemMoveComponent; diff --git a/src/app/item-page/edit-item-page/item-move/item-move.component.ts b/src/app/item-page/edit-item-page/item-move/item-move.component.ts index 3f0fb31bfb..b5f382fd3f 100644 --- a/src/app/item-page/edit-item-page/item-move/item-move.component.ts +++ b/src/app/item-page/edit-item-page/item-move/item-move.component.ts @@ -1,22 +1,38 @@ -import { Component, OnInit } from '@angular/core'; -import { map, switchMap } from 'rxjs/operators'; -import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Item } from '../../../core/shared/item.model'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; import { - getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData, getFirstSucceededRemoteData, getRemoteDataPayload, -} from '../../../core/shared/operators'; -import { ItemDataService } from '../../../core/data/item-data.service'; + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { Collection } from '../../../core/shared/collection.model'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { getItemEditRoute, getItemPageRoute } from '../../item-page-routing-paths'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { RequestService } from '../../../core/data/request.service'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; +import { Item } from '../../../core/shared/item.model'; +import { + getAllSucceededRemoteDataPayload, + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { + getItemEditRoute, + getItemPageRoute, +} from '../../item-page-routing-paths'; @Component({ selector: 'ds-item-move', diff --git a/src/app/item-page/edit-item-page/item-operation/item-operation.component.spec.ts b/src/app/item-page/edit-item-page/item-operation/item-operation.component.spec.ts index 470a7055b5..b8dd51282f 100644 --- a/src/app/item-page/edit-item-page/item-operation/item-operation.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-operation/item-operation.component.spec.ts @@ -1,9 +1,13 @@ -import { ItemOperation } from './itemOperation.model'; -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { ItemOperationComponent } from './item-operation.component'; -import { TranslateModule } from '@ngx-translate/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ItemOperationComponent } from './item-operation.component'; +import { ItemOperation } from './itemOperation.model'; describe('ItemOperationComponent', () => { let itemOperation: ItemOperation; diff --git a/src/app/item-page/edit-item-page/item-operation/item-operation.component.ts b/src/app/item-page/edit-item-page/item-operation/item-operation.component.ts index a15cffe12d..a3b3a6ac44 100644 --- a/src/app/item-page/edit-item-page/item-operation/item-operation.component.ts +++ b/src/app/item-page/edit-item-page/item-operation/item-operation.component.ts @@ -1,4 +1,8 @@ -import {Component, Input} from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + import {ItemOperation} from './itemOperation.model'; @Component({ diff --git a/src/app/item-page/edit-item-page/item-page-bitstreams.guard.ts b/src/app/item-page/edit-item-page/item-page-bitstreams.guard.ts index adcb6f1b23..43eef68fdb 100644 --- a/src/app/item-page/edit-item-page/item-page-bitstreams.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-bitstreams.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; import { Item } from '../../core/shared/item.model'; import { ItemPageResolver } from '../item-page.resolver'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { AuthService } from '../../core/auth/auth.service'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-collection-mapper.guard.ts b/src/app/item-page/edit-item-page/item-page-collection-mapper.guard.ts index 1f79384cfc..dcd947c9aa 100644 --- a/src/app/item-page/edit-item-page/item-page-collection-mapper.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-collection-mapper.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ItemPageResolver } from '../item-page.resolver'; -import { Item } from '../../core/shared/item.model'; -import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { Item } from '../../core/shared/item.model'; +import { ItemPageResolver } from '../item-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-metadata.guard.ts b/src/app/item-page/edit-item-page/item-page-metadata.guard.ts index 7ede4e10a3..e0c49283f3 100644 --- a/src/app/item-page/edit-item-page/item-page-metadata.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-metadata.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ItemPageResolver } from '../item-page.resolver'; -import { Item } from '../../core/shared/item.model'; -import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { Item } from '../../core/shared/item.model'; +import { ItemPageResolver } from '../item-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-register-doi.guard.ts b/src/app/item-page/edit-item-page/item-page-register-doi.guard.ts index dc476885e0..7eac0b0499 100644 --- a/src/app/item-page/edit-item-page/item-page-register-doi.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-register-doi.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; import { Item } from '../../core/shared/item.model'; import { ItemPageResolver } from '../item-page.resolver'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { AuthService } from '../../core/auth/auth.service'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-reinstate.guard.ts b/src/app/item-page/edit-item-page/item-page-reinstate.guard.ts index 463843dbe5..a160301e44 100644 --- a/src/app/item-page/edit-item-page/item-page-reinstate.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-reinstate.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; import { Item } from '../../core/shared/item.model'; import { ItemPageResolver } from '../item-page.resolver'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { AuthService } from '../../core/auth/auth.service'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-relationships.guard.ts b/src/app/item-page/edit-item-page/item-page-relationships.guard.ts index b52d883a63..c6cc86a198 100644 --- a/src/app/item-page/edit-item-page/item-page-relationships.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-relationships.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ItemPageResolver } from '../item-page.resolver'; -import { Item } from '../../core/shared/item.model'; -import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { Item } from '../../core/shared/item.model'; +import { ItemPageResolver } from '../item-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-status.guard.ts b/src/app/item-page/edit-item-page/item-page-status.guard.ts index 37a1a87af1..e9d3640bda 100644 --- a/src/app/item-page/edit-item-page/item-page-status.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-status.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { DsoPageSomeFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; import { Item } from '../../core/shared/item.model'; import { ItemPageResolver } from '../item-page.resolver'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { AuthService } from '../../core/auth/auth.service'; -import { DsoPageSomeFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-version-history.guard.ts b/src/app/item-page/edit-item-page/item-page-version-history.guard.ts index 11131200b4..864cca9c5a 100644 --- a/src/app/item-page/edit-item-page/item-page-version-history.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-version-history.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ItemPageResolver } from '../item-page.resolver'; -import { Item } from '../../core/shared/item.model'; -import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { Item } from '../../core/shared/item.model'; +import { ItemPageResolver } from '../item-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-page-withdraw.guard.ts b/src/app/item-page/edit-item-page/item-page-withdraw.guard.ts index 4b941ad8fc..8370cbed16 100644 --- a/src/app/item-page/edit-item-page/item-page-withdraw.guard.ts +++ b/src/app/item-page/edit-item-page/item-page-withdraw.guard.ts @@ -1,12 +1,20 @@ -import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; -import { Item } from '../../core/shared/item.model'; import { Injectable } from '@angular/core'; -import { ItemPageResolver } from '../item-page.resolver'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { Item } from '../../core/shared/item.model'; +import { ItemPageResolver } from '../item-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/edit-item-page/item-private/item-private.component.spec.ts b/src/app/item-page/edit-item-page/item-private/item-private.component.spec.ts index b5c1b67174..3f894721e0 100644 --- a/src/app/item-page/edit-item-page/item-private/item-private.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-private/item-private.component.spec.ts @@ -1,21 +1,32 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../core/shared/item.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { of as observableOf } from 'rxjs'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { ItemPrivateComponent } from './item-private.component'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { RestResponse } from '../../../core/cache/response.models'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { ItemDataService } from '../../../core/data/item-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { ItemPrivateComponent } from './item-private.component'; let comp: ItemPrivateComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-private/item-private.component.ts b/src/app/item-page/edit-item-page/item-private/item-private.component.ts index e4b9c21112..8e4da073d2 100644 --- a/src/app/item-page/edit-item-page/item-private/item-private.component.ts +++ b/src/app/item-page/edit-item-page/item-private/item-private.component.ts @@ -1,14 +1,16 @@ import { Component } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ItemDataService } from '../../../core/data/item-data.service'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; @Component({ selector: 'ds-item-private', diff --git a/src/app/item-page/edit-item-page/item-public/item-public.component.spec.ts b/src/app/item-page/edit-item-page/item-public/item-public.component.spec.ts index 3614c28e1a..ac74076f93 100644 --- a/src/app/item-page/edit-item-page/item-public/item-public.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-public/item-public.component.spec.ts @@ -1,20 +1,31 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../core/shared/item.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { of as observableOf } from 'rxjs'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ItemDataService } from '../../../core/data/item-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; import { ItemPublicComponent } from './item-public.component'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; let comp: ItemPublicComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-public/item-public.component.ts b/src/app/item-page/edit-item-page/item-public/item-public.component.ts index 3668a4ba73..b4373d8eff 100644 --- a/src/app/item-page/edit-item-page/item-public/item-public.component.ts +++ b/src/app/item-page/edit-item-page/item-public/item-public.component.ts @@ -1,13 +1,16 @@ import { Component } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ItemDataService } from '../../../core/data/item-data.service'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; @Component({ selector: 'ds-item-public', diff --git a/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.spec.ts b/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.spec.ts index 970782c66f..90ba8ae8d3 100644 --- a/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.spec.ts @@ -1,21 +1,32 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../core/shared/item.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { of as observableOf } from 'rxjs'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { ItemRegisterDoiComponent } from './item-register-doi.component'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { IdentifierDataService } from '../../../core/data/identifier-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { ItemRegisterDoiComponent } from './item-register-doi.component'; let comp: ItemRegisterDoiComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.ts b/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.ts index 714aa7c784..f377aae97f 100644 --- a/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.ts +++ b/src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.ts @@ -1,19 +1,25 @@ import { Component } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { + first, + map, +} from 'rxjs/operators'; -import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; +import { IdentifierDataService } from '../../../core/data/identifier-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ItemDataService } from '../../../core/data/item-data.service'; import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; -import { first, map } from 'rxjs/operators'; import { hasValue } from '../../../shared/empty.util'; -import { Observable } from 'rxjs'; -import { getItemPageRoute } from '../../item-page-routing-paths'; -import { IdentifierDataService } from '../../../core/data/identifier-data.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { Identifier } from '../../../shared/object-list/identifier-data/identifier.model'; +import { getItemPageRoute } from '../../item-page-routing-paths'; +import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; @Component({ selector: 'ds-item-register-doi', diff --git a/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts b/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts index ef4142db0b..608ab1eab9 100644 --- a/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts @@ -1,20 +1,31 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../core/shared/item.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { of as observableOf } from 'rxjs'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ItemDataService } from '../../../core/data/item-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; import { ItemReinstateComponent } from './item-reinstate.component'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; let comp: ItemReinstateComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.ts b/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.ts index 94d1a9f8c0..00fa7910aa 100644 --- a/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.ts +++ b/src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.ts @@ -1,13 +1,16 @@ import { Component } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ItemDataService } from '../../../core/data/item-data.service'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; @Component({ selector: 'ds-item-reinstate', diff --git a/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts b/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts index 572e84d4ff..871cba1d69 100644 --- a/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts @@ -1,37 +1,45 @@ -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { APP_CONFIG } from '../../../../../config/app-config.interface'; import { LinkService } from '../../../../core/cache/builders/link.service'; +import { ConfigurationDataService } from '../../../../core/data/configuration-data.service'; +import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; -import { ItemType } from '../../../../core/shared/item-relationships/item-type.model'; -import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; -import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; -import { Item } from '../../../../core/shared/item.model'; -import { SelectableListService } from '../../../../shared/object-list/selectable-list/selectable-list.service'; -import { SharedModule } from '../../../../shared/shared.module'; -import { EditRelationshipListComponent } from './edit-relationship-list.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../../shared/testing/utils.test'; +import { RelationshipTypeDataService } from '../../../../core/data/relationship-type-data.service'; +import { GroupDataService } from '../../../../core/eperson/group-data.service'; import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; +import { LinkHeadService } from '../../../../core/services/link-head.service'; +import { ConfigurationProperty } from '../../../../core/shared/configuration-property.model'; +import { Item } from '../../../../core/shared/item.model'; +import { ItemType } from '../../../../core/shared/item-relationships/item-type.model'; +import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; +import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service'; import { HostWindowService } from '../../../../shared/host-window.service'; -import { HostWindowServiceStub } from '../../../../shared/testing/host-window-service.stub'; +import { RouterMock } from '../../../../shared/mocks/router.mock'; +import { SelectableListService } from '../../../../shared/object-list/selectable-list/selectable-list.service'; import { PaginationComponent } from '../../../../shared/pagination/pagination.component'; import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model'; -import { RelationshipTypeDataService } from '../../../../core/data/relationship-type-data.service'; -import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; -import { GroupDataService } from '../../../../core/eperson/group-data.service'; -import { ConfigurationDataService } from '../../../../core/data/configuration-data.service'; -import { LinkHeadService } from '../../../../core/services/link-head.service'; -import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { SharedModule } from '../../../../shared/shared.module'; +import { HostWindowServiceStub } from '../../../../shared/testing/host-window-service.stub'; +import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; import { SearchConfigurationServiceStub } from '../../../../shared/testing/search-configuration-service.stub'; -import { ConfigurationProperty } from '../../../../core/shared/configuration-property.model'; -import { Router } from '@angular/router'; -import { RouterMock } from '../../../../shared/mocks/router.mock'; -import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { createPaginatedList } from '../../../../shared/testing/utils.test'; +import { EditRelationshipListComponent } from './edit-relationship-list.component'; let comp: EditRelationshipListComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.ts b/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.ts index fb0a6d9bbb..335332f183 100644 --- a/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.ts +++ b/src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.ts @@ -1,7 +1,16 @@ -import { Component, EventEmitter, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; +import { + Component, + EventEmitter, + Inject, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; import { BehaviorSubject, combineLatest as observableCombineLatest, @@ -10,12 +19,34 @@ import { Subscription, } from 'rxjs'; import { - RelationshipIdentifiable, -} from '../../../../core/data/object-updates/object-updates.reducer'; + defaultIfEmpty, + map, + mergeMap, + startWith, + switchMap, + take, + tap, + toArray, +} from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../config/app-config.interface'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; +import { FieldUpdate } from '../../../../core/data/object-updates/field-update.model'; +import { FieldUpdates } from '../../../../core/data/object-updates/field-updates.model'; +import { RelationshipIdentifiable } from '../../../../core/data/object-updates/object-updates.reducer'; +import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; +import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; +import { RelationshipTypeDataService } from '../../../../core/data/relationship-type-data.service'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; +import { Collection } from '../../../../core/shared/collection.model'; import { Item } from '../../../../core/shared/item.model'; -import { defaultIfEmpty, map, mergeMap, startWith, switchMap, take, tap, toArray } from 'rxjs/operators'; -import { hasNoValue, hasValue, hasValueOperator } from '../../../../shared/empty.util'; +import { ItemType } from '../../../../core/shared/item-relationships/item-type.model'; import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; import { @@ -24,22 +55,17 @@ import { getFirstSucceededRemoteDataPayload, getRemoteDataPayload, } from '../../../../core/shared/operators'; -import { ItemType } from '../../../../core/shared/item-relationships/item-type.model'; +import { + hasNoValue, + hasValue, + hasValueOperator, +} from '../../../../shared/empty.util'; import { DsDynamicLookupRelationModalComponent } from '../../../../shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component'; import { RelationshipOptions } from '../../../../shared/form/builder/models/relationship-options.model'; import { SelectableListService } from '../../../../shared/object-list/selectable-list/selectable-list.service'; +import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model'; import { SearchResult } from '../../../../shared/search/models/search-result.model'; import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model'; -import { PaginatedList } from '../../../../core/data/paginated-list.model'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { Collection } from '../../../../core/shared/collection.model'; -import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { RelationshipTypeDataService } from '../../../../core/data/relationship-type-data.service'; -import { FieldUpdate } from '../../../../core/data/object-updates/field-update.model'; -import { FieldUpdates } from '../../../../core/data/object-updates/field-updates.model'; -import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; -import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; import { itemLinksToFollow } from '../../../../shared/utils/relation-query.utils'; @Component({ diff --git a/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts b/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts index 60636cd8a1..f129eea439 100644 --- a/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts @@ -1,16 +1,21 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; -import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; -import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; import { Item } from '../../../../core/shared/item.model'; -import { EditRelationshipComponent } from './edit-relationship.component'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; import { createPaginatedList } from '../../../../shared/testing/utils.test'; -import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; +import { EditRelationshipComponent } from './edit-relationship.component'; let objectUpdatesService; const url = 'http://test-url.com/test-url'; diff --git a/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts b/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts index 85cea14961..92023d88a8 100644 --- a/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts +++ b/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts @@ -1,18 +1,41 @@ -import { Component, Input, OnChanges } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable, of } from 'rxjs'; -import { filter, map, switchMap, take } from 'rxjs/operators'; +import { + Component, + Input, + OnChanges, +} from '@angular/core'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { + combineLatest as observableCombineLatest, + Observable, + of, +} from 'rxjs'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; +import { FieldUpdate } from '../../../../core/data/object-updates/field-update.model'; import { DeleteRelationship, RelationshipIdentifiable, } from '../../../../core/data/object-updates/object-updates.reducer'; import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service'; import { Item } from '../../../../core/shared/item.model'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../../../../core/shared/operators'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../../core/shared/operators'; import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { hasValue, isNotEmpty } from '../../../../shared/empty.util'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; -import { FieldUpdate } from '../../../../core/data/object-updates/field-update.model'; -import { FieldChangeType } from '../../../../core/data/object-updates/field-change-type.model'; +import { + hasValue, + isNotEmpty, +} from '../../../../shared/empty.util'; @Component({ // eslint-disable-next-line @angular-eslint/component-selector diff --git a/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.spec.ts b/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.spec.ts index 042ff5ecac..793aff6b41 100644 --- a/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.spec.ts @@ -1,34 +1,55 @@ -import { ChangeDetectorRef, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ChangeDetectorRef, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { getTestScheduler } from 'jasmine-marbles'; -import { combineLatest as observableCombineLatest, of as observableOf } from 'rxjs'; +import { + combineLatest as observableCombineLatest, + of as observableOf, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; + import { ObjectCacheService } from '../../../core/cache/object-cache.service'; import { RestResponse } from '../../../core/cache/response.models'; import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; import { ItemDataService } from '../../../core/data/item-data.service'; +import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { RequestService } from '../../../core/data/request.service'; -import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; -import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; -import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; -import { Item } from '../../../core/shared/item.model'; -import { NotificationType } from '../../../shared/notifications/models/notification-type'; -import { INotification, Notification } from '../../../shared/notifications/models/notification.model'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { SharedModule } from '../../../shared/shared.module'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { ItemRelationshipsComponent } from './item-relationships.component'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; import { RelationshipTypeDataService } from '../../../core/data/relationship-type-data.service'; -import { relationshipTypes } from '../../../shared/testing/relationship-types.mock'; -import { ThemeService } from '../../../shared/theme-support/theme.service'; +import { RequestService } from '../../../core/data/request.service'; +import { Item } from '../../../core/shared/item.model'; +import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; +import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; import { getMockThemeService } from '../../../shared/mocks/theme-service.mock'; +import { + INotification, + Notification, +} from '../../../shared/notifications/models/notification.model'; +import { NotificationType } from '../../../shared/notifications/models/notification-type'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { SharedModule } from '../../../shared/shared.module'; +import { relationshipTypes } from '../../../shared/testing/relationship-types.mock'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { ThemeService } from '../../../shared/theme-support/theme.service'; +import { ItemRelationshipsComponent } from './item-relationships.component'; let comp: any; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.ts b/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.ts index 4c250da001..df5e78565d 100644 --- a/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.ts +++ b/src/app/item-page/edit-item-page/item-relationships/item-relationships.component.ts @@ -1,35 +1,55 @@ -import { ChangeDetectorRef, Component } from '@angular/core'; -import { Item } from '../../../core/shared/item.model'; +import { + ChangeDetectorRef, + Component, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, + zip as observableZip, +} from 'rxjs'; +import { + map, + startWith, + switchMap, + take, +} from 'rxjs/operators'; + +import { ObjectCacheService } from '../../../core/cache/object-cache.service'; +import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; +import { ItemDataService } from '../../../core/data/item-data.service'; +import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; +import { FieldUpdate } from '../../../core/data/object-updates/field-update.model'; +import { FieldUpdates } from '../../../core/data/object-updates/field-updates.model'; import { DeleteRelationship, RelationshipIdentifiable, } from '../../../core/data/object-updates/object-updates.reducer'; -import { map, startWith, switchMap, take } from 'rxjs/operators'; -import { combineLatest as observableCombineLatest, of as observableOf, zip as observableZip, Observable } from 'rxjs'; +import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; +import { RelationshipTypeDataService } from '../../../core/data/relationship-type-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { Item } from '../../../core/shared/item.model'; +import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; +import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; +import { NoContent } from '../../../core/shared/NoContent.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { hasValue } from '../../../shared/empty.util'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { followLink } from '../../../shared/utils/follow-link-config.model'; import { AbstractItemUpdateComponent } from '../abstract-item-update/abstract-item-update.component'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { RemoteData } from '../../../core/data/remote-data'; -import { ObjectCacheService } from '../../../core/cache/object-cache.service'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../../../core/shared/operators'; -import { RequestService } from '../../../core/data/request.service'; -import { RelationshipType } from '../../../core/shared/item-relationships/relationship-type.model'; -import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; -import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; -import { Relationship } from '../../../core/shared/item-relationships/relationship.model'; -import { NoContent } from '../../../core/shared/NoContent.model'; -import { hasValue } from '../../../shared/empty.util'; -import { FieldUpdate } from '../../../core/data/object-updates/field-update.model'; -import { FieldUpdates } from '../../../core/data/object-updates/field-updates.model'; -import { FieldChangeType } from '../../../core/data/object-updates/field-change-type.model'; -import { RelationshipTypeDataService } from '../../../core/data/relationship-type-data.service'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; @Component({ selector: 'ds-item-relationships', diff --git a/src/app/item-page/edit-item-page/item-status/item-status.component.spec.ts b/src/app/item-page/edit-item-page/item-status/item-status.component.spec.ts index 4e190003a9..add005e444 100644 --- a/src/app/item-page/edit-item-page/item-status/item-status.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-status/item-status.component.spec.ts @@ -1,21 +1,29 @@ -import { ItemStatusComponent } from './item-status.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { CommonModule } from '@angular/common'; -import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; -import { HostWindowService } from '../../../shared/host-window.service'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute } from '@angular/router'; -import { Item } from '../../../core/shared/item.model'; -import { By } from '@angular/platform-browser'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; + +import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { IdentifierDataService } from '../../../core/data/identifier-data.service'; -import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; import { ConfigurationProperty } from '../../../core/shared/configuration-property.model'; +import { Item } from '../../../core/shared/item.model'; +import { HostWindowService } from '../../../shared/host-window.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; +import { ItemStatusComponent } from './item-status.component'; let mockIdentifierDataService: IdentifierDataService; let mockConfigurationDataService: ConfigurationDataService; diff --git a/src/app/item-page/edit-item-page/item-status/item-status.component.ts b/src/app/item-page/edit-item-page/item-status/item-status.component.ts index 49fe2a39f8..287fdac9f1 100644 --- a/src/app/item-page/edit-item-page/item-status/item-status.component.ts +++ b/src/app/item-page/edit-item-page/item-status/item-status.component.ts @@ -1,23 +1,50 @@ -import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; -import { fadeIn, fadeInOut } from '../../../shared/animations/fade'; -import { Item } from '../../../core/shared/item.model'; +import { + ChangeDetectionStrategy, + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { ItemOperation } from '../item-operation/itemOperation.model'; -import { distinctUntilChanged, map, mergeMap, switchMap, toArray } from 'rxjs/operators'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { getItemEditRoute, getItemPageRoute } from '../../item-page-routing-paths'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + map, + mergeMap, + switchMap, + toArray, +} from 'rxjs/operators'; + +import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; -import { - getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData, getFirstSucceededRemoteData, getRemoteDataPayload, -} from '../../../core/shared/operators'; import { IdentifierDataService } from '../../../core/data/identifier-data.service'; -import { Identifier } from '../../../shared/object-list/identifier-data/identifier.model'; +import { RemoteData } from '../../../core/data/remote-data'; import { ConfigurationProperty } from '../../../core/shared/configuration-property.model'; -import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { + getAllSucceededRemoteDataPayload, + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { + fadeIn, + fadeInOut, +} from '../../../shared/animations/fade'; +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; +import { Identifier } from '../../../shared/object-list/identifier-data/identifier.model'; import { IdentifierData } from '../../../shared/object-list/identifier-data/identifier-data.model'; +import { + getItemEditRoute, + getItemPageRoute, +} from '../../item-page-routing-paths'; +import { ItemOperation } from '../item-operation/itemOperation.model'; @Component({ selector: 'ds-item-status', diff --git a/src/app/item-page/edit-item-page/item-status/themed-item-status.component.ts b/src/app/item-page/edit-item-page/item-status/themed-item-status.component.ts index eac5a53702..331206053a 100644 --- a/src/app/item-page/edit-item-page/item-status/themed-item-status.component.ts +++ b/src/app/item-page/edit-item-page/item-status/themed-item-status.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../../shared/theme-support/themed.component'; import { ItemStatusComponent } from './item-status.component'; diff --git a/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts b/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts index 9f72e5c94a..699fa62c62 100644 --- a/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts @@ -1,13 +1,18 @@ -import { ItemVersionHistoryComponent } from './item-version-history.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../../shared/utils/var.directive'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ActivatedRoute } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { Item } from '../../../core/shared/item.model'; -import { ActivatedRoute } from '@angular/router'; import { of as observableOf } from 'rxjs'; + +import { Item } from '../../../core/shared/item.model'; import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { ItemVersionHistoryComponent } from './item-version-history.component'; describe('ItemVersionHistoryComponent', () => { let component: ItemVersionHistoryComponent; diff --git a/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.ts b/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.ts index dda87dcf3f..5e89c0df17 100644 --- a/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.ts +++ b/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.ts @@ -1,10 +1,11 @@ import { Component } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; -import { map } from 'rxjs/operators'; import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; -import { ActivatedRoute } from '@angular/router'; import { AlertType } from '../../../shared/alert/aletr-type'; @Component({ diff --git a/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.spec.ts b/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.spec.ts index 97585c987b..b75e493597 100644 --- a/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.spec.ts @@ -1,20 +1,31 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../core/shared/item.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { of as observableOf } from 'rxjs'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ItemWithdrawComponent } from './item-withdraw.component'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ItemDataService } from '../../../core/data/item-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { ItemWithdrawComponent } from './item-withdraw.component'; let comp: ItemWithdrawComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.ts b/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.ts index 2be1c1b1e1..45aee5a1a2 100644 --- a/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.ts +++ b/src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.ts @@ -1,14 +1,16 @@ import { Component } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; +import { ItemDataService } from '../../../core/data/item-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { Item } from '../../../core/shared/item.model'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ItemDataService } from '../../../core/data/item-data.service'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstract-simple-item-action.component'; @Component({ selector: 'ds-item-withdraw', diff --git a/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.spec.ts b/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.spec.ts index 845d4e17a4..894e03ba63 100644 --- a/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.spec.ts +++ b/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.spec.ts @@ -1,9 +1,14 @@ -import {Item} from '../../../core/shared/item.model'; -import {waitForAsync, ComponentFixture, TestBed} from '@angular/core/testing'; -import {ModifyItemOverviewComponent} from './modify-item-overview.component'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import {By} from '@angular/platform-browser'; import {TranslateModule} from '@ngx-translate/core'; +import {Item} from '../../../core/shared/item.model'; +import {ModifyItemOverviewComponent} from './modify-item-overview.component'; + let comp: ModifyItemOverviewComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.ts b/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.ts index a423372955..428f73c849 100644 --- a/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.ts +++ b/src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.ts @@ -1,4 +1,9 @@ -import {Component, Input, OnInit} from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; + import {Item} from '../../../core/shared/item.model'; import {MetadataMap} from '../../../core/shared/metadata.models'; diff --git a/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts b/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts index 0d603c2e3e..e504212ce1 100644 --- a/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts +++ b/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts @@ -1,26 +1,37 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../core/shared/item.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { ItemDataService } from '../../../core/data/item-data.service'; import { RemoteData } from '../../../core/data/remote-data'; -import { AbstractSimpleItemActionComponent } from './abstract-simple-item-action.component'; -import { By } from '@angular/platform-browser'; -import { of as observableOf } from 'rxjs'; +import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; import { getItemEditRoute } from '../../item-page-routing-paths'; +import { AbstractSimpleItemActionComponent } from './abstract-simple-item-action.component'; /** * Test component that implements the AbstractSimpleItemActionComponent used to test the diff --git a/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts b/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts index 9f9ca31a45..5c0b1de1b3 100644 --- a/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts +++ b/src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts @@ -1,15 +1,29 @@ -import { Component, OnInit, Predicate } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ItemDataService } from '../../../core/data/item-data.service'; +import { + Component, + OnInit, + Predicate, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { Item } from '../../../core/shared/item.model'; -import { RemoteData } from '../../../core/data/remote-data'; import { Observable } from 'rxjs'; +import { + first, + map, +} from 'rxjs/operators'; + +import { ItemDataService } from '../../../core/data/item-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { Item } from '../../../core/shared/item.model'; import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; -import { first, map } from 'rxjs/operators'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + getItemEditRoute, + getItemPageRoute, +} from '../../item-page-routing-paths'; import { findSuccessfulAccordingTo } from '../edit-item-operators'; -import { getItemEditRoute, getItemPageRoute } from '../../item-page-routing-paths'; /** * Component to render and handle simple item edit actions such as withdrawal and reinstatement. diff --git a/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts b/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts index 471afa98d0..9e07db3be6 100644 --- a/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts +++ b/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts @@ -1,14 +1,21 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { VirtualMetadataComponent } from './virtual-metadata.component'; -import { Item } from '../../../core/shared/item.model'; -import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; -import { VarDirective } from '../../../shared/utils/var.directive'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { APP_CONFIG } from '../../../../config/app-config.interface'; import { environment } from '../../../../environments/environment'; +import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; +import { Item } from '../../../core/shared/item.model'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { VirtualMetadataComponent } from './virtual-metadata.component'; describe('VirtualMetadataComponent', () => { diff --git a/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.ts b/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.ts index a448cb6cc5..c45e1de5aa 100644 --- a/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.ts +++ b/src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.ts @@ -1,9 +1,20 @@ -import { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Inject, + Input, + OnInit, + Output, +} from '@angular/core'; import {Observable} from 'rxjs'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../config/app-config.interface'; +import {ObjectUpdatesService} from '../../../core/data/object-updates/object-updates.service'; import {Item} from '../../../core/shared/item.model'; import {MetadataValue} from '../../../core/shared/metadata.models'; -import {ObjectUpdatesService} from '../../../core/data/object-updates/object-updates.service'; -import { APP_CONFIG, AppConfig } from '../../../../config/app-config.interface'; @Component({ selector: 'ds-virtual-metadata', diff --git a/src/app/item-page/field-components/collections/collections.component.spec.ts b/src/app/item-page/field-components/collections/collections.component.spec.ts index 8d79bb8754..039dbe67f7 100644 --- a/src/app/item-page/field-components/collections/collections.component.spec.ts +++ b/src/app/item-page/field-components/collections/collections.component.spec.ts @@ -1,19 +1,33 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateModule } from '@ngx-translate/core'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { RemoteDataBuildService } from '../../../core/cache/builders/remote-data-build.service'; import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; import { Collection } from '../../../core/shared/collection.model'; import { Item } from '../../../core/shared/item.model'; -import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { CollectionsComponent } from './collections.component'; -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; import { PageInfo } from '../../../core/shared/page-info.model'; -import { FindListOptions } from '../../../core/data/find-list-options.model'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; +import { getMockRemoteDataBuildService } from '../../../shared/mocks/remote-data-build.service.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { CollectionsComponent } from './collections.component'; const createMockCollection = (id: string) => Object.assign(new Collection(), { id: id, diff --git a/src/app/item-page/field-components/collections/collections.component.ts b/src/app/item-page/field-components/collections/collections.component.ts index 3e72f81545..2878b1c7d5 100644 --- a/src/app/item-page/field-components/collections/collections.component.ts +++ b/src/app/item-page/field-components/collections/collections.component.ts @@ -1,20 +1,36 @@ -import { Component, Input, OnInit, ChangeDetectorRef } from '@angular/core'; -import { BehaviorSubject, combineLatest, Observable } from 'rxjs'; -import {map, scan, startWith, switchMap, tap, withLatestFrom} from 'rxjs/operators'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { + ChangeDetectorRef, + Component, + Input, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + combineLatest, + Observable, +} from 'rxjs'; +import { + map, + scan, + startWith, + switchMap, + tap, + withLatestFrom, +} from 'rxjs/operators'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; import { Collection } from '../../../core/shared/collection.model'; import { Item } from '../../../core/shared/item.model'; -import { hasValue } from '../../../shared/empty.util'; import { getAllCompletedRemoteData, getAllSucceededRemoteDataPayload, getFirstSucceededRemoteDataPayload, getPaginatedListPayload, } from '../../../core/shared/operators'; -import { FindListOptions } from '../../../core/data/find-list-options.model'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { hasValue } from '../../../shared/empty.util'; /** * This component renders the parent collections section of the item diff --git a/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.spec.ts b/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.spec.ts index 0361cf4020..9b6a66ca1b 100644 --- a/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.spec.ts +++ b/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.spec.ts @@ -1,13 +1,25 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { MetadataUriValuesComponent } from './metadata-uri-values.component'; -import { isNotEmpty } from '../../../shared/empty.util'; -import { MetadataValue } from '../../../core/shared/metadata.models'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../config/app-config.interface'; import { environment } from '../../../../environments/environment'; +import { MetadataValue } from '../../../core/shared/metadata.models'; +import { isNotEmpty } from '../../../shared/empty.util'; +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { MetadataUriValuesComponent } from './metadata-uri-values.component'; let comp: MetadataUriValuesComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.ts b/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.ts index b4368ce2cc..96608a693b 100644 --- a/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.ts +++ b/src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.ts @@ -1,7 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; -import { MetadataValuesComponent } from '../metadata-values/metadata-values.component'; import { MetadataValue } from '../../../core/shared/metadata.models'; +import { MetadataValuesComponent } from '../metadata-values/metadata-values.component'; /** * This component renders the configured 'values' into the ds-metadata-field-wrapper component as a link. diff --git a/src/app/item-page/field-components/metadata-values/metadata-values.component.spec.ts b/src/app/item-page/field-components/metadata-values/metadata-values.component.spec.ts index 4b529cbb9c..11db71811d 100644 --- a/src/app/item-page/field-components/metadata-values/metadata-values.component.spec.ts +++ b/src/app/item-page/field-components/metadata-values/metadata-values.component.spec.ts @@ -1,12 +1,23 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; -import { MetadataValuesComponent } from './metadata-values.component'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { MetadataValue } from '../../../core/shared/metadata.models'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../config/app-config.interface'; import { environment } from '../../../../environments/environment'; +import { MetadataValue } from '../../../core/shared/metadata.models'; +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { MetadataValuesComponent } from './metadata-values.component'; let comp: MetadataValuesComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/field-components/metadata-values/metadata-values.component.ts b/src/app/item-page/field-components/metadata-values/metadata-values.component.ts index 7184ac65f3..76da1c149c 100644 --- a/src/app/item-page/field-components/metadata-values/metadata-values.component.ts +++ b/src/app/item-page/field-components/metadata-values/metadata-values.component.ts @@ -1,9 +1,19 @@ -import { Component, Inject, Input, OnChanges, SimpleChanges } from '@angular/core'; -import { MetadataValue } from '../../../core/shared/metadata.models'; -import { APP_CONFIG, AppConfig } from '../../../../config/app-config.interface'; +import { + Component, + Inject, + Input, + OnChanges, + SimpleChanges, +} from '@angular/core'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../config/app-config.interface'; import { BrowseDefinition } from '../../../core/shared/browse-definition.model'; -import { hasValue } from '../../../shared/empty.util'; +import { MetadataValue } from '../../../core/shared/metadata.models'; import { VALUE_LIST_BROWSE_DEFINITION } from '../../../core/shared/value-list-browse-definition.resource-type'; +import { hasValue } from '../../../shared/empty.util'; /** * This component renders the configured 'values' into the ds-metadata-field-wrapper component. diff --git a/src/app/item-page/full/field-components/file-section/full-file-section.component.spec.ts b/src/app/item-page/full/field-components/file-section/full-file-section.component.spec.ts index 9357198710..046f34531f 100644 --- a/src/app/item-page/full/field-components/file-section/full-file-section.component.spec.ts +++ b/src/app/item-page/full/field-components/file-section/full-file-section.component.spec.ts @@ -1,26 +1,34 @@ -import { FullFileSectionComponent } from './full-file-section.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../../shared/testing/utils.test'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { VarDirective } from '../../../../shared/utils/var.directive'; -import { FileSizePipe } from '../../../../shared/utils/file-size-pipe'; -import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { Bitstream } from '../../../../core/shared/bitstream.model'; -import { of as observableOf } from 'rxjs'; -import { MockBitstreamFormat1 } from '../../../../shared/mocks/item.mock'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; import { APP_CONFIG } from 'src/config/app-config.interface'; import { environment } from 'src/environments/environment'; +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; +import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { MockBitstreamFormat1 } from '../../../../shared/mocks/item.mock'; +import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; +import { createPaginatedList } from '../../../../shared/testing/utils.test'; +import { FileSizePipe } from '../../../../shared/utils/file-size-pipe'; +import { VarDirective } from '../../../../shared/utils/var.directive'; +import { FullFileSectionComponent } from './full-file-section.component'; + describe('FullFileSectionComponent', () => { let comp: FullFileSectionComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/full/field-components/file-section/full-file-section.component.ts b/src/app/item-page/full/field-components/file-section/full-file-section.component.ts index 3379e6bfd7..e3ecda4086 100644 --- a/src/app/item-page/full/field-components/file-section/full-file-section.component.ts +++ b/src/app/item-page/full/field-components/file-section/full-file-section.component.ts @@ -1,21 +1,36 @@ -import { Component, Inject, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Inject, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { + switchMap, + tap, +} from 'rxjs/operators'; +import { + APP_CONFIG, + AppConfig, +} from 'src/config/app-config.interface'; -import { Bitstream } from '../../../../core/shared/bitstream.model'; -import { Item } from '../../../../core/shared/item.model'; -import { followLink } from '../../../../shared/utils/follow-link-config.model'; -import { FileSectionComponent } from '../../../simple/field-components/file-section/file-section.component'; -import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; -import { switchMap, tap } from 'rxjs/operators'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { hasValue, isEmpty } from '../../../../shared/empty.util'; import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { AppConfig, APP_CONFIG } from 'src/config/app-config.interface'; +import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { Item } from '../../../../core/shared/item.model'; +import { + hasValue, + isEmpty, +} from '../../../../shared/empty.util'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { PaginationComponentOptions } from '../../../../shared/pagination/pagination-component-options.model'; +import { followLink } from '../../../../shared/utils/follow-link-config.model'; +import { FileSectionComponent } from '../../../simple/field-components/file-section/file-section.component'; /** * This component renders the file section of the item diff --git a/src/app/item-page/full/field-components/file-section/themed-full-file-section.component.ts b/src/app/item-page/full/field-components/file-section/themed-full-file-section.component.ts index 015eec285c..de03cd07c8 100644 --- a/src/app/item-page/full/field-components/file-section/themed-full-file-section.component.ts +++ b/src/app/item-page/full/field-components/file-section/themed-full-file-section.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../core/shared/item.model'; import { ThemedComponent } from '../../../../shared/theme-support/themed.component'; import { FullFileSectionComponent } from './full-file-section.component'; -import { Item } from '../../../../core/shared/item.model'; /** * Themed wrapper for {@link FullFileSectionComponent} diff --git a/src/app/item-page/full/full-item-page.component.spec.ts b/src/app/item-page/full/full-item-page.component.spec.ts index fcb6e3175c..bdd48aac26 100644 --- a/src/app/item-page/full/full-item-page.component.spec.ts +++ b/src/app/item-page/full/full-item-page.component.spec.ts @@ -1,28 +1,47 @@ -import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA, PLATFORM_ID } from '@angular/core'; -import { TruncatePipe } from '../../shared/utils/truncate.pipe'; -import { FullItemPageComponent } from './full-item-page.component'; -import { MetadataService } from '../../core/metadata/metadata.service'; -import { ActivatedRoute } from '@angular/router'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { RouterTestingModule } from '@angular/router/testing'; -import { Item } from '../../core/shared/item.model'; -import { BehaviorSubject, of as observableOf } from 'rxjs'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, + PLATFORM_ID, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; -import { createPaginatedList } from '../../shared/testing/utils.test'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { createRelationshipsObservable } from '../simple/item-types/shared/item.component.spec'; +import { ItemDataService } from '../../core/data/item-data.service'; import { RemoteData } from '../../core/data/remote-data'; -import { ServerResponseService } from '../../core/services/server-response.service'; import { SignpostingDataService } from '../../core/data/signposting-data.service'; +import { MetadataService } from '../../core/metadata/metadata.service'; import { LinkHeadService } from '../../core/services/link-head.service'; +import { ServerResponseService } from '../../core/services/server-response.service'; +import { Item } from '../../core/shared/item.model'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { TruncatePipe } from '../../shared/utils/truncate.pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { createRelationshipsObservable } from '../simple/item-types/shared/item.component.spec'; +import { FullItemPageComponent } from './full-item-page.component'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])), diff --git a/src/app/item-page/full/full-item-page.component.ts b/src/app/item-page/full/full-item-page.component.ts index b423a1ed74..e81b96a412 100644 --- a/src/app/item-page/full/full-item-page.component.ts +++ b/src/app/item-page/full/full-item-page.component.ts @@ -1,24 +1,38 @@ -import { filter, map } from 'rxjs/operators'; -import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core'; -import { ActivatedRoute, Data, Router } from '@angular/router'; - -import { BehaviorSubject, Observable } from 'rxjs'; - -import { ItemPageComponent } from '../simple/item-page.component'; -import { MetadataMap } from '../../core/shared/metadata.models'; -import { ItemDataService } from '../../core/data/item-data.service'; - -import { RemoteData } from '../../core/data/remote-data'; -import { Item } from '../../core/shared/item.model'; - -import { fadeInOut } from '../../shared/animations/fade'; -import { hasValue } from '../../shared/empty.util'; -import { AuthService } from '../../core/auth/auth.service'; import { Location } from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, + Inject, + OnDestroy, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { + ActivatedRoute, + Data, + Router, +} from '@angular/router'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + filter, + map, +} from 'rxjs/operators'; + +import { AuthService } from '../../core/auth/auth.service'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ServerResponseService } from '../../core/services/server-response.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { RemoteData } from '../../core/data/remote-data'; import { SignpostingDataService } from '../../core/data/signposting-data.service'; import { LinkHeadService } from '../../core/services/link-head.service'; +import { ServerResponseService } from '../../core/services/server-response.service'; +import { Item } from '../../core/shared/item.model'; +import { MetadataMap } from '../../core/shared/metadata.models'; +import { fadeInOut } from '../../shared/animations/fade'; +import { hasValue } from '../../shared/empty.util'; +import { ItemPageComponent } from '../simple/item-page.component'; /** * This component renders a full item page. diff --git a/src/app/item-page/full/themed-full-item-page.component.ts b/src/app/item-page/full/themed-full-item-page.component.ts index a3b19e6f93..4b8e08a495 100644 --- a/src/app/item-page/full/themed-full-item-page.component.ts +++ b/src/app/item-page/full/themed-full-item-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { FullItemPageComponent } from './full-item-page.component'; diff --git a/src/app/item-page/item-page-administrator.guard.ts b/src/app/item-page/item-page-administrator.guard.ts index 9bbc2ac380..905516195d 100644 --- a/src/app/item-page/item-page-administrator.guard.ts +++ b/src/app/item-page/item-page-administrator.guard.ts @@ -1,12 +1,20 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; -import { ItemPageResolver } from './item-page.resolver'; -import { Item } from '../core/shared/item.model'; -import { DsoPageSingleFeatureGuard } from '../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; -import { Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../core/data/feature-authorization/feature-id'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../core/auth/auth.service'; +import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { DsoPageSingleFeatureGuard } from '../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; +import { FeatureID } from '../core/data/feature-authorization/feature-id'; +import { Item } from '../core/shared/item.model'; +import { ItemPageResolver } from './item-page.resolver'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/item-page-routing-paths.ts b/src/app/item-page/item-page-routing-paths.ts index 90a4a54b1e..cded1dd74e 100644 --- a/src/app/item-page/item-page-routing-paths.ts +++ b/src/app/item-page/item-page-routing-paths.ts @@ -1,5 +1,5 @@ -import { URLCombiner } from '../core/url-combiner/url-combiner'; import { Item } from '../core/shared/item.model'; +import { URLCombiner } from '../core/url-combiner/url-combiner'; import { isNotEmpty } from '../shared/empty.util'; export const ITEM_MODULE_PATH = 'items'; diff --git a/src/app/item-page/item-page-routing.module.ts b/src/app/item-page/item-page-routing.module.ts index 0e30b01b95..ed86ba4082 100644 --- a/src/app/item-page/item-page-routing.module.ts +++ b/src/app/item-page/item-page-routing.module.ts @@ -1,24 +1,29 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { ItemPageResolver } from './item-page.resolver'; -import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { ItemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver'; -import { VersionResolver } from './version-page/version.resolver'; -import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; -import { LinkService } from '../core/cache/builders/link.service'; -import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; -import { ITEM_EDIT_PATH, ORCID_PATH, UPLOAD_BITSTREAM_PATH } from './item-page-routing-paths'; -import { ItemPageAdministratorGuard } from './item-page-administrator.guard'; -import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; -import { ThemedItemPageComponent } from './simple/themed-item-page.component'; -import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component'; -import { MenuItemType } from '../shared/menu/menu-item-type.model'; -import { VersionPageComponent } from './version-page/version-page/version-page.component'; -import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; + import { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths'; +import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; +import { DSOBreadcrumbsService } from '../core/breadcrumbs/dso-breadcrumbs.service'; +import { ItemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.resolver'; +import { LinkService } from '../core/cache/builders/link.service'; +import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; +import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; +import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; +import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; +import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component'; +import { ItemPageResolver } from './item-page.resolver'; +import { ItemPageAdministratorGuard } from './item-page-administrator.guard'; +import { + ITEM_EDIT_PATH, + ORCID_PATH, + UPLOAD_BITSTREAM_PATH, +} from './item-page-routing-paths'; import { OrcidPageComponent } from './orcid-page/orcid-page.component'; import { OrcidPageGuard } from './orcid-page/orcid-page.guard'; -import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; +import { ThemedItemPageComponent } from './simple/themed-item-page.component'; +import { VersionResolver } from './version-page/version.resolver'; +import { VersionPageComponent } from './version-page/version-page/version-page.component'; @NgModule({ imports: [ diff --git a/src/app/item-page/item-page.module.ts b/src/app/item-page/item-page.module.ts index d3db80142e..93e6c3b354 100644 --- a/src/app/item-page/item-page.module.ts +++ b/src/app/item-page/item-page.module.ts @@ -1,65 +1,54 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { NgxGalleryModule } from '@kolkov/ngx-gallery'; +import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; -import { SharedModule } from '../shared/shared.module'; - -import { ItemPageComponent } from './simple/item-page.component'; -import { ItemPageRoutingModule } from './item-page-routing.module'; -import { MetadataUriValuesComponent } from './field-components/metadata-uri-values/metadata-uri-values.component'; -import { - ItemPageAuthorFieldComponent, -} from './simple/field-components/specific-field/author/item-page-author-field.component'; -import { - ItemPageDateFieldComponent, -} from './simple/field-components/specific-field/date/item-page-date-field.component'; -import { - ItemPageAbstractFieldComponent, -} from './simple/field-components/specific-field/abstract/item-page-abstract-field.component'; -import { ItemPageUriFieldComponent } from './simple/field-components/specific-field/uri/item-page-uri-field.component'; -import { ItemPageFieldComponent } from './simple/field-components/specific-field/item-page-field.component'; -import { CollectionsComponent } from './field-components/collections/collections.component'; -import { FullItemPageComponent } from './full/full-item-page.component'; -import { FullFileSectionComponent } from './full/field-components/file-section/full-file-section.component'; -import { PublicationComponent } from './simple/item-types/publication/publication.component'; -import { ItemComponent } from './simple/item-types/shared/item.component'; -import { EditItemPageModule } from './edit-item-page/edit-item-page.module'; -import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; -import { StatisticsModule } from '../statistics/statistics.module'; -import { - AbstractIncrementalListComponent, -} from './simple/abstract-incremental-list/abstract-incremental-list.component'; -import { UntypedItemComponent } from './simple/item-types/untyped-item/untyped-item.component'; import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module'; -import { ThemedItemPageComponent } from './simple/themed-item-page.component'; +import { DsoPageModule } from '../shared/dso-page/dso-page.module'; +import { ResultsBackButtonModule } from '../shared/results-back-button/results-back-button.module'; +import { SharedModule } from '../shared/shared.module'; +import { UploadModule } from '../shared/upload/upload.module'; +import { StatisticsModule } from '../statistics/statistics.module'; +import { ItemAlertsComponent } from './alerts/item-alerts.component'; +import { ThemedItemAlertsComponent } from './alerts/themed-item-alerts.component'; +import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; +import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; +import { EditItemPageModule } from './edit-item-page/edit-item-page.module'; +import { CollectionsComponent } from './field-components/collections/collections.component'; +import { MetadataUriValuesComponent } from './field-components/metadata-uri-values/metadata-uri-values.component'; +import { FullFileSectionComponent } from './full/field-components/file-section/full-file-section.component'; +import { ThemedFullFileSectionComponent } from './full/field-components/file-section/themed-full-file-section.component'; +import { FullItemPageComponent } from './full/full-item-page.component'; import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component'; +import { ItemPageRoutingModule } from './item-page-routing.module'; +import { ItemSharedModule } from './item-shared.module'; import { MediaViewerComponent } from './media-viewer/media-viewer.component'; -import { ThemedMediaViewerComponent } from './media-viewer/themed-media-viewer.component'; -import { MediaViewerVideoComponent } from './media-viewer/media-viewer-video/media-viewer-video.component'; -import { ThemedMediaViewerVideoComponent } from './media-viewer/media-viewer-video/themed-media-viewer-video.component'; import { MediaViewerImageComponent } from './media-viewer/media-viewer-image/media-viewer-image.component'; import { ThemedMediaViewerImageComponent } from './media-viewer/media-viewer-image/themed-media-viewer-image.component'; -import { NgxGalleryModule } from '@kolkov/ngx-gallery'; +import { MediaViewerVideoComponent } from './media-viewer/media-viewer-video/media-viewer-video.component'; +import { ThemedMediaViewerVideoComponent } from './media-viewer/media-viewer-video/themed-media-viewer-video.component'; +import { ThemedMediaViewerComponent } from './media-viewer/themed-media-viewer.component'; import { MiradorViewerComponent } from './mirador-viewer/mirador-viewer.component'; -import { VersionPageComponent } from './version-page/version-page/version-page.component'; -import { ThemedFileSectionComponent } from './simple/field-components/file-section/themed-file-section.component'; import { OrcidAuthComponent } from './orcid-page/orcid-auth/orcid-auth.component'; import { OrcidPageComponent } from './orcid-page/orcid-page.component'; -import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; -import { OrcidSyncSettingsComponent } from './orcid-page/orcid-sync-settings/orcid-sync-settings.component'; import { OrcidQueueComponent } from './orcid-page/orcid-queue/orcid-queue.component'; -import { UploadModule } from '../shared/upload/upload.module'; -import { ResultsBackButtonModule } from '../shared/results-back-button/results-back-button.module'; -import { ItemAlertsComponent } from './alerts/item-alerts.component'; -import { ItemVersionsModule } from './versions/item-versions.module'; -import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; +import { OrcidSyncSettingsComponent } from './orcid-page/orcid-sync-settings/orcid-sync-settings.component'; +import { AbstractIncrementalListComponent } from './simple/abstract-incremental-list/abstract-incremental-list.component'; import { FileSectionComponent } from './simple/field-components/file-section/file-section.component'; -import { ItemSharedModule } from './item-shared.module'; -import { DsoPageModule } from '../shared/dso-page/dso-page.module'; -import { ThemedItemAlertsComponent } from './alerts/themed-item-alerts.component'; -import { - ThemedFullFileSectionComponent, -} from './full/field-components/file-section/themed-full-file-section.component'; +import { ThemedFileSectionComponent } from './simple/field-components/file-section/themed-file-section.component'; +import { ItemPageAbstractFieldComponent } from './simple/field-components/specific-field/abstract/item-page-abstract-field.component'; +import { ItemPageAuthorFieldComponent } from './simple/field-components/specific-field/author/item-page-author-field.component'; +import { ItemPageDateFieldComponent } from './simple/field-components/specific-field/date/item-page-date-field.component'; +import { ItemPageFieldComponent } from './simple/field-components/specific-field/item-page-field.component'; +import { ItemPageUriFieldComponent } from './simple/field-components/specific-field/uri/item-page-uri-field.component'; +import { ItemPageComponent } from './simple/item-page.component'; +import { PublicationComponent } from './simple/item-types/publication/publication.component'; +import { ItemComponent } from './simple/item-types/shared/item.component'; +import { UntypedItemComponent } from './simple/item-types/untyped-item/untyped-item.component'; +import { ThemedItemPageComponent } from './simple/themed-item-page.component'; +import { VersionPageComponent } from './version-page/version-page/version-page.component'; +import { ItemVersionsModule } from './versions/item-versions.module'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/item-page/item-page.resolver.spec.ts b/src/app/item-page/item-page.resolver.spec.ts index 6799bd2321..76b7dae774 100644 --- a/src/app/item-page/item-page.resolver.spec.ts +++ b/src/app/item-page/item-page.resolver.spec.ts @@ -1,11 +1,12 @@ -import { ItemPageResolver } from './item-page.resolver'; -import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { TestBed } from '@angular/core/testing'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { first } from 'rxjs/operators'; + import { DSpaceObject } from '../core/shared/dspace-object.model'; import { MetadataValueFilter } from '../core/shared/metadata.models'; -import { first } from 'rxjs/operators'; -import { Router } from '@angular/router'; -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; +import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { ItemPageResolver } from './item-page.resolver'; describe('ItemPageResolver', () => { beforeEach(() => { diff --git a/src/app/item-page/item-page.resolver.ts b/src/app/item-page/item-page.resolver.ts index bcfdd92db7..cfdb9b74d1 100644 --- a/src/app/item-page/item-page.resolver.ts +++ b/src/app/item-page/item-page.resolver.ts @@ -1,14 +1,19 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../core/data/remote-data'; -import { ItemDataService } from '../core/data/item-data.service'; -import { Item } from '../core/shared/item.model'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Store } from '@ngrx/store'; +import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; + +import { ItemDataService } from '../core/data/item-data.service'; +import { RemoteData } from '../core/data/remote-data'; +import { Item } from '../core/shared/item.model'; import { hasValue } from '../shared/empty.util'; -import { getItemPageRoute } from './item-page-routing-paths'; import { ItemResolver } from './item.resolver'; +import { getItemPageRoute } from './item-page-routing-paths'; /** * This class represents a resolver that requests a specific item before the route is activated and will redirect to the diff --git a/src/app/item-page/item-shared.module.ts b/src/app/item-page/item-shared.module.ts index ecc40c520f..0d6ba0cc1d 100644 --- a/src/app/item-page/item-shared.module.ts +++ b/src/app/item-page/item-shared.module.ts @@ -1,21 +1,20 @@ -import { RelatedEntitiesSearchComponent } from './simple/related-entities/related-entities-search/related-entities-search.component'; -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { DYNAMIC_FORM_CONTROL_MAP_FN } from '@ng-dynamic-forms/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { dsDynamicFormControlMapFn } from '../shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component'; import { SearchModule } from '../shared/search/search.module'; import { SharedModule } from '../shared/shared.module'; -import { TranslateModule } from '@ngx-translate/core'; -import { DYNAMIC_FORM_CONTROL_MAP_FN } from '@ng-dynamic-forms/core'; -import { dsDynamicFormControlMapFn } from '../shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component'; -import { TabbedRelatedEntitiesSearchComponent } from './simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; -import { ItemVersionsDeleteModalComponent } from './versions/item-versions-delete-modal/item-versions-delete-modal.component'; -import { ItemVersionsSummaryModalComponent } from './versions/item-versions-summary-modal/item-versions-summary-modal.component'; import { MetadataValuesComponent } from './field-components/metadata-values/metadata-values.component'; import { GenericItemPageFieldComponent } from './simple/field-components/specific-field/generic/generic-item-page-field.component'; import { MetadataRepresentationListComponent } from './simple/metadata-representation-list/metadata-representation-list.component'; +import { ThemedMetadataRepresentationListComponent } from './simple/metadata-representation-list/themed-metadata-representation-list.component'; +import { RelatedEntitiesSearchComponent } from './simple/related-entities/related-entities-search/related-entities-search.component'; +import { TabbedRelatedEntitiesSearchComponent } from './simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; import { RelatedItemsComponent } from './simple/related-items/related-items-component'; -import { - ThemedMetadataRepresentationListComponent, -} from './simple/metadata-representation-list/themed-metadata-representation-list.component'; +import { ItemVersionsDeleteModalComponent } from './versions/item-versions-delete-modal/item-versions-delete-modal.component'; +import { ItemVersionsSummaryModalComponent } from './versions/item-versions-summary-modal/item-versions-summary-modal.component'; const ENTRY_COMPONENTS = [ ItemVersionsDeleteModalComponent, diff --git a/src/app/item-page/item.resolver.ts b/src/app/item-page/item.resolver.ts index 1701040b21..009adbea69 100644 --- a/src/app/item-page/item.resolver.ts +++ b/src/app/item-page/item.resolver.ts @@ -1,13 +1,22 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../core/data/remote-data'; -import { ItemDataService } from '../core/data/item-data.service'; -import { Item } from '../core/shared/item.model'; -import { followLink, FollowLinkConfig } from '../shared/utils/follow-link-config.model'; -import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { + ActivatedRouteSnapshot, + Resolve, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Store } from '@ngrx/store'; +import { Observable } from 'rxjs'; + +import { ItemDataService } from '../core/data/item-data.service'; +import { RemoteData } from '../core/data/remote-data'; import { ResolvedAction } from '../core/resolving/resolver.actions'; +import { Item } from '../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { + followLink, + FollowLinkConfig, +} from '../shared/utils/follow-link-config.model'; /** * The self links defined in this list are expected to be requested somewhere in the near future diff --git a/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.spec.ts b/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.spec.ts index e1b39f9691..c824a729cd 100644 --- a/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.spec.ts +++ b/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.spec.ts @@ -1,15 +1,18 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NgxGalleryOptions } from '@kolkov/ngx-gallery'; +import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../../core/auth/auth.service'; import { Bitstream } from '../../../core/shared/bitstream.model'; import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; import { MockBitstreamFormat1 } from '../../../shared/mocks/item.mock'; - import { MediaViewerImageComponent } from './media-viewer-image.component'; -import { of as observableOf } from 'rxjs'; -import { AuthService } from '../../../core/auth/auth.service'; - describe('MediaViewerImageComponent', () => { let component: MediaViewerImageComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts b/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts index 2ad43f6883..7f611180d6 100644 --- a/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts +++ b/src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts @@ -1,9 +1,18 @@ -import { Component, Input, OnChanges, OnInit } from '@angular/core'; -import { NgxGalleryImage, NgxGalleryOptions } from '@kolkov/ngx-gallery'; -import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; -import { NgxGalleryAnimation } from '@kolkov/ngx-gallery'; +import { + Component, + Input, + OnChanges, + OnInit, +} from '@angular/core'; +import { + NgxGalleryAnimation, + NgxGalleryImage, + NgxGalleryOptions, +} from '@kolkov/ngx-gallery'; import { Observable } from 'rxjs'; + import { AuthService } from '../../../core/auth/auth.service'; +import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; /** * This componenet render an image gallery for the image viewer diff --git a/src/app/item-page/media-viewer/media-viewer-image/themed-media-viewer-image.component.ts b/src/app/item-page/media-viewer/media-viewer-image/themed-media-viewer-image.component.ts index 85ac779817..2229b7c71e 100644 --- a/src/app/item-page/media-viewer/media-viewer-image/themed-media-viewer-image.component.ts +++ b/src/app/item-page/media-viewer/media-viewer-image/themed-media-viewer-image.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; import { ThemedComponent } from '../../../shared/theme-support/themed.component'; import { MediaViewerImageComponent } from './media-viewer-image.component'; -import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; /** * Themed wrapper for {@link MediaViewerImageComponent}. diff --git a/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts b/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts index 1fd55cdec8..0a5cf1a96c 100644 --- a/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts +++ b/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.spec.ts @@ -1,17 +1,25 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { Bitstream } from '../../../core/shared/bitstream.model'; import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; +import { MetadataFieldWrapperComponent } from '../../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { MockBitstreamFormat1 } from '../../../shared/mocks/item.mock'; import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; import { FileSizePipe } from '../../../shared/utils/file-size-pipe'; import { VarDirective } from '../../../shared/utils/var.directive'; -import { MetadataFieldWrapperComponent } from '../../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; -import { MockBitstreamFormat1 } from '../../../shared/mocks/item.mock'; import { MediaViewerVideoComponent } from './media-viewer-video.component'; -import { By } from '@angular/platform-browser'; describe('MediaViewerVideoComponent', () => { let component: MediaViewerVideoComponent; diff --git a/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts b/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts index ff2f1f4f61..6fdbfc85cf 100644 --- a/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts +++ b/src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts @@ -1,10 +1,14 @@ -import { Component, Input } from '@angular/core'; -import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { languageHelper } from './language-helper'; -import { CaptionInfo } from './caption-info'; +import { + Component, + Input, +} from '@angular/core'; import { Bitstream } from 'src/app/core/shared/bitstream.model'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; +import { CaptionInfo } from './caption-info'; +import { languageHelper } from './language-helper'; + /** * This component renders a video viewer and playlist for the media viewer */ diff --git a/src/app/item-page/media-viewer/media-viewer-video/themed-media-viewer-video.component.ts b/src/app/item-page/media-viewer/media-viewer-video/themed-media-viewer-video.component.ts index 8ae45b2dd3..7dca0c99df 100644 --- a/src/app/item-page/media-viewer/media-viewer-video/themed-media-viewer-video.component.ts +++ b/src/app/item-page/media-viewer/media-viewer-video/themed-media-viewer-video.component.ts @@ -1,8 +1,12 @@ -import { Component, Input } from '@angular/core'; -import { ThemedComponent } from '../../../shared/theme-support/themed.component'; -import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; -import { MediaViewerVideoComponent } from './media-viewer-video.component'; +import { + Component, + Input, +} from '@angular/core'; + import { Bitstream } from '../../../core/shared/bitstream.model'; +import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model'; +import { ThemedComponent } from '../../../shared/theme-support/themed.component'; +import { MediaViewerVideoComponent } from './media-viewer-video.component'; /** * Themed wrapper for {@link MediaViewerVideoComponent}. diff --git a/src/app/item-page/media-viewer/media-viewer.component.spec.ts b/src/app/item-page/media-viewer/media-viewer.component.spec.ts index 9878161a3e..a91c5ab17b 100644 --- a/src/app/item-page/media-viewer/media-viewer.component.spec.ts +++ b/src/app/item-page/media-viewer/media-viewer.component.spec.ts @@ -1,20 +1,28 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { BitstreamDataService } from '../../core/data/bitstream-data.service'; import { Bitstream } from '../../core/shared/bitstream.model'; +import { MediaViewerItem } from '../../core/shared/media-viewer-item.model'; +import { MetadataFieldWrapperComponent } from '../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { MockBitstreamFormat1 } from '../../shared/mocks/item.mock'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { createPaginatedList } from '../../shared/testing/utils.test'; -import { of as observableOf } from 'rxjs'; -import { By } from '@angular/platform-browser'; -import { MediaViewerComponent } from './media-viewer.component'; -import { MockBitstreamFormat1 } from '../../shared/mocks/item.mock'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { BitstreamDataService } from '../../core/data/bitstream-data.service'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { MediaViewerItem } from '../../core/shared/media-viewer-item.model'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { MetadataFieldWrapperComponent } from '../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; import { FileSizePipe } from '../../shared/utils/file-size-pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { MediaViewerComponent } from './media-viewer.component'; describe('MediaViewerComponent', () => { let comp: MediaViewerComponent; diff --git a/src/app/item-page/media-viewer/media-viewer.component.ts b/src/app/item-page/media-viewer/media-viewer.component.ts index b63d7a3767..8cb6658256 100644 --- a/src/app/item-page/media-viewer/media-viewer.component.ts +++ b/src/app/item-page/media-viewer/media-viewer.component.ts @@ -1,18 +1,31 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { filter, take } from 'rxjs/operators'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { + filter, + take, +} from 'rxjs/operators'; + +import { MediaViewerConfig } from '../../../config/media-viewer-config.interface'; +import { environment } from '../../../environments/environment'; import { BitstreamDataService } from '../../core/data/bitstream-data.service'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; -import { BitstreamFormat } from '../../core/shared/bitstream-format.model'; import { Bitstream } from '../../core/shared/bitstream.model'; +import { BitstreamFormat } from '../../core/shared/bitstream-format.model'; import { Item } from '../../core/shared/item.model'; import { MediaViewerItem } from '../../core/shared/media-viewer-item.model'; import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; import { hasValue } from '../../shared/empty.util'; import { followLink } from '../../shared/utils/follow-link-config.model'; -import { MediaViewerConfig } from '../../../config/media-viewer-config.interface'; -import { environment } from '../../../environments/environment'; /** * This component renders the media viewers diff --git a/src/app/item-page/media-viewer/themed-media-viewer.component.ts b/src/app/item-page/media-viewer/themed-media-viewer.component.ts index 6acf948616..e8b9f8799c 100644 --- a/src/app/item-page/media-viewer/themed-media-viewer.component.ts +++ b/src/app/item-page/media-viewer/themed-media-viewer.component.ts @@ -1,8 +1,12 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { MediaViewerConfig } from '../../../config/media-viewer-config.interface'; +import { Item } from '../../core/shared/item.model'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { MediaViewerComponent } from './media-viewer.component'; -import { Item } from '../../core/shared/item.model'; -import { MediaViewerConfig } from '../../../config/media-viewer-config.interface'; /** * Themed wrapper for {@link MediaViewerComponent}. diff --git a/src/app/item-page/mirador-viewer/mirador-viewer.component.spec.ts b/src/app/item-page/mirador-viewer/mirador-viewer.component.spec.ts index 5bd51a721a..bff2dd4ddd 100644 --- a/src/app/item-page/mirador-viewer/mirador-viewer.component.spec.ts +++ b/src/app/item-page/mirador-viewer/mirador-viewer.component.spec.ts @@ -1,18 +1,26 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { MiradorViewerComponent } from './mirador-viewer.component'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { BitstreamDataService } from '../../core/data/bitstream-data.service'; -import { createRelationshipsObservable } from '../simple/item-types/shared/item.component.spec'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { MetadataMap } from '../../core/shared/metadata.models'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { BitstreamDataService } from '../../core/data/bitstream-data.service'; +import { BundleDataService } from '../../core/data/bundle-data.service'; import { Item } from '../../core/shared/item.model'; +import { MetadataMap } from '../../core/shared/metadata.models'; +import { HostWindowService } from '../../shared/host-window.service'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { createPaginatedList } from '../../shared/testing/utils.test'; -import { of as observableOf } from 'rxjs'; +import { createRelationshipsObservable } from '../simple/item-types/shared/item.component.spec'; +import { MiradorViewerComponent } from './mirador-viewer.component'; import { MiradorViewerService } from './mirador-viewer.service'; -import { HostWindowService } from '../../shared/host-window.service'; -import { BundleDataService } from '../../core/data/bundle-data.service'; function getItem(metadata: MetadataMap) { diff --git a/src/app/item-page/mirador-viewer/mirador-viewer.component.ts b/src/app/item-page/mirador-viewer/mirador-viewer.component.ts index 405a397ce9..5fb4e287b1 100644 --- a/src/app/item-page/mirador-viewer/mirador-viewer.component.ts +++ b/src/app/item-page/mirador-viewer/mirador-viewer.component.ts @@ -1,14 +1,34 @@ -import { ChangeDetectionStrategy, Component, Inject, Input, OnInit, PLATFORM_ID } from '@angular/core'; -import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; -import { Item } from '../../core/shared/item.model'; +import { isPlatformBrowser } from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, + Inject, + Input, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { + DomSanitizer, + SafeResourceUrl, +} from '@angular/platform-browser'; +import { + Observable, + of, +} from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; + import { environment } from '../../../environments/environment'; import { BitstreamDataService } from '../../core/data/bitstream-data.service'; -import { Observable, of } from 'rxjs'; -import { map, take } from 'rxjs/operators'; -import { isPlatformBrowser } from '@angular/common'; -import { MiradorViewerService } from './mirador-viewer.service'; -import { HostWindowService, WidthCategory } from '../../shared/host-window.service'; import { BundleDataService } from '../../core/data/bundle-data.service'; +import { Item } from '../../core/shared/item.model'; +import { + HostWindowService, + WidthCategory, +} from '../../shared/host-window.service'; +import { MiradorViewerService } from './mirador-viewer.service'; @Component({ selector: 'ds-mirador-viewer', diff --git a/src/app/item-page/mirador-viewer/mirador-viewer.service.ts b/src/app/item-page/mirador-viewer/mirador-viewer.service.ts index 74844ddb05..6e502a8143 100644 --- a/src/app/item-page/mirador-viewer/mirador-viewer.service.ts +++ b/src/app/item-page/mirador-viewer/mirador-viewer.service.ts @@ -1,18 +1,29 @@ -import { Injectable, isDevMode } from '@angular/core'; -import { Observable } from 'rxjs'; -import { Item } from '../../core/shared/item.model'; import { - getFirstCompletedRemoteData, -} from '../../core/shared/operators'; -import { filter, last, map, mergeMap, switchMap } from 'rxjs/operators'; -import { RemoteData } from '../../core/data/remote-data'; + Injectable, + isDevMode, +} from '@angular/core'; +import { Observable } from 'rxjs'; +import { + filter, + last, + map, + mergeMap, + switchMap, +} from 'rxjs/operators'; + +import { BitstreamDataService } from '../../core/data/bitstream-data.service'; +import { BundleDataService } from '../../core/data/bundle-data.service'; import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; import { Bitstream } from '../../core/shared/bitstream.model'; import { BitstreamFormat } from '../../core/shared/bitstream-format.model'; -import { BitstreamDataService } from '../../core/data/bitstream-data.service'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; import { Bundle } from '../../core/shared/bundle.model'; -import { BundleDataService } from '../../core/data/bundle-data.service'; +import { Item } from '../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; @Injectable() export class MiradorViewerService { diff --git a/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.spec.ts b/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.spec.ts index 9a96baa5d5..e8cabfc390 100644 --- a/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.spec.ts +++ b/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.spec.ts @@ -1,25 +1,38 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { getTestScheduler } from 'jasmine-marbles'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { getTestScheduler } from 'jasmine-marbles'; import { of } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { OrcidAuthService } from '../../../core/orcid/orcid-auth.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { Item } from '../../../core/shared/item.model'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; -import { OrcidAuthComponent } from './orcid-auth.component'; -import { NativeWindowService } from '../../../core/services/window.service'; -import { NativeWindowMockFactory } from '../../../shared/mocks/mock-native-window-ref'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { ResearcherProfile } from '../../../core/profile/model/researcher-profile.model'; +import { NativeWindowService } from '../../../core/services/window.service'; +import { Item } from '../../../core/shared/item.model'; +import { NativeWindowMockFactory } from '../../../shared/mocks/mock-native-window-ref'; +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { OrcidAuthComponent } from './orcid-auth.component'; describe('OrcidAuthComponent test suite', () => { let comp: OrcidAuthComponent; diff --git a/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.ts b/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.ts index 68890fd36d..00ddda541c 100644 --- a/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.ts +++ b/src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.ts @@ -1,15 +1,30 @@ -import { Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core'; - +import { + Component, + EventEmitter, + Inject, + Input, + OnChanges, + OnInit, + Output, + SimpleChanges, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { BehaviorSubject, Observable } from 'rxjs'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; import { map } from 'rxjs/operators'; -import { NativeWindowRef, NativeWindowService } from '../../../core/services/window.service'; -import { Item } from '../../../core/shared/item.model'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; + import { RemoteData } from '../../../core/data/remote-data'; -import { ResearcherProfile } from '../../../core/profile/model/researcher-profile.model'; -import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; import { OrcidAuthService } from '../../../core/orcid/orcid-auth.service'; +import { ResearcherProfile } from '../../../core/profile/model/researcher-profile.model'; +import { + NativeWindowRef, + NativeWindowService, +} from '../../../core/services/window.service'; +import { Item } from '../../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; @Component({ selector: 'ds-orcid-auth', diff --git a/src/app/item-page/orcid-page/orcid-page.component.spec.ts b/src/app/item-page/orcid-page/orcid-page.component.spec.ts index 1c98f2a255..4d4964d913 100644 --- a/src/app/item-page/orcid-page/orcid-page.component.spec.ts +++ b/src/app/item-page/orcid-page/orcid-page.component.spec.ts @@ -1,28 +1,38 @@ -import { NO_ERRORS_SCHEMA, PLATFORM_ID } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; -import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; +import { + NO_ERRORS_SCHEMA, + PLATFORM_ID, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TestScheduler } from 'rxjs/testing'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; import { AuthService } from '../../core/auth/auth.service'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { OrcidPageComponent } from './orcid-page.component'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { OrcidAuthService } from '../../core/orcid/orcid-auth.service'; +import { ResearcherProfile } from '../../core/profile/model/researcher-profile.model'; +import { Item } from '../../core/shared/item.model'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { Item } from '../../core/shared/item.model'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { ResearcherProfile } from '../../core/profile/model/researcher-profile.model'; -import { OrcidAuthService } from '../../core/orcid/orcid-auth.service'; +import { OrcidPageComponent } from './orcid-page.component'; describe('OrcidPageComponent test suite', () => { let comp: OrcidPageComponent; diff --git a/src/app/item-page/orcid-page/orcid-page.component.ts b/src/app/item-page/orcid-page/orcid-page.component.ts index f30630f841..baee8cdb48 100644 --- a/src/app/item-page/orcid-page/orcid-page.component.ts +++ b/src/app/item-page/orcid-page/orcid-page.component.ts @@ -1,20 +1,37 @@ -import { Component, Inject, OnInit, PLATFORM_ID } from '@angular/core'; -import { ActivatedRoute, ParamMap, Router } from '@angular/router'; import { isPlatformBrowser } from '@angular/common'; +import { + Component, + Inject, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { + ActivatedRoute, + ParamMap, + Router, +} from '@angular/router'; +import { + BehaviorSubject, + combineLatest, +} from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; -import { BehaviorSubject, combineLatest } from 'rxjs'; -import { map, take } from 'rxjs/operators'; - -import { OrcidAuthService } from '../../core/orcid/orcid-auth.service'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { Item } from '../../core/shared/item.model'; -import { getItemPageRoute } from '../item-page-routing-paths'; import { AuthService } from '../../core/auth/auth.service'; -import { redirectOn4xx } from '../../core/shared/authorized.operators'; import { ItemDataService } from '../../core/data/item-data.service'; -import { isNotEmpty } from '../../shared/empty.util'; +import { RemoteData } from '../../core/data/remote-data'; +import { OrcidAuthService } from '../../core/orcid/orcid-auth.service'; import { ResearcherProfile } from '../../core/profile/model/researcher-profile.model'; +import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { Item } from '../../core/shared/item.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../core/shared/operators'; +import { isNotEmpty } from '../../shared/empty.util'; +import { getItemPageRoute } from '../item-page-routing-paths'; /** * A component that represents the orcid settings page diff --git a/src/app/item-page/orcid-page/orcid-page.guard.ts b/src/app/item-page/orcid-page/orcid-page.guard.ts index a1ee326626..ee08ac918e 100644 --- a/src/app/item-page/orcid-page/orcid-page.guard.ts +++ b/src/app/item-page/orcid-page/orcid-page.guard.ts @@ -1,6 +1,14 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable, of as observableOf } from 'rxjs'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthService } from '../../core/auth/auth.service'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { DsoPageSingleFeatureGuard } from '../../core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard'; diff --git a/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.spec.ts b/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.spec.ts index e1dc6402b9..336802af65 100644 --- a/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.spec.ts +++ b/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.spec.ts @@ -1,22 +1,33 @@ -import { OrcidQueueComponent } from './orcid-queue.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { OrcidQueue } from '../../../core/orcid/model/orcid-queue.model'; +import { OrcidAuthService } from '../../../core/orcid/orcid-auth.service'; +import { OrcidHistoryDataService } from '../../../core/orcid/orcid-history-data.service'; import { OrcidQueueDataService } from '../../../core/orcid/orcid-queue-data.service'; import { PaginationService } from '../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { OrcidHistoryDataService } from '../../../core/orcid/orcid-history-data.service'; -import { OrcidQueue } from '../../../core/orcid/model/orcid-queue.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { By } from '@angular/platform-browser'; import { Item } from '../../../core/shared/item.model'; -import { OrcidAuthService } from '../../../core/orcid/orcid-auth.service'; +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { OrcidQueueComponent } from './orcid-queue.component'; describe('OrcidQueueComponent test suite', () => { let component: OrcidQueueComponent; diff --git a/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.ts b/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.ts index 3c7ba55858..ac407dbaf1 100644 --- a/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.ts +++ b/src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.ts @@ -1,23 +1,38 @@ -import { Component, Input, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; - +import { + Component, + Input, + OnDestroy, + OnInit, + SimpleChanges, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'; -import { debounceTime, distinctUntilChanged, switchMap, tap } from 'rxjs/operators'; +import { + BehaviorSubject, + combineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + debounceTime, + distinctUntilChanged, + switchMap, + tap, +} from 'rxjs/operators'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { RemoteData } from '../../../core/data/remote-data'; import { OrcidHistory } from '../../../core/orcid/model/orcid-history.model'; import { OrcidQueue } from '../../../core/orcid/model/orcid-queue.model'; +import { OrcidAuthService } from '../../../core/orcid/orcid-auth.service'; import { OrcidHistoryDataService } from '../../../core/orcid/orcid-history-data.service'; import { OrcidQueueDataService } from '../../../core/orcid/orcid-queue-data.service'; import { PaginationService } from '../../../core/pagination/pagination.service'; +import { Item } from '../../../core/shared/item.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { AlertType } from '../../../shared/alert/aletr-type'; import { hasValue } from '../../../shared/empty.util'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model'; -import { AlertType } from '../../../shared/alert/aletr-type'; -import { Item } from '../../../core/shared/item.model'; -import { OrcidAuthService } from '../../../core/orcid/orcid-auth.service'; @Component({ selector: 'ds-orcid-queue', diff --git a/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.spec.ts b/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.spec.ts index 6f876410c3..51f262d849 100644 --- a/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.spec.ts +++ b/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.spec.ts @@ -1,24 +1,41 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { RouterTestingModule } from '@angular/router/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; - -import { getTestScheduler } from 'jasmine-marbles'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; -import { TestScheduler } from 'rxjs/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { Operation } from 'fast-json-patch'; +import { getTestScheduler } from 'jasmine-marbles'; +import { TestScheduler } from 'rxjs/testing'; +import { ResearcherProfile } from '../../../core/profile/model/researcher-profile.model'; import { ResearcherProfileDataService } from '../../../core/profile/researcher-profile-data.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; import { Item } from '../../../core/shared/item.model'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; import { OrcidSyncSettingsComponent } from './orcid-sync-settings.component'; -import { ResearcherProfile } from '../../../core/profile/model/researcher-profile.model'; describe('OrcidSyncSettingsComponent test suite', () => { let comp: OrcidSyncSettingsComponent; diff --git a/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.ts b/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.ts index 4038135ddd..a468710e5c 100644 --- a/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.ts +++ b/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.ts @@ -1,17 +1,22 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; - import { TranslateService } from '@ngx-translate/core'; import { Operation } from 'fast-json-patch'; import { of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { RemoteData } from '../../../core/data/remote-data'; +import { ResearcherProfile } from '../../../core/profile/model/researcher-profile.model'; import { ResearcherProfileDataService } from '../../../core/profile/researcher-profile-data.service'; import { Item } from '../../../core/shared/item.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { ResearcherProfile } from '../../../core/profile/model/researcher-profile.model'; @Component({ selector: 'ds-orcid-sync-setting', diff --git a/src/app/item-page/simple/abstract-incremental-list/abstract-incremental-list.component.ts b/src/app/item-page/simple/abstract-incremental-list/abstract-incremental-list.component.ts index e788e6e575..78919509fb 100644 --- a/src/app/item-page/simple/abstract-incremental-list/abstract-incremental-list.component.ts +++ b/src/app/item-page/simple/abstract-incremental-list/abstract-incremental-list.component.ts @@ -1,6 +1,14 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { Subscription } from 'rxjs'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; + +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; @Component({ selector: 'ds-abstract-incremental-list', diff --git a/src/app/item-page/simple/field-components/file-section/file-section.component.spec.ts b/src/app/item-page/simple/field-components/file-section/file-section.component.spec.ts index bb5df53c11..c55e8e11f9 100644 --- a/src/app/item-page/simple/field-components/file-section/file-section.component.spec.ts +++ b/src/app/item-page/simple/field-components/file-section/file-section.component.spec.ts @@ -1,25 +1,33 @@ -import { FileSectionComponent } from './file-section.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { VarDirective } from '../../../../shared/utils/var.directive'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { MockBitstreamFormat1 } from '../../../../shared/mocks/item.mock'; -import { FileSizePipe } from '../../../../shared/utils/file-size-pipe'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; -import { createPaginatedList } from '../../../../shared/testing/utils.test'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; import { APP_CONFIG } from 'src/config/app-config.interface'; import { environment } from 'src/environments/environment'; +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { PageInfo } from '../../../../core/shared/page-info.model'; +import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { MockBitstreamFormat1 } from '../../../../shared/mocks/item.mock'; +import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; +import { createPaginatedList } from '../../../../shared/testing/utils.test'; +import { FileSizePipe } from '../../../../shared/utils/file-size-pipe'; +import { VarDirective } from '../../../../shared/utils/var.directive'; +import { FileSectionComponent } from './file-section.component'; + describe('FileSectionComponent', () => { let comp: FileSectionComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/field-components/file-section/file-section.component.ts b/src/app/item-page/simple/field-components/file-section/file-section.component.ts index 15aae7390b..b2a733fc18 100644 --- a/src/app/item-page/simple/field-components/file-section/file-section.component.ts +++ b/src/app/item-page/simple/field-components/file-section/file-section.component.ts @@ -1,17 +1,25 @@ -import { Component, Inject, Input, OnInit } from '@angular/core'; +import { + Component, + Inject, + Input, + OnInit, +} from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject } from 'rxjs'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { + APP_CONFIG, + AppConfig, +} from 'src/config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { PaginatedList } from '../../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../../core/data/remote-data'; import { Bitstream } from '../../../../core/shared/bitstream.model'; import { Item } from '../../../../core/shared/item.model'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { hasValue } from '../../../../shared/empty.util'; -import { PaginatedList } from '../../../../core/data/paginated-list.model'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { AppConfig, APP_CONFIG } from 'src/config/app-config.interface'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { hasValue } from '../../../../shared/empty.util'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; /** * This component renders the file section of the item diff --git a/src/app/item-page/simple/field-components/file-section/themed-file-section.component.ts b/src/app/item-page/simple/field-components/file-section/themed-file-section.component.ts index ef6c879c94..b51ad0d161 100644 --- a/src/app/item-page/simple/field-components/file-section/themed-file-section.component.ts +++ b/src/app/item-page/simple/field-components/file-section/themed-file-section.component.ts @@ -1,7 +1,11 @@ +import { + Component, + Input, +} from '@angular/core'; + +import {Item} from '../../../../core/shared/item.model'; import { ThemedComponent } from '../../../../shared/theme-support/themed.component'; import { FileSectionComponent } from './file-section.component'; -import {Component, Input} from '@angular/core'; -import {Item} from '../../../../core/shared/item.model'; @Component({ selector: 'ds-themed-item-page-file-section', diff --git a/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.spec.ts index 868b2552ee..1366a43e85 100644 --- a/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.spec.ts @@ -1,14 +1,25 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ItemPageAbstractFieldComponent } from './item-page-abstract-field.component'; -import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; -import { SharedModule } from '../../../../../shared/shared.module'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; -import { By } from '@angular/platform-browser'; import { BrowseDefinitionDataService } from '../../../../../core/browse/browse-definition-data.service'; +import { SharedModule } from '../../../../../shared/shared.module'; import { BrowseDefinitionDataServiceStub } from '../../../../../shared/testing/browse-definition-data-service.stub'; +import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; +import { ItemPageAbstractFieldComponent } from './item-page-abstract-field.component'; let comp: ItemPageAbstractFieldComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts b/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts index ef31165a8d..f2c2142591 100644 --- a/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Item } from '../../../../../core/shared/item.model'; import { ItemPageFieldComponent } from '../item-page-field.component'; diff --git a/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.spec.ts index 706146eda8..4c9f67f168 100644 --- a/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.spec.ts @@ -1,14 +1,25 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; -import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; -import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; -import { ItemPageAuthorFieldComponent } from './item-page-author-field.component'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; import { BrowseDefinitionDataService } from '../../../../../core/browse/browse-definition-data.service'; import { BrowseDefinitionDataServiceStub } from '../../../../../shared/testing/browse-definition-data-service.stub'; +import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; +import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; +import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; +import { ItemPageAuthorFieldComponent } from './item-page-author-field.component'; let comp: ItemPageAuthorFieldComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts b/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts index 32dc060e34..9d4230468c 100644 --- a/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Item } from '../../../../../core/shared/item.model'; import { ItemPageFieldComponent } from '../item-page-field.component'; diff --git a/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.spec.ts index d6fece7732..950ee0ec0f 100644 --- a/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.spec.ts @@ -1,14 +1,25 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; -import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; -import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; -import { ItemPageDateFieldComponent } from './item-page-date-field.component'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; import { BrowseDefinitionDataService } from '../../../../../core/browse/browse-definition-data.service'; import { BrowseDefinitionDataServiceStub } from '../../../../../shared/testing/browse-definition-data-service.stub'; +import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; +import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; +import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; +import { ItemPageDateFieldComponent } from './item-page-date-field.component'; let comp: ItemPageDateFieldComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts b/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts index ed0300a441..6744649912 100644 --- a/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Item } from '../../../../../core/shared/item.model'; import { ItemPageFieldComponent } from '../item-page-field.component'; diff --git a/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.spec.ts index 1febd02452..1656283fd6 100644 --- a/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.spec.ts @@ -1,14 +1,25 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; -import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; -import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; -import { GenericItemPageFieldComponent } from './generic-item-page-field.component'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; import { BrowseDefinitionDataService } from '../../../../../core/browse/browse-definition-data.service'; import { BrowseDefinitionDataServiceStub } from '../../../../../shared/testing/browse-definition-data-service.stub'; +import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; +import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; +import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; +import { GenericItemPageFieldComponent } from './generic-item-page-field.component'; let comp: GenericItemPageFieldComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts index f4192469b9..785269337f 100644 --- a/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Item } from '../../../../../core/shared/item.model'; import { ItemPageFieldComponent } from '../item-page-field.component'; diff --git a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts index 0581fc5c60..9cbbf25f9e 100644 --- a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts @@ -1,21 +1,35 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../../core/shared/item.model'; -import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; -import { ItemPageFieldComponent } from './item-page-field.component'; -import { MetadataValuesComponent } from '../../../field-components/metadata-values/metadata-values.component'; -import { MetadataMap, MetadataValue } from '../../../../core/shared/metadata.models'; -import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../../shared/testing/utils.test'; -import { environment } from '../../../../../environments/environment'; -import { MarkdownPipe } from '../../../../shared/utils/markdown.pipe'; -import { SharedModule } from '../../../../shared/shared.module'; -import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; -import { BrowseDefinitionDataServiceStub } from '../../../../shared/testing/browse-definition-data-service.stub'; import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { environment } from '../../../../../environments/environment'; +import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; +import { Item } from '../../../../core/shared/item.model'; +import { + MetadataMap, + MetadataValue, +} from '../../../../core/shared/metadata.models'; +import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { SharedModule } from '../../../../shared/shared.module'; +import { BrowseDefinitionDataServiceStub } from '../../../../shared/testing/browse-definition-data-service.stub'; +import { createPaginatedList } from '../../../../shared/testing/utils.test'; +import { MarkdownPipe } from '../../../../shared/utils/markdown.pipe'; +import { MetadataValuesComponent } from '../../../field-components/metadata-values/metadata-values.component'; +import { ItemPageFieldComponent } from './item-page-field.component'; let comp: ItemPageFieldComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts index 96eaf001dd..a17125ff5f 100644 --- a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts @@ -1,9 +1,13 @@ -import { Component, Input } from '@angular/core'; -import { Item } from '../../../../core/shared/item.model'; -import { map } from 'rxjs/operators'; +import { + Component, + Input, +} from '@angular/core'; import { Observable } from 'rxjs'; -import { BrowseDefinition } from '../../../../core/shared/browse-definition.model'; +import { map } from 'rxjs/operators'; + import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; +import { BrowseDefinition } from '../../../../core/shared/browse-definition.model'; +import { Item } from '../../../../core/shared/item.model'; import { getRemoteDataPayload } from '../../../../core/shared/operators'; /** diff --git a/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.spec.ts index daa6c38f03..c271b1fa53 100644 --- a/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.spec.ts @@ -1,6 +1,17 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; diff --git a/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts b/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts index 0df9a4f5a0..f1f44d672a 100644 --- a/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts @@ -1,7 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; -import { Item } from '../../../../../core/shared/item.model'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; @Component({ selector: 'ds-item-page-title-field', diff --git a/src/app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component.ts index 7007b8fed3..9ba9720f12 100644 --- a/src/app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; import { ItemPageTitleFieldComponent } from './item-page-title-field.component'; -import { Item } from '../../../../../core/shared/item.model'; /** * Themed wrapper for {@link ItemPageTitleFieldComponent} diff --git a/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts index 4199506903..a87e0c76f1 100644 --- a/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts @@ -1,14 +1,25 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; -import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; -import { ItemPageUriFieldComponent } from './item-page-uri-field.component'; -import { MetadataUriValuesComponent } from '../../../../field-components/metadata-uri-values/metadata-uri-values.component'; -import { environment } from '../../../../../../environments/environment'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; +import { environment } from '../../../../../../environments/environment'; import { BrowseDefinitionDataService } from '../../../../../core/browse/browse-definition-data.service'; import { BrowseDefinitionDataServiceStub } from '../../../../../shared/testing/browse-definition-data-service.stub'; +import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock'; +import { MetadataUriValuesComponent } from '../../../../field-components/metadata-uri-values/metadata-uri-values.component'; +import { mockItemWithMetadataFieldsAndValue } from '../item-page-field.component.spec'; +import { ItemPageUriFieldComponent } from './item-page-uri-field.component'; let comp: ItemPageUriFieldComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts b/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts index 35c590a2b3..8c2d2cc2fa 100644 --- a/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Item } from '../../../../../core/shared/item.model'; import { ItemPageFieldComponent } from '../item-page-field.component'; diff --git a/src/app/item-page/simple/item-page.component.spec.ts b/src/app/item-page/simple/item-page.component.spec.ts index c306a27958..59f0275ec8 100644 --- a/src/app/item-page/simple/item-page.component.spec.ts +++ b/src/app/item-page/simple/item-page.component.spec.ts @@ -1,31 +1,49 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA, PLATFORM_ID } from '@angular/core'; -import { ItemPageComponent } from './item-page.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { MetadataService } from '../../core/metadata/metadata.service'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { Item } from '../../core/shared/item.model'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, + PLATFORM_ID, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { createRelationshipsObservable } from './item-types/shared/item.component.spec'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { SignpostingDataService } from '../../core/data/signposting-data.service'; +import { SignpostingLink } from '../../core/data/signposting-links.model'; +import { MetadataService } from '../../core/metadata/metadata.service'; +import { + LinkDefinition, + LinkHeadService, +} from '../../core/services/link-head.service'; +import { ServerResponseService } from '../../core/services/server-response.service'; +import { Item } from '../../core/shared/item.model'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { createFailedRemoteDataObject$, createPendingRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { AuthService } from '../../core/auth/auth.service'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { ServerResponseService } from '../../core/services/server-response.service'; -import { SignpostingDataService } from '../../core/data/signposting-data.service'; -import { LinkDefinition, LinkHeadService } from '../../core/services/link-head.service'; -import { SignpostingLink } from '../../core/data/signposting-links.model'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { ItemPageComponent } from './item-page.component'; +import { createRelationshipsObservable } from './item-types/shared/item.component.spec'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])), diff --git a/src/app/item-page/simple/item-page.component.ts b/src/app/item-page/simple/item-page.component.ts index 082a227177..d199c28b29 100644 --- a/src/app/item-page/simple/item-page.component.ts +++ b/src/app/item-page/simple/item-page.component.ts @@ -1,26 +1,41 @@ -import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; import { isPlatformServer } from '@angular/common'; - +import { + ChangeDetectionStrategy, + Component, + Inject, + OnDestroy, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { map, take } from 'rxjs/operators'; +import { + map, + take, +} from 'rxjs/operators'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { RemoteData } from '../../core/data/remote-data'; -import { Item } from '../../core/shared/item.model'; -import { fadeInOut } from '../../shared/animations/fade'; -import { getAllSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { ViewMode } from '../../core/shared/view-mode.model'; import { AuthService } from '../../core/auth/auth.service'; -import { getItemPageRoute } from '../item-page-routing-paths'; -import { redirectOn4xx } from '../../core/shared/authorized.operators'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { ServerResponseService } from '../../core/services/server-response.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { RemoteData } from '../../core/data/remote-data'; import { SignpostingDataService } from '../../core/data/signposting-data.service'; import { SignpostingLink } from '../../core/data/signposting-links.model'; +import { + LinkDefinition, + LinkHeadService, +} from '../../core/services/link-head.service'; +import { ServerResponseService } from '../../core/services/server-response.service'; +import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { Item } from '../../core/shared/item.model'; +import { getAllSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { fadeInOut } from '../../shared/animations/fade'; import { isNotEmpty } from '../../shared/empty.util'; -import { LinkDefinition, LinkHeadService } from '../../core/services/link-head.service'; +import { getItemPageRoute } from '../item-page-routing-paths'; /** * This component renders a simple item page. diff --git a/src/app/item-page/simple/item-types/publication/publication.component.spec.ts b/src/app/item-page/simple/item-types/publication/publication.component.spec.ts index 86cbfe8445..f4bffde1d5 100644 --- a/src/app/item-page/simple/item-types/publication/publication.component.spec.ts +++ b/src/app/item-page/simple/item-types/publication/publication.component.spec.ts @@ -1,10 +1,28 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; import { Store } from '@ngrx/store'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { Observable, of } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + Observable, + of, +} from 'rxjs'; + +import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; @@ -14,32 +32,31 @@ import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.ser import { ItemDataService } from '../../../../core/data/item-data.service'; import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { VersionDataService } from '../../../../core/data/version-data.service'; +import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; +import { RouteService } from '../../../../core/services/route.service'; import { Bitstream } from '../../../../core/shared/bitstream.model'; import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; import { Item } from '../../../../core/shared/item.model'; import { MetadataMap } from '../../../../core/shared/metadata.models'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { UUIDService } from '../../../../core/shared/uuid.service'; +import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { BrowseDefinitionDataServiceStub } from '../../../../shared/testing/browse-definition-data-service.stub'; +import { createPaginatedList } from '../../../../shared/testing/utils.test'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; import { - createRelationshipsObservable, getIIIFEnabled, getIIIFSearchEnabled, mockRouteService, + createRelationshipsObservable, + getIIIFEnabled, + getIIIFSearchEnabled, + mockRouteService, } from '../shared/item.component.spec'; import { PublicationComponent } from './publication.component'; -import { createPaginatedList } from '../../../../shared/testing/utils.test'; -import { RouteService } from '../../../../core/services/route.service'; -import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; -import { VersionDataService } from '../../../../core/data/version-data.service'; -import { RouterTestingModule } from '@angular/router/testing'; -import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; -import { - BrowseDefinitionDataServiceStub, -} from '../../../../shared/testing/browse-definition-data-service.stub'; const noMetadata = new MetadataMap(); diff --git a/src/app/item-page/simple/item-types/publication/publication.component.ts b/src/app/item-page/simple/item-types/publication/publication.component.ts index bd0d371183..b4882ff2f6 100644 --- a/src/app/item-page/simple/item-types/publication/publication.component.ts +++ b/src/app/item-page/simple/item-types/publication/publication.component.ts @@ -1,4 +1,8 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ItemComponent } from '../shared/item.component'; diff --git a/src/app/item-page/simple/item-types/shared/item-iiif-utils.ts b/src/app/item-page/simple/item-types/shared/item-iiif-utils.ts index 16f8d6a029..a39b345bf0 100644 --- a/src/app/item-page/simple/item-types/shared/item-iiif-utils.ts +++ b/src/app/item-page/simple/item-types/shared/item-iiif-utils.ts @@ -1,8 +1,16 @@ -import { Item } from '../../../../core/shared/item.model'; +import { + DefaultUrlSerializer, + UrlTree, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { filter, map, take } from 'rxjs/operators'; +import { + filter, + map, + take, +} from 'rxjs/operators'; + import { RouteService } from '../../../../core/services/route.service'; -import { DefaultUrlSerializer, UrlTree } from '@angular/router'; +import { Item } from '../../../../core/shared/item.model'; export const isIiifEnabled = (item: Item) => { return !!item.firstMetadataValue('dspace.iiif.enabled'); diff --git a/src/app/item-page/simple/item-types/shared/item-relationships-utils.ts b/src/app/item-page/simple/item-types/shared/item-relationships-utils.ts index 7ea46d8e51..586a2b4a51 100644 --- a/src/app/item-page/simple/item-types/shared/item-relationships-utils.ts +++ b/src/app/item-page/simple/item-types/shared/item-relationships-utils.ts @@ -1,15 +1,25 @@ -import { combineLatest as observableCombineLatest, Observable, zip as observableZip } from 'rxjs'; -import { distinctUntilChanged, map, mergeMap, switchMap } from 'rxjs/operators'; +import { InjectionToken } from '@angular/core'; +import { + combineLatest as observableCombineLatest, + Observable, + zip as observableZip, +} from 'rxjs'; +import { + distinctUntilChanged, + map, + mergeMap, + switchMap, +} from 'rxjs/operators'; + import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; -import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; import { Item } from '../../../../core/shared/item.model'; +import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; import { - getFirstSucceededRemoteDataPayload, getFirstSucceededRemoteData, + getFirstSucceededRemoteDataPayload, } from '../../../../core/shared/operators'; import { hasValue } from '../../../../shared/empty.util'; -import { InjectionToken } from '@angular/core'; export const PAGINATED_RELATIONS_TO_ITEMS_OPERATOR = new InjectionToken<(thisId: string) => (source: Observable>>) => Observable>>>('paginatedRelationsToItems', { providedIn: 'root', diff --git a/src/app/item-page/simple/item-types/shared/item.component.spec.ts b/src/app/item-page/simple/item-types/shared/item.component.spec.ts index ecb976910b..25fa42cb85 100644 --- a/src/app/item-page/simple/item-types/shared/item.component.spec.ts +++ b/src/app/item-page/simple/item-types/shared/item.component.spec.ts @@ -1,54 +1,67 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; import { Store } from '@ngrx/store'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; import { CommunityDataService } from '../../../../core/data/community-data.service'; import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service'; import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service'; +import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; import { ItemDataService } from '../../../../core/data/item-data.service'; +import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { VersionDataService } from '../../../../core/data/version-data.service'; +import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; +import { ResearcherProfileDataService } from '../../../../core/profile/researcher-profile-data.service'; +import { RouteService } from '../../../../core/services/route.service'; import { Bitstream } from '../../../../core/shared/bitstream.model'; import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; -import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; -import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; import { Item } from '../../../../core/shared/item.model'; +import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../../core/shared/item-relationships/relationship-type.model'; +import { MetadataValue } from '../../../../core/shared/metadata.models'; +import { PageInfo } from '../../../../core/shared/page-info.model'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { UUIDService } from '../../../../core/shared/uuid.service'; +import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; import { isNotEmpty } from '../../../../shared/empty.util'; import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { - createSuccessfulRemoteDataObject$, -} from '../../../../shared/remote-data.utils'; +import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { BrowseDefinitionDataServiceStub } from '../../../../shared/testing/browse-definition-data-service.stub'; +import { createPaginatedList } from '../../../../shared/testing/utils.test'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; -import { compareArraysUsing, compareArraysUsingIds } from './item-relationships-utils'; -import { createPaginatedList } from '../../../../shared/testing/utils.test'; -import { RouteService } from '../../../../core/services/route.service'; -import { MetadataValue } from '../../../../core/shared/metadata.models'; -import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { VersionDataService } from '../../../../core/data/version-data.service'; -import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; -import { RouterTestingModule } from '@angular/router/testing'; -import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; -import { ResearcherProfileDataService } from '../../../../core/profile/researcher-profile-data.service'; -import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; -import { - BrowseDefinitionDataServiceStub, -} from '../../../../shared/testing/browse-definition-data-service.stub'; - -import { buildPaginatedList } from '../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../core/shared/page-info.model'; -import { Router } from '@angular/router'; import { ItemComponent } from './item.component'; +import { + compareArraysUsing, + compareArraysUsingIds, +} from './item-relationships-utils'; export function getIIIFSearchEnabled(enabled: boolean): MetadataValue { return Object.assign(new MetadataValue(), { diff --git a/src/app/item-page/simple/item-types/shared/item.component.ts b/src/app/item-page/simple/item-types/shared/item.component.ts index a2f5ef6630..c7bfddea15 100644 --- a/src/app/item-page/simple/item-types/shared/item.component.ts +++ b/src/app/item-page/simple/item-types/shared/item.component.ts @@ -1,12 +1,25 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { Observable } from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; + import { environment } from '../../../../../environments/environment'; +import { RouteService } from '../../../../core/services/route.service'; import { Item } from '../../../../core/shared/item.model'; import { getItemPageRoute } from '../../../item-page-routing-paths'; -import { RouteService } from '../../../../core/services/route.service'; -import { Observable } from 'rxjs'; -import { getDSpaceQuery, isIiifEnabled, isIiifSearchEnabled } from './item-iiif-utils'; -import { filter, map, take } from 'rxjs/operators'; -import { Router } from '@angular/router'; +import { + getDSpaceQuery, + isIiifEnabled, + isIiifSearchEnabled, +} from './item-iiif-utils'; @Component({ selector: 'ds-item', diff --git a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts index fa2bc34c2c..a42cd6c089 100644 --- a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts +++ b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts @@ -1,10 +1,28 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; import { Store } from '@ngrx/store'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { Observable, of } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + Observable, + of, +} from 'rxjs'; + +import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; @@ -14,33 +32,32 @@ import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.ser import { ItemDataService } from '../../../../core/data/item-data.service'; import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { VersionDataService } from '../../../../core/data/version-data.service'; +import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; +import { RouteService } from '../../../../core/services/route.service'; import { Bitstream } from '../../../../core/shared/bitstream.model'; import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; import { Item } from '../../../../core/shared/item.model'; import { MetadataMap } from '../../../../core/shared/metadata.models'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { UUIDService } from '../../../../core/shared/uuid.service'; +import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; import { NotificationsService } from '../../../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; +import { BrowseDefinitionDataServiceStub } from '../../../../shared/testing/browse-definition-data-service.stub'; +import { createPaginatedList } from '../../../../shared/testing/utils.test'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; +import { ItemVersionsSharedService } from '../../../versions/item-versions-shared.service'; import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; import { - createRelationshipsObservable, getIIIFEnabled, getIIIFSearchEnabled, mockRouteService, + createRelationshipsObservable, + getIIIFEnabled, + getIIIFSearchEnabled, + mockRouteService, } from '../shared/item.component.spec'; import { UntypedItemComponent } from './untyped-item.component'; -import { RouteService } from '../../../../core/services/route.service'; -import { createPaginatedList } from '../../../../shared/testing/utils.test'; -import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; -import { VersionDataService } from '../../../../core/data/version-data.service'; -import { RouterTestingModule } from '@angular/router/testing'; -import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { ItemVersionsSharedService } from '../../../versions/item-versions-shared.service'; -import { BrowseDefinitionDataService } from '../../../../core/browse/browse-definition-data.service'; -import { - BrowseDefinitionDataServiceStub, -} from '../../../../shared/testing/browse-definition-data-service.stub'; const noMetadata = new MetadataMap(); diff --git a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts index ead62008de..96ef42510c 100644 --- a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts +++ b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts @@ -1,4 +1,8 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; diff --git a/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts b/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts index 3f1cc3d810..749915beac 100644 --- a/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts +++ b/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts @@ -1,18 +1,26 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { MetadataRepresentationListComponent } from './metadata-representation-list.component'; -import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { Item } from '../../../core/shared/item.model'; import { TranslateModule } from '@ngx-translate/core'; -import { VarDirective } from '../../../shared/utils/var.directive'; import { of as observableOf } from 'rxjs'; -import { MetadataValue } from '../../../core/shared/metadata.models'; + +import { BrowseDefinitionDataService } from '../../../core/browse/browse-definition-data.service'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { Item } from '../../../core/shared/item.model'; +import { MetadataValue } from '../../../core/shared/metadata.models'; import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model'; import { MetadatumRepresentation } from '../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; -import { BrowseDefinitionDataService } from '../../../core/browse/browse-definition-data.service'; import { BrowseDefinitionDataServiceStub } from '../../../shared/testing/browse-definition-data-service.stub'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { MetadataRepresentationListComponent } from './metadata-representation-list.component'; const itemType = 'Person'; const metadataFields = ['dc.contributor.author', 'dc.creator']; diff --git a/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts index b7ba33c308..d5900918a2 100644 --- a/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts +++ b/src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts @@ -1,20 +1,22 @@ -import { Component, Input } from '@angular/core'; -import { MetadataRepresentation } from '../../../core/shared/metadata-representation/metadata-representation.model'; +import { + Component, + Input, +} from '@angular/core'; import { Observable, zip as observableZip, } from 'rxjs'; -import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { MetadataValue } from '../../../core/shared/metadata.models'; -import { Item } from '../../../core/shared/item.model'; -import { AbstractIncrementalListComponent } from '../abstract-incremental-list/abstract-incremental-list.component'; import { map } from 'rxjs/operators'; -import { getRemoteDataPayload } from '../../../core/shared/operators'; -import { - MetadatumRepresentation, -} from '../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; + import { BrowseService } from '../../../core/browse/browse.service'; import { BrowseDefinitionDataService } from '../../../core/browse/browse-definition-data.service'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { MetadataValue } from '../../../core/shared/metadata.models'; +import { MetadataRepresentation } from '../../../core/shared/metadata-representation/metadata-representation.model'; +import { MetadatumRepresentation } from '../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; +import { getRemoteDataPayload } from '../../../core/shared/operators'; +import { AbstractIncrementalListComponent } from '../abstract-incremental-list/abstract-incremental-list.component'; @Component({ selector: 'ds-metadata-representation-list', diff --git a/src/app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component.ts b/src/app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component.ts index a290b82dd9..5e875e1398 100644 --- a/src/app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component.ts +++ b/src/app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component.ts @@ -1,7 +1,11 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../core/shared/item.model'; import { ThemedComponent } from '../../../shared/theme-support/themed.component'; import { MetadataRepresentationListComponent } from './metadata-representation-list.component'; -import { Component, Input } from '@angular/core'; -import { Item } from '../../../core/shared/item.model'; @Component({ selector: 'ds-themed-metadata-representation-list', diff --git a/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.spec.ts b/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.spec.ts index df49e8d169..5e8c33ccee 100644 --- a/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.spec.ts +++ b/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.spec.ts @@ -1,10 +1,15 @@ -import { RelatedEntitiesSearchComponent } from './related-entities-search.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateModule } from '@ngx-translate/core'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { FormsModule } from '@angular/forms'; + import { Item } from '../../../../core/shared/item.model'; +import { RelatedEntitiesSearchComponent } from './related-entities-search.component'; describe('RelatedEntitiesSearchComponent', () => { let comp: RelatedEntitiesSearchComponent; diff --git a/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.ts b/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.ts index 10d15b967f..dd831190d4 100644 --- a/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.ts +++ b/src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.ts @@ -1,4 +1,9 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; + import { Item } from '../../../../core/shared/item.model'; import { isNotEmpty } from '../../../../shared/empty.util'; import { getFilterByRelation } from '../../../../shared/utils/relation-query.utils'; diff --git a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts index 5885f63683..cb9e78999b 100644 --- a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts +++ b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts @@ -1,15 +1,23 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Item } from '../../../../core/shared/item.model'; -import { TranslateModule } from '@ngx-translate/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TabbedRelatedEntitiesSearchComponent } from './tabbed-related-entities-search.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterMock } from '../../../../shared/mocks/router.mock'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { VarDirective } from '../../../../shared/utils/var.directive'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; +import { Item } from '../../../../core/shared/item.model'; +import { RouterMock } from '../../../../shared/mocks/router.mock'; +import { VarDirective } from '../../../../shared/utils/var.directive'; +import { TabbedRelatedEntitiesSearchComponent } from './tabbed-related-entities-search.component'; + describe('TabbedRelatedEntitiesSearchComponent', () => { let comp: TabbedRelatedEntitiesSearchComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts index 9a88bd1a54..14db03ec0a 100644 --- a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts +++ b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts @@ -1,9 +1,17 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Item } from '../../../../core/shared/item.model'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; +import { Item } from '../../../../core/shared/item.model'; + @Component({ selector: 'ds-tabbed-related-entities-search', templateUrl: './tabbed-related-entities-search.component.html', diff --git a/src/app/item-page/simple/related-items/related-items-component.ts b/src/app/item-page/simple/related-items/related-items-component.ts index df9901990e..73bda5f6cd 100644 --- a/src/app/item-page/simple/related-items/related-items-component.ts +++ b/src/app/item-page/simple/related-items/related-items-component.ts @@ -1,15 +1,25 @@ -import { Component, ElementRef, Inject, Input, PLATFORM_ID } from '@angular/core'; -import { Item } from '../../../core/shared/item.model'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { ViewMode } from '../../../core/shared/view-mode.model'; -import { RelationshipDataService } from '../../../core/data/relationship-data.service'; -import { AbstractIncrementalListComponent } from '../abstract-incremental-list/abstract-incremental-list.component'; -import { FindListOptions } from '../../../core/data/find-list-options.model'; -import { setPlaceHolderAttributes } from '../../../shared/utils/object-list-utils'; -import { APP_CONFIG, AppConfig } from '../../../../config/app-config.interface'; import { isPlatformBrowser } from '@angular/common'; +import { + Component, + ElementRef, + Inject, + Input, + PLATFORM_ID, +} from '@angular/core'; +import { Observable } from 'rxjs'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../config/app-config.interface'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { Item } from '../../../core/shared/item.model'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { setPlaceHolderAttributes } from '../../../shared/utils/object-list-utils'; +import { AbstractIncrementalListComponent } from '../abstract-incremental-list/abstract-incremental-list.component'; @Component({ selector: 'ds-related-items', diff --git a/src/app/item-page/simple/related-items/related-items.component.spec.ts b/src/app/item-page/simple/related-items/related-items.component.spec.ts index f1fffa4676..38dd690670 100644 --- a/src/app/item-page/simple/related-items/related-items.component.spec.ts +++ b/src/app/item-page/simple/related-items/related-items.component.spec.ts @@ -1,16 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { RelatedItemsComponent } from './related-items-component'; -import { Item } from '../../../core/shared/item.model'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { createRelationshipsObservable } from '../item-types/shared/item.component.spec'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { RelationshipDataService } from '../../../core/data/relationship-data.service'; import { TranslateModule } from '@ngx-translate/core'; -import { VarDirective } from '../../../shared/utils/var.directive'; import { of as observableOf } from 'rxjs'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; + import { APP_CONFIG } from '../../../../config/app-config.interface'; +import { RelationshipDataService } from '../../../core/data/relationship-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { createRelationshipsObservable } from '../item-types/shared/item.component.spec'; +import { RelatedItemsComponent } from './related-items-component'; const parentItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])), diff --git a/src/app/item-page/simple/themed-item-page.component.ts b/src/app/item-page/simple/themed-item-page.component.ts index 5bb26fafc9..c51f7a1656 100644 --- a/src/app/item-page/simple/themed-item-page.component.ts +++ b/src/app/item-page/simple/themed-item-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ItemPageComponent } from './item-page.component'; diff --git a/src/app/item-page/version-page/version-page/version-page.component.spec.ts b/src/app/item-page/version-page/version-page/version-page.component.spec.ts index 90113f9e32..9095446e7f 100644 --- a/src/app/item-page/version-page/version-page/version-page.component.spec.ts +++ b/src/app/item-page/version-page/version-page/version-page.component.spec.ts @@ -1,17 +1,25 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VersionPageComponent } from './version-page.component'; +import { Component } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; -import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; +import { RouterTestingModule } from '@angular/router/testing'; import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; + +import { AuthService } from '../../../core/auth/auth.service'; +import { VersionDataService } from '../../../core/data/version-data.service'; import { Item } from '../../../core/shared/item.model'; +import { Version } from '../../../core/shared/version.model'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; import { createPaginatedList } from '../../../shared/testing/utils.test'; import { createRelationshipsObservable } from '../../simple/item-types/shared/item.component.spec'; -import { VersionDataService } from '../../../core/data/version-data.service'; -import { AuthService } from '../../../core/auth/auth.service'; -import { Version } from '../../../core/shared/version.model'; -import { RouterTestingModule } from '@angular/router/testing'; -import { Component } from '@angular/core'; +import { VersionPageComponent } from './version-page.component'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])), diff --git a/src/app/item-page/version-page/version-page/version-page.component.ts b/src/app/item-page/version-page/version-page/version-page.component.ts index ce660e04eb..85156e1b55 100644 --- a/src/app/item-page/version-page/version-page/version-page.component.ts +++ b/src/app/item-page/version-page/version-page/version-page.component.ts @@ -1,16 +1,29 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; -import { ActivatedRoute, Router } from '@angular/router'; -import { AuthService } from '../../../core/auth/auth.service'; -import { map, switchMap } from 'rxjs/operators'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { VersionDataService } from '../../../core/data/version-data.service'; -import { Version } from '../../../core/shared/version.model'; -import { Item } from '../../../core/shared/item.model'; -import { getItemPageRoute } from '../../item-page-routing-paths'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { getPageNotFoundRoute } from '../../../app-routing-paths'; +import { AuthService } from '../../../core/auth/auth.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { VersionDataService } from '../../../core/data/version-data.service'; import { redirectOn4xx } from '../../../core/shared/authorized.operators'; +import { Item } from '../../../core/shared/item.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { Version } from '../../../core/shared/version.model'; +import { getItemPageRoute } from '../../item-page-routing-paths'; @Component({ selector: 'ds-version-page', diff --git a/src/app/item-page/version-page/version.resolver.ts b/src/app/item-page/version-page/version.resolver.ts index 0b260d65f2..6ab5bb12ba 100644 --- a/src/app/item-page/version-page/version.resolver.ts +++ b/src/app/item-page/version-page/version.resolver.ts @@ -1,13 +1,22 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { + ActivatedRouteSnapshot, + Resolve, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Store } from '@ngrx/store'; -import { ResolvedAction } from '../../core/resolving/resolver.actions'; -import { Version } from '../../core/shared/version.model'; +import { Observable } from 'rxjs'; + +import { RemoteData } from '../../core/data/remote-data'; import { VersionDataService } from '../../core/data/version-data.service'; +import { ResolvedAction } from '../../core/resolving/resolver.actions'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { Version } from '../../core/shared/version.model'; +import { + followLink, + FollowLinkConfig, +} from '../../shared/utils/follow-link-config.model'; /** * The self links defined in this list are expected to be requested somewhere in the near future diff --git a/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts b/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts index f7778b0a71..2ec454ed35 100644 --- a/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts +++ b/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts @@ -1,9 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ItemVersionsDeleteModalComponent } from './item-versions-delete-modal.component'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ItemVersionsDeleteModalComponent } from './item-versions-delete-modal.component'; describe('ItemVersionsDeleteModalComponent', () => { let component: ItemVersionsDeleteModalComponent; diff --git a/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.ts b/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.ts index b2948d9d96..159011c173 100644 --- a/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.ts +++ b/src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.ts @@ -1,4 +1,8 @@ -import { Component, EventEmitter, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Output, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; @Component({ diff --git a/src/app/item-page/versions/item-versions-shared.service.spec.ts b/src/app/item-page/versions/item-versions-shared.service.spec.ts index 071876c69f..15ead8f6b5 100644 --- a/src/app/item-page/versions/item-versions-shared.service.spec.ts +++ b/src/app/item-page/versions/item-versions-shared.service.spec.ts @@ -1,16 +1,19 @@ import { TestBed } from '@angular/core/testing'; - -import { ItemVersionsSharedService } from './item-versions-shared.service'; import { ActivatedRoute } from '@angular/router'; -import { VersionDataService } from '../../core/data/version-data.service'; -import { AuthService } from '../../core/auth/auth.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; + +import { AuthService } from '../../core/auth/auth.service'; +import { VersionDataService } from '../../core/data/version-data.service'; import { VersionHistoryDataService } from '../../core/data/version-history-data.service'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { Version } from '../../core/shared/version.model'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; +import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../../shared/remote-data.utils'; +import { ItemVersionsSharedService } from './item-versions-shared.service'; describe('ItemVersionsSharedService', () => { let service: ItemVersionsSharedService; diff --git a/src/app/item-page/versions/item-versions-shared.service.ts b/src/app/item-page/versions/item-versions-shared.service.ts index 322d2a10e2..d08cc13dda 100644 --- a/src/app/item-page/versions/item-versions-shared.service.ts +++ b/src/app/item-page/versions/item-versions-shared.service.ts @@ -1,8 +1,9 @@ import { Injectable } from '@angular/core'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; + import { RemoteData } from '../../core/data/remote-data'; import { Version } from '../../core/shared/version.model'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; @Injectable({ providedIn: 'root', diff --git a/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts b/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts index 5ef521f780..c74b8337a2 100644 --- a/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts +++ b/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts @@ -1,9 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ItemVersionsSummaryModalComponent } from './item-versions-summary-modal.component'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; + +import { ItemVersionsSummaryModalComponent } from './item-versions-summary-modal.component'; describe('ItemVersionsSummaryModalComponent', () => { let component: ItemVersionsSummaryModalComponent; diff --git a/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.ts b/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.ts index 1b04777625..341d94cbfc 100644 --- a/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.ts +++ b/src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.ts @@ -1,6 +1,12 @@ -import { Component, EventEmitter, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + OnInit, + Output, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { BehaviorSubject } from 'rxjs'; + import { ModalBeforeDismiss } from '../../../shared/interfaces/modal-before-dismiss.interface'; @Component({ diff --git a/src/app/item-page/versions/item-versions.component.spec.ts b/src/app/item-page/versions/item-versions.component.spec.ts index 6c78ab5e46..9f5ffa6a02 100644 --- a/src/app/item-page/versions/item-versions.component.spec.ts +++ b/src/app/item-page/versions/item-versions.component.spec.ts @@ -1,34 +1,48 @@ -import { ItemVersionsComponent } from './item-versions.component'; -import { - ComponentFixture, TestBed, waitForAsync, -} from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; +import { CommonModule } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormBuilder, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + EMPTY, + of as observableOf, + of, +} from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { VersionDataService } from '../../core/data/version-data.service'; +import { VersionHistoryDataService } from '../../core/data/version-history-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; import { Item } from '../../core/shared/item.model'; import { Version } from '../../core/shared/version.model'; import { VersionHistory } from '../../core/shared/version-history.model'; -import { VersionHistoryDataService } from '../../core/data/version-history-data.service'; -import { BrowserModule, By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; -import { EMPTY, of, of as observableOf } from 'rxjs'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { AuthService } from '../../core/auth/auth.service'; -import { VersionDataService } from '../../core/data/version-data.service'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { UntypedFormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { Router } from '@angular/router'; -import { CommonModule } from '@angular/common'; +import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { VarDirective } from '../../shared/utils/var.directive'; import { ItemSharedModule } from '../item-shared.module'; +import { ItemVersionsComponent } from './item-versions.component'; describe('ItemVersionsComponent', () => { let component: ItemVersionsComponent; diff --git a/src/app/item-page/versions/item-versions.component.ts b/src/app/item-page/versions/item-versions.component.ts index cd38490847..dc28798b80 100644 --- a/src/app/item-page/versions/item-versions.component.ts +++ b/src/app/item-page/versions/item-versions.component.ts @@ -1,7 +1,13 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; -import { Item } from '../../core/shared/item.model'; -import { Version } from '../../core/shared/version.model'; -import { RemoteData } from '../../core/data/remote-data'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; +import { UntypedFormBuilder } from '@angular/forms'; +import { Router } from '@angular/router'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, combineLatest, @@ -9,7 +15,25 @@ import { of, Subscription, } from 'rxjs'; -import { VersionHistory } from '../../core/shared/version-history.model'; +import { + map, + mergeMap, + startWith, + switchMap, + take, + tap, +} from 'rxjs/operators'; + +import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { VersionDataService } from '../../core/data/version-data.service'; +import { VersionHistoryDataService } from '../../core/data/version-history-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { Item } from '../../core/shared/item.model'; import { getAllSucceededRemoteData, getAllSucceededRemoteDataPayload, @@ -18,36 +42,28 @@ import { getFirstSucceededRemoteDataPayload, getRemoteDataPayload, } from '../../core/shared/operators'; -import { map, mergeMap, startWith, switchMap, take, tap } from 'rxjs/operators'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { VersionHistoryDataService } from '../../core/data/version-history-data.service'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { Version } from '../../core/shared/version.model'; +import { VersionHistory } from '../../core/shared/version-history.model'; +import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; +import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; import { AlertType } from '../../shared/alert/aletr-type'; +import { + hasValue, + hasValueOperator, +} from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; import { followLink } from '../../shared/utils/follow-link-config.model'; -import { hasValue, hasValueOperator } from '../../shared/empty.util'; -import { PaginationService } from '../../core/pagination/pagination.service'; import { getItemEditVersionhistoryRoute, getItemPageRoute, getItemVersionRoute, } from '../item-page-routing-paths'; -import { UntypedFormBuilder } from '@angular/forms'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { ItemVersionsSummaryModalComponent } from './item-versions-summary-modal/item-versions-summary-modal.component'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; import { ItemVersionsDeleteModalComponent } from './item-versions-delete-modal/item-versions-delete-modal.component'; -import { VersionDataService } from '../../core/data/version-data.service'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { Router } from '@angular/router'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; import { ItemVersionsSharedService } from './item-versions-shared.service'; -import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { ItemVersionsSummaryModalComponent } from './item-versions-summary-modal/item-versions-summary-modal.component'; @Component({ selector: 'ds-item-versions', diff --git a/src/app/item-page/versions/item-versions.module.ts b/src/app/item-page/versions/item-versions.module.ts index 577844488d..4fee5cde39 100644 --- a/src/app/item-page/versions/item-versions.module.ts +++ b/src/app/item-page/versions/item-versions.module.ts @@ -7,6 +7,7 @@ */ import { NgModule } from '@angular/core'; + import { SharedModule } from '../../shared/shared.module'; import { ItemVersionsComponent } from './item-versions.component'; import { ItemVersionsNoticeComponent } from './notice/item-versions-notice.component'; diff --git a/src/app/item-page/versions/notice/item-versions-notice.component.spec.ts b/src/app/item-page/versions/notice/item-versions-notice.component.spec.ts index a2e6ff8fb8..db1756b8c8 100644 --- a/src/app/item-page/versions/notice/item-versions-notice.component.spec.ts +++ b/src/app/item-page/versions/notice/item-versions-notice.component.spec.ts @@ -1,18 +1,23 @@ -import { ItemVersionsNoticeComponent } from './item-versions-notice.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { VersionHistory } from '../../../core/shared/version-history.model'; -import { Version } from '../../../core/shared/version.model'; -import { Item } from '../../../core/shared/item.model'; -import { VersionHistoryDataService } from '../../../core/data/version-history-data.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of } from 'rxjs'; import { take } from 'rxjs/operators'; +import { VersionHistoryDataService } from '../../../core/data/version-history-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { Version } from '../../../core/shared/version.model'; +import { VersionHistory } from '../../../core/shared/version-history.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { createPaginatedList } from '../../../shared/testing/utils.test'; +import { ItemVersionsNoticeComponent } from './item-versions-notice.component'; + describe('ItemVersionsNoticeComponent', () => { let component: ItemVersionsNoticeComponent; let fixture: ComponentFixture; diff --git a/src/app/item-page/versions/notice/item-versions-notice.component.ts b/src/app/item-page/versions/notice/item-versions-notice.component.ts index 5172dcec26..80b15effc7 100644 --- a/src/app/item-page/versions/notice/item-versions-notice.component.ts +++ b/src/app/item-page/versions/notice/item-versions-notice.component.ts @@ -1,18 +1,30 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Item } from '../../../core/shared/item.model'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; +import { + map, + startWith, + switchMap, +} from 'rxjs/operators'; + import { RemoteData } from '../../../core/data/remote-data'; -import { VersionHistory } from '../../../core/shared/version-history.model'; -import { Version } from '../../../core/shared/version.model'; -import { hasValue, hasValueOperator } from '../../../shared/empty.util'; +import { VersionHistoryDataService } from '../../../core/data/version-history-data.service'; +import { Item } from '../../../core/shared/item.model'; import { getAllSucceededRemoteData, getFirstSucceededRemoteDataPayload, getRemoteDataPayload, } from '../../../core/shared/operators'; -import { map, startWith, switchMap } from 'rxjs/operators'; -import { VersionHistoryDataService } from '../../../core/data/version-history-data.service'; +import { Version } from '../../../core/shared/version.model'; +import { VersionHistory } from '../../../core/shared/version-history.model'; import { AlertType } from '../../../shared/alert/aletr-type'; +import { + hasValue, + hasValueOperator, +} from '../../../shared/empty.util'; import { getItemPageRoute } from '../../item-page-routing-paths'; @Component({ diff --git a/src/app/login-page/login-page-routing.module.ts b/src/app/login-page/login-page-routing.module.ts index e429019b1e..5a6a1c9b0b 100644 --- a/src/app/login-page/login-page-routing.module.ts +++ b/src/app/login-page/login-page-routing.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; import { ThemedLoginPageComponent } from './themed-login-page.component'; diff --git a/src/app/login-page/login-page.component.spec.ts b/src/app/login-page/login-page.component.spec.ts index 4c8a8bd77a..326e4736c9 100644 --- a/src/app/login-page/login-page.component.spec.ts +++ b/src/app/login-page/login-page.component.spec.ts @@ -1,13 +1,16 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; - import { Store } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { LoginPageComponent } from './login-page.component'; import { ActivatedRouteStub } from '../shared/testing/active-router.stub'; +import { LoginPageComponent } from './login-page.component'; describe('LoginPageComponent', () => { let comp: LoginPageComponent; diff --git a/src/app/login-page/login-page.component.ts b/src/app/login-page/login-page.component.ts index a1d87dd530..e149a5f8d6 100644 --- a/src/app/login-page/login-page.component.ts +++ b/src/app/login-page/login-page.component.ts @@ -1,9 +1,18 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; - -import { combineLatest as observableCombineLatest, Subscription } from 'rxjs'; -import { filter, take } from 'rxjs/operators'; import { Store } from '@ngrx/store'; +import { + combineLatest as observableCombineLatest, + Subscription, +} from 'rxjs'; +import { + filter, + take, +} from 'rxjs/operators'; import { AppState } from '../app.reducer'; import { @@ -12,9 +21,12 @@ import { AuthenticationSuccessAction, ResetAuthenticationMessagesAction, } from '../core/auth/auth.actions'; -import { hasValue, isNotEmpty } from '../shared/empty.util'; import { AuthTokenInfo } from '../core/auth/models/auth-token-info.model'; import { isAuthenticated } from '../core/auth/selectors'; +import { + hasValue, + isNotEmpty, +} from '../shared/empty.util'; /** * This component represents the login page diff --git a/src/app/login-page/login-page.module.ts b/src/app/login-page/login-page.module.ts index ff2a80588a..995acade87 100644 --- a/src/app/login-page/login-page.module.ts +++ b/src/app/login-page/login-page.module.ts @@ -1,5 +1,6 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; import { LoginPageComponent } from './login-page.component'; import { LoginPageRoutingModule } from './login-page-routing.module'; diff --git a/src/app/login-page/themed-login-page.component.ts b/src/app/login-page/themed-login-page.component.ts index 66c458b2b1..5ff498018f 100644 --- a/src/app/login-page/themed-login-page.component.ts +++ b/src/app/login-page/themed-login-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { LoginPageComponent } from './login-page.component'; diff --git a/src/app/logout-page/logout-page-routing.module.ts b/src/app/logout-page/logout-page-routing.module.ts index 52d06a2599..38c55410d2 100644 --- a/src/app/logout-page/logout-page-routing.module.ts +++ b/src/app/logout-page/logout-page-routing.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; import { ThemedLogoutPageComponent } from './themed-logout-page.component'; diff --git a/src/app/logout-page/logout-page.component.spec.ts b/src/app/logout-page/logout-page.component.spec.ts index df84fc728a..054f0c5102 100644 --- a/src/app/logout-page/logout-page.component.spec.ts +++ b/src/app/logout-page/logout-page.component.spec.ts @@ -1,5 +1,9 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; import { LogoutPageComponent } from './logout-page.component'; diff --git a/src/app/logout-page/logout-page.module.ts b/src/app/logout-page/logout-page.module.ts index 19ba9cc42f..508f3f5909 100644 --- a/src/app/logout-page/logout-page.module.ts +++ b/src/app/logout-page/logout-page.module.ts @@ -1,5 +1,6 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; import { LogoutPageComponent } from './logout-page.component'; import { LogoutPageRoutingModule } from './logout-page-routing.module'; diff --git a/src/app/logout-page/themed-logout-page.component.ts b/src/app/logout-page/themed-logout-page.component.ts index d5e286e124..535fa10d28 100644 --- a/src/app/logout-page/themed-logout-page.component.ts +++ b/src/app/logout-page/themed-logout-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { LogoutPageComponent } from './logout-page.component'; diff --git a/src/app/lookup-by-id/lookup-by-id-routing.module.ts b/src/app/lookup-by-id/lookup-by-id-routing.module.ts index 1a45995271..12d5874118 100644 --- a/src/app/lookup-by-id/lookup-by-id-routing.module.ts +++ b/src/app/lookup-by-id/lookup-by-id-routing.module.ts @@ -1,7 +1,11 @@ -import { LookupGuard } from './lookup-guard'; import { NgModule } from '@angular/core'; -import { RouterModule, UrlSegment } from '@angular/router'; +import { + RouterModule, + UrlSegment, +} from '@angular/router'; + import { isNotEmpty } from '../shared/empty.util'; +import { LookupGuard } from './lookup-guard'; import { ThemedObjectNotFoundComponent } from './objectnotfound/themed-objectnotfound.component'; @NgModule({ diff --git a/src/app/lookup-by-id/lookup-by-id.module.ts b/src/app/lookup-by-id/lookup-by-id.module.ts index 2445b2e25c..83177b9c57 100644 --- a/src/app/lookup-by-id/lookup-by-id.module.ts +++ b/src/app/lookup-by-id/lookup-by-id.module.ts @@ -1,9 +1,10 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { DsoRedirectService } from '../core/data/dso-redirect.service'; import { SharedModule } from '../shared/shared.module'; import { LookupRoutingModule } from './lookup-by-id-routing.module'; import { ObjectNotFoundComponent } from './objectnotfound/objectnotfound.component'; -import { DsoRedirectService } from '../core/data/dso-redirect.service'; import { ThemedObjectNotFoundComponent } from './objectnotfound/themed-objectnotfound.component'; @NgModule({ diff --git a/src/app/lookup-by-id/lookup-guard.spec.ts b/src/app/lookup-by-id/lookup-guard.spec.ts index 408a50c92f..1380f0c689 100644 --- a/src/app/lookup-by-id/lookup-guard.spec.ts +++ b/src/app/lookup-by-id/lookup-guard.spec.ts @@ -1,4 +1,5 @@ import { of as observableOf } from 'rxjs'; + import { IdentifierType } from '../core/data/request.models'; import { LookupGuard } from './lookup-guard'; diff --git a/src/app/lookup-by-id/lookup-guard.ts b/src/app/lookup-by-id/lookup-guard.ts index b3ffa997f0..ed69d47521 100644 --- a/src/app/lookup-by-id/lookup-guard.ts +++ b/src/app/lookup-by-id/lookup-guard.ts @@ -1,10 +1,15 @@ -import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router'; import { Injectable } from '@angular/core'; -import { IdentifierType } from '../core/data/request.models'; +import { + ActivatedRouteSnapshot, + CanActivate, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { RemoteData } from '../core/data/remote-data'; + import { DsoRedirectService } from '../core/data/dso-redirect.service'; +import { RemoteData } from '../core/data/remote-data'; +import { IdentifierType } from '../core/data/request.models'; import { DSpaceObject } from '../core/shared/dspace-object.model'; interface LookupParams { diff --git a/src/app/lookup-by-id/objectnotfound/objectnotfound.component.spec.ts b/src/app/lookup-by-id/objectnotfound/objectnotfound.component.spec.ts index b768e19d4a..d27ca252a9 100644 --- a/src/app/lookup-by-id/objectnotfound/objectnotfound.component.spec.ts +++ b/src/app/lookup-by-id/objectnotfound/objectnotfound.component.spec.ts @@ -1,11 +1,15 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; - -import { ObjectNotFoundComponent } from './objectnotfound.component'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { of as observableOf } from 'rxjs'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { ObjectNotFoundComponent } from './objectnotfound.component'; describe('ObjectNotFoundComponent', () => { let comp: ObjectNotFoundComponent; diff --git a/src/app/lookup-by-id/objectnotfound/objectnotfound.component.ts b/src/app/lookup-by-id/objectnotfound/objectnotfound.component.ts index b8bf34ca94..dda5e3fcae 100644 --- a/src/app/lookup-by-id/objectnotfound/objectnotfound.component.ts +++ b/src/app/lookup-by-id/objectnotfound/objectnotfound.component.ts @@ -1,5 +1,9 @@ -import { Component, ChangeDetectionStrategy, OnInit } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; /** diff --git a/src/app/lookup-by-id/objectnotfound/themed-objectnotfound.component.ts b/src/app/lookup-by-id/objectnotfound/themed-objectnotfound.component.ts index e2338d5f07..f9910df12c 100644 --- a/src/app/lookup-by-id/objectnotfound/themed-objectnotfound.component.ts +++ b/src/app/lookup-by-id/objectnotfound/themed-objectnotfound.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ObjectNotFoundComponent } from './objectnotfound.component'; diff --git a/src/app/menu.resolver.spec.ts b/src/app/menu.resolver.spec.ts index a7b4bb36fc..658e98e5f5 100644 --- a/src/app/menu.resolver.spec.ts +++ b/src/app/menu.resolver.spec.ts @@ -1,21 +1,24 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; - -import { MenuResolver } from './menu.resolver'; -import { of as observableOf } from 'rxjs'; -import { FeatureID } from './core/data/feature-authorization/feature-id'; -import { TranslateModule } from '@ngx-translate/core'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; -import { AdminSidebarComponent } from './admin/admin-sidebar/admin-sidebar.component'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { MenuService } from './shared/menu/menu.service'; -import { AuthorizationDataService } from './core/data/feature-authorization/authorization-data.service'; -import { ScriptDataService } from './core/data/processes/script-data.service'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { MenuServiceStub } from './shared/testing/menu-service.stub'; -import { MenuID } from './shared/menu/menu-id.model'; -import { BrowseService } from './core/browse/browse.service'; +import { TranslateModule } from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; + +import { AdminSidebarComponent } from './admin/admin-sidebar/admin-sidebar.component'; +import { BrowseService } from './core/browse/browse.service'; +import { AuthorizationDataService } from './core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from './core/data/feature-authorization/feature-id'; +import { ScriptDataService } from './core/data/processes/script-data.service'; +import { MenuResolver } from './menu.resolver'; +import { MenuService } from './shared/menu/menu.service'; +import { MenuID } from './shared/menu/menu-id.model'; +import { MenuServiceStub } from './shared/testing/menu-service.stub'; import createSpy = jasmine.createSpy; import { createSuccessfulRemoteDataObject$ } from './shared/remote-data.utils'; import { createPaginatedList } from './shared/testing/utils.test'; diff --git a/src/app/menu.resolver.ts b/src/app/menu.resolver.ts index eed7133c4d..2983bfad44 100644 --- a/src/app/menu.resolver.ts +++ b/src/app/menu.resolver.ts @@ -1,52 +1,50 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { combineLatest as observableCombineLatest, combineLatest, Observable } from 'rxjs'; -import { MenuID } from './shared/menu/menu-id.model'; -import { MenuState } from './shared/menu/menu-state.model'; -import { MenuItemType } from './shared/menu/menu-item-type.model'; -import { LinkMenuItemModel } from './shared/menu/menu-item/models/link.model'; -import { getFirstCompletedRemoteData } from './core/shared/operators'; -import { PaginatedList } from './core/data/paginated-list.model'; -import { BrowseDefinition } from './core/shared/browse-definition.model'; -import { RemoteData } from './core/data/remote-data'; -import { TextMenuItemModel } from './shared/menu/menu-item/models/text.model'; -import { BrowseService } from './core/browse/browse.service'; -import { MenuService } from './shared/menu/menu.service'; -import { filter, find, map, take } from 'rxjs/operators'; -import { hasValue } from './shared/empty.util'; -import { FeatureID } from './core/data/feature-authorization/feature-id'; import { - ThemedCreateCommunityParentSelectorComponent, -} from './shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component'; -import { OnClickMenuItemModel } from './shared/menu/menu-item/models/onclick.model'; -import { - ThemedCreateCollectionParentSelectorComponent, -} from './shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component'; -import { - ThemedCreateItemParentSelectorComponent, -} from './shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component'; -import { - ThemedEditCommunitySelectorComponent, -} from './shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component'; -import { - ThemedEditCollectionSelectorComponent, -} from './shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component'; -import { - ThemedEditItemSelectorComponent, -} from './shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component'; -import { - ExportMetadataSelectorComponent, -} from './shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component'; -import { AuthorizationDataService } from './core/data/feature-authorization/authorization-data.service'; + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { + combineLatest, + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + filter, + find, + map, + take, +} from 'rxjs/operators'; + +import { BrowseService } from './core/browse/browse.service'; +import { AuthorizationDataService } from './core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from './core/data/feature-authorization/feature-id'; +import { PaginatedList } from './core/data/paginated-list.model'; import { METADATA_EXPORT_SCRIPT_NAME, METADATA_IMPORT_SCRIPT_NAME, ScriptDataService, } from './core/data/processes/script-data.service'; -import { - ExportBatchSelectorComponent, -} from './shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component'; +import { RemoteData } from './core/data/remote-data'; +import { BrowseDefinition } from './core/shared/browse-definition.model'; +import { getFirstCompletedRemoteData } from './core/shared/operators'; +import { ThemedCreateCollectionParentSelectorComponent } from './shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component'; +import { ThemedCreateCommunityParentSelectorComponent } from './shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component'; +import { ThemedCreateItemParentSelectorComponent } from './shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component'; +import { ThemedEditCollectionSelectorComponent } from './shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component'; +import { ThemedEditCommunitySelectorComponent } from './shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component'; +import { ThemedEditItemSelectorComponent } from './shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component'; +import { ExportBatchSelectorComponent } from './shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component'; +import { ExportMetadataSelectorComponent } from './shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component'; +import { hasValue } from './shared/empty.util'; +import { MenuService } from './shared/menu/menu.service'; +import { MenuID } from './shared/menu/menu-id.model'; +import { LinkMenuItemModel } from './shared/menu/menu-item/models/link.model'; +import { OnClickMenuItemModel } from './shared/menu/menu-item/models/onclick.model'; +import { TextMenuItemModel } from './shared/menu/menu-item/models/text.model'; +import { MenuItemType } from './shared/menu/menu-item-type.model'; +import { MenuState } from './shared/menu/menu-state.model'; /** * Creates all of the app's menus diff --git a/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts b/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts index bd5ff15620..4a6390969b 100644 --- a/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts +++ b/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts @@ -1,28 +1,44 @@ /* eslint-disable max-classes-per-file */ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectorRef, ElementRef, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; +import { + ChangeDetectorRef, + ElementRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { createPaginatedList } from '../../shared/testing/utils.test'; - +import { ActivatedRoute } from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { getTestScheduler, hot } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { Observable } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { TestScheduler } from 'rxjs/testing'; -import { CollectionSelectorComponent } from './collection-selector.component'; -import { CollectionDropdownComponent } from '../../shared/collection-dropdown/collection-dropdown.component'; -import { Collection } from '../../core/shared/collection.model'; -import { RemoteData } from '../../core/data/remote-data'; -import { Community } from '../../core/shared/community.model'; -import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; import { CollectionDataService } from '../../core/data/collection-data.service'; -import { MockElementRef } from '../../shared/testing/element-ref.mock'; import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { Collection } from '../../core/shared/collection.model'; +import { Community } from '../../core/shared/community.model'; +import { CollectionDropdownComponent } from '../../shared/collection-dropdown/collection-dropdown.component'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { MockElementRef } from '../../shared/testing/element-ref.mock'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { CollectionSelectorComponent } from './collection-selector.component'; describe('CollectionSelectorComponent', () => { diff --git a/src/app/my-dspace-page/collection-selector/collection-selector.component.ts b/src/app/my-dspace-page/collection-selector/collection-selector.component.ts index 8ef71e8e8e..fd39cea117 100644 --- a/src/app/my-dspace-page/collection-selector/collection-selector.component.ts +++ b/src/app/my-dspace-page/collection-selector/collection-selector.component.ts @@ -1,5 +1,4 @@ import { Component } from '@angular/core'; - import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { CollectionListEntry } from '../../shared/collection-dropdown/collection-dropdown.component'; diff --git a/src/app/my-dspace-page/my-dspace-configuration.service.spec.ts b/src/app/my-dspace-page/my-dspace-configuration.service.spec.ts index cc297791ee..e7bc422665 100644 --- a/src/app/my-dspace-page/my-dspace-configuration.service.spec.ts +++ b/src/app/my-dspace-page/my-dspace-configuration.service.spec.ts @@ -1,18 +1,24 @@ +import { + cold, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; -import { PaginatedSearchOptions } from '../shared/search/models/paginated-search-options.model'; +import { + SortDirection, + SortOptions, +} from '../core/cache/models/sort-options.model'; +import { Context } from '../core/shared/context.model'; +import { getMockRemoteDataBuildService } from '../shared/mocks/remote-data-build.service.mock'; +import { RoleServiceMock } from '../shared/mocks/role-service.mock'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../core/cache/models/sort-options.model'; +import { PaginatedSearchOptions } from '../shared/search/models/paginated-search-options.model'; import { SearchFilter } from '../shared/search/models/search-filter.model'; import { ActivatedRouteStub } from '../shared/testing/active-router.stub'; -import { RoleServiceMock } from '../shared/mocks/role-service.mock'; -import { cold, hot } from 'jasmine-marbles'; -import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type'; -import { PaginationServiceStub } from '../shared/testing/pagination-service.stub'; -import { Context } from '../core/shared/context.model'; import { HALEndpointServiceStub } from '../shared/testing/hal-endpoint-service.stub'; -import { getMockRemoteDataBuildService } from '../shared/mocks/remote-data-build.service.mock'; +import { PaginationServiceStub } from '../shared/testing/pagination-service.stub'; +import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; +import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type'; describe('MyDSpaceConfigurationService', () => { let service: MyDSpaceConfigurationService; diff --git a/src/app/my-dspace-page/my-dspace-configuration.service.ts b/src/app/my-dspace-page/my-dspace-configuration.service.ts index f7576c6d1f..bbc9ba1c33 100644 --- a/src/app/my-dspace-page/my-dspace-configuration.service.ts +++ b/src/app/my-dspace-page/my-dspace-configuration.service.ts @@ -1,22 +1,30 @@ import { Injectable } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { + combineLatest, + Observable, +} from 'rxjs'; +import { + first, + map, +} from 'rxjs/operators'; -import { combineLatest, Observable } from 'rxjs'; -import { first, map } from 'rxjs/operators'; - -import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type'; +import { LinkService } from '../core/cache/builders/link.service'; +import { RemoteDataBuildService } from '../core/cache/builders/remote-data-build.service'; +import { + SortDirection, + SortOptions, +} from '../core/cache/models/sort-options.model'; +import { RequestService } from '../core/data/request.service'; +import { PaginationService } from '../core/pagination/pagination.service'; import { RoleService } from '../core/roles/role.service'; -import { SearchConfigurationOption } from '../shared/search/search-switch-configuration/search-configuration-option.model'; +import { RouteService } from '../core/services/route.service'; +import { Context } from '../core/shared/context.model'; +import { HALEndpointService } from '../core/shared/hal-endpoint.service'; import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../core/cache/models/sort-options.model'; -import { RouteService } from '../core/services/route.service'; -import { PaginationService } from '../core/pagination/pagination.service'; -import { LinkService } from '../core/cache/builders/link.service'; -import { HALEndpointService } from '../core/shared/hal-endpoint.service'; -import { RequestService } from '../core/data/request.service'; -import { RemoteDataBuildService } from '../core/cache/builders/remote-data-build.service'; -import { Context } from '../core/shared/context.model'; +import { SearchConfigurationOption } from '../shared/search/search-switch-configuration/search-configuration-option.model'; +import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type'; export const MyDSpaceConfigurationToContextMap = new Map([ [MyDSpaceConfigurationValueType.Workspace, Context.Workspace], diff --git a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.spec.ts b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.spec.ts index 86975e8329..ec7608f8d7 100644 --- a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.spec.ts +++ b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.spec.ts @@ -1,19 +1,32 @@ -import { Component, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { Router } from '@angular/router'; -import { By } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; +import { + Component, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { createPaginatedList, createTestComponent } from '../../../shared/testing/utils.test'; -import { MyDSpaceNewExternalDropdownComponent } from './my-dspace-new-external-dropdown.component'; + import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; import { ResourceType } from '../../../core/shared/resource-type'; import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { PageInfo } from '../../../core/shared/page-info.model'; -import { RouterStub } from '../../../shared/testing/router.stub'; import { BrowserOnlyMockPipe } from '../../../shared/testing/browser-only-mock.pipe'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { + createPaginatedList, + createTestComponent, +} from '../../../shared/testing/utils.test'; +import { MyDSpaceNewExternalDropdownComponent } from './my-dspace-new-external-dropdown.component'; export function getMockEntityTypeService(): EntityTypeDataService { const pageInfo = { elementsPerPage: 20, totalElements: 4, totalPages: 1, currentPage: 0 } as PageInfo; diff --git a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.ts b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.ts index 2dd21763fa..2c2a77da48 100644 --- a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.ts +++ b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.ts @@ -1,15 +1,26 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - -import { Observable, of as observableOf, Subscription } from 'rxjs'; -import { map, mergeMap, take } from 'rxjs/operators'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + map, + mergeMap, + take, +} from 'rxjs/operators'; import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; import { hasValue } from '../../../shared/empty.util'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { FindListOptions } from '../../../core/data/find-list-options.model'; /** * This component represents the 'Import metadata from external source' dropdown menu diff --git a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.spec.ts b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.spec.ts index 8244328a18..bd150c12b6 100644 --- a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.spec.ts +++ b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.spec.ts @@ -1,18 +1,31 @@ -import { Component, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { + Component, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { createPaginatedList, createTestComponent } from '../../../shared/testing/utils.test'; -import { MyDSpaceNewSubmissionDropdownComponent } from './my-dspace-new-submission-dropdown.component'; + import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; import { ResourceType } from '../../../core/shared/resource-type'; import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { PageInfo } from '../../../core/shared/page-info.model'; import { BrowserOnlyMockPipe } from '../../../shared/testing/browser-only-mock.pipe'; +import { + createPaginatedList, + createTestComponent, +} from '../../../shared/testing/utils.test'; +import { MyDSpaceNewSubmissionDropdownComponent } from './my-dspace-new-submission-dropdown.component'; export function getMockEntityTypeService(): EntityTypeDataService { const type1: ItemType = { diff --git a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.ts b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.ts index caab331419..4283ab89af 100644 --- a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.ts +++ b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.ts @@ -1,16 +1,27 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; - -import { Observable, of as observableOf, Subscription } from 'rxjs'; -import { map, mergeMap, take } from 'rxjs/operators'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + map, + mergeMap, + take, +} from 'rxjs/operators'; import { EntityTypeDataService } from '../../../core/data/entity-type-data.service'; -import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; -import { hasValue } from '../../../shared/empty.util'; -import { CreateItemParentSelectorComponent } from '../../../shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { ItemType } from '../../../core/shared/item-relationships/item-type.model'; +import { CreateItemParentSelectorComponent } from '../../../shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; +import { hasValue } from '../../../shared/empty.util'; /** * This component represents the new submission dropdown diff --git a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts index 082c439cb3..436a290bfe 100644 --- a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts +++ b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts @@ -1,31 +1,45 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; - -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ScrollToService } from '@nicky-lenaers/ngx-scroll-to'; -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; - -import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; -import { AuthServiceStub } from '../../shared/testing/auth-service.stub'; -import { AuthService } from '../../core/auth/auth.service'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; -import { createTestComponent } from '../../shared/testing/utils.test'; -import { MyDSpaceNewSubmissionComponent } from './my-dspace-new-submission.component'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { getMockScrollToService } from '../../shared/mocks/scroll-to-service.mock'; -import { DragService } from '../../core/drag.service'; -import { HostWindowService } from '../../shared/host-window.service'; -import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; -import { UploaderComponent } from '../../shared/upload/uploader/uploader.component'; import { HttpXsrfTokenExtractor } from '@angular/common/http'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + NgbModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { ScrollToService } from '@nicky-lenaers/ngx-scroll-to'; + +import { AuthService } from '../../core/auth/auth.service'; +import { EntityTypeDataService } from '../../core/data/entity-type-data.service'; +import { DragService } from '../../core/drag.service'; import { CookieService } from '../../core/services/cookie.service'; +import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; +import { HostWindowService } from '../../shared/host-window.service'; import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; import { HttpXsrfTokenExtractorMock } from '../../shared/mocks/http-xsrf-token-extractor.mock'; +import { getMockScrollToService } from '../../shared/mocks/scroll-to-service.mock'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { AuthServiceStub } from '../../shared/testing/auth-service.stub'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { createTestComponent } from '../../shared/testing/utils.test'; +import { UploaderComponent } from '../../shared/upload/uploader/uploader.component'; +import { MyDSpaceNewSubmissionComponent } from './my-dspace-new-submission.component'; import { getMockEntityTypeService } from './my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.spec'; -import { EntityTypeDataService } from '../../core/data/entity-type-data.service'; describe('MyDSpaceNewSubmissionComponent test', () => { diff --git a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts index a8f05ed5d5..544cf2adb0 100644 --- a/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts +++ b/src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts @@ -1,21 +1,28 @@ -import { ChangeDetectorRef, Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; - +import { + ChangeDetectorRef, + Component, + EventEmitter, + OnDestroy, + OnInit, + Output, + ViewChild, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; import { Subscription } from 'rxjs'; import { first } from 'rxjs/operators'; -import { TranslateService } from '@ngx-translate/core'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { AuthService } from '../../core/auth/auth.service'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { UploaderOptions } from '../../shared/upload/uploader/uploader-options.model'; import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; import { hasValue } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { SearchResult } from '../../shared/search/models/search-result.model'; -import { CollectionSelectorComponent } from '../collection-selector/collection-selector.component'; import { UploaderComponent } from '../../shared/upload/uploader/uploader.component'; import { UploaderError } from '../../shared/upload/uploader/uploader-error.model'; -import { Router } from '@angular/router'; +import { UploaderOptions } from '../../shared/upload/uploader/uploader-options.model'; +import { CollectionSelectorComponent } from '../collection-selector/collection-selector.component'; /** * This component represents the whole mydspace page header diff --git a/src/app/my-dspace-page/my-dspace-page-routing.module.ts b/src/app/my-dspace-page/my-dspace-page-routing.module.ts index 645449429e..3c970c7c2a 100644 --- a/src/app/my-dspace-page/my-dspace-page-routing.module.ts +++ b/src/app/my-dspace-page/my-dspace-page-routing.module.ts @@ -1,8 +1,9 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { MyDSpaceGuard } from './my-dspace.guard'; import { ThemedMyDSpacePageComponent } from './themed-my-dspace-page.component'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; @NgModule({ imports: [ diff --git a/src/app/my-dspace-page/my-dspace-page.component.spec.ts b/src/app/my-dspace-page/my-dspace-page.component.spec.ts index 7ff2ebb35f..d6bcdc3654 100644 --- a/src/app/my-dspace-page/my-dspace-page.component.spec.ts +++ b/src/app/my-dspace-page/my-dspace-page.component.spec.ts @@ -1,18 +1,26 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + flush, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; -import { ComponentFixture, fakeAsync, flush, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; - -import { of as observableOf } from 'rxjs'; +import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; -import { MyDSpacePageComponent, SEARCH_CONFIG_SERVICE } from './my-dspace-page.component'; +import { Context } from '../core/shared/context.model'; import { SearchService } from '../core/shared/search/search.service'; import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type'; -import { Context } from '../core/shared/context.model'; +import { + MyDSpacePageComponent, + SEARCH_CONFIG_SERVICE, +} from './my-dspace-page.component'; import SpyObj = jasmine.SpyObj; describe('MyDSpacePageComponent', () => { diff --git a/src/app/my-dspace-page/my-dspace-page.component.ts b/src/app/my-dspace-page/my-dspace-page.component.ts index 565abb6c26..4c12104812 100644 --- a/src/app/my-dspace-page/my-dspace-page.component.ts +++ b/src/app/my-dspace-page/my-dspace-page.component.ts @@ -1,16 +1,22 @@ -import { ChangeDetectionStrategy, Component, Inject, InjectionToken, OnInit } from '@angular/core'; - +import { + ChangeDetectionStrategy, + Component, + Inject, + InjectionToken, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; import { take } from 'rxjs/operators'; -import { SearchService } from '../core/shared/search/search.service'; + import { MyDSpaceResponseParsingService } from '../core/data/mydspace-response-parsing.service'; -import { SearchConfigurationOption } from '../shared/search/search-switch-configuration/search-configuration-option.model'; -import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; -import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; -import { ViewMode } from '../core/shared/view-mode.model'; import { MyDSpaceRequest } from '../core/data/request.models'; -import { Context } from '../core/shared/context.model'; import { RoleType } from '../core/roles/role-types'; +import { Context } from '../core/shared/context.model'; +import { SearchService } from '../core/shared/search/search.service'; +import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; +import { ViewMode } from '../core/shared/view-mode.model'; +import { SearchConfigurationOption } from '../shared/search/search-switch-configuration/search-configuration-option.model'; +import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; export const MYDSPACE_ROUTE = '/mydspace'; export const SEARCH_CONFIG_SERVICE: InjectionToken = new InjectionToken('searchConfigurationService'); diff --git a/src/app/my-dspace-page/my-dspace-page.module.ts b/src/app/my-dspace-page/my-dspace-page.module.ts index 8d3ad87cbb..b9c89762bc 100644 --- a/src/app/my-dspace-page/my-dspace-page.module.ts +++ b/src/app/my-dspace-page/my-dspace-page.module.ts @@ -1,20 +1,19 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; +import { SearchModule } from '../shared/search/search.module'; import { SharedModule } from '../shared/shared.module'; - -import { MyDspacePageRoutingModule } from './my-dspace-page-routing.module'; -import { MyDSpacePageComponent } from './my-dspace-page.component'; -import { MyDSpaceNewSubmissionComponent } from './my-dspace-new-submission/my-dspace-new-submission.component'; +import { UploadModule } from '../shared/upload/upload.module'; +import { CollectionSelectorComponent } from './collection-selector/collection-selector.component'; import { MyDSpaceGuard } from './my-dspace.guard'; import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; -import { CollectionSelectorComponent } from './collection-selector/collection-selector.component'; -import { MyDspaceSearchModule } from './my-dspace-search.module'; -import { MyDSpaceNewSubmissionDropdownComponent } from './my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component'; import { MyDSpaceNewExternalDropdownComponent } from './my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component'; +import { MyDSpaceNewSubmissionComponent } from './my-dspace-new-submission/my-dspace-new-submission.component'; +import { MyDSpaceNewSubmissionDropdownComponent } from './my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component'; +import { MyDSpacePageComponent } from './my-dspace-page.component'; +import { MyDspacePageRoutingModule } from './my-dspace-page-routing.module'; +import { MyDspaceSearchModule } from './my-dspace-search.module'; import { ThemedMyDSpacePageComponent } from './themed-my-dspace-page.component'; -import { SearchModule } from '../shared/search/search.module'; -import { UploadModule } from '../shared/upload/upload.module'; const DECLARATIONS = [ MyDSpacePageComponent, diff --git a/src/app/my-dspace-page/my-dspace-search.module.ts b/src/app/my-dspace-page/my-dspace-search.module.ts index fc7b316a6f..55273bfa2d 100644 --- a/src/app/my-dspace-page/my-dspace-search.module.ts +++ b/src/app/my-dspace-page/my-dspace-search.module.ts @@ -1,31 +1,30 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; - -import { MyDspacePageRoutingModule } from './my-dspace-page-routing.module'; -import { WorkspaceItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component'; -import { ClaimedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component'; -import { PoolSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component'; -import { ItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component'; -import { WorkspaceItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component'; -import { WorkflowItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component'; -import { ClaimedTaskSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component'; -import { ItemSearchResultListElementSubmissionComponent } from '../shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component'; -import { WorkflowItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component'; -import { PoolSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component'; -import { ClaimedApprovedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component'; -import { ClaimedDeclinedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component'; +import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module'; -import { ItemSubmitterComponent } from '../shared/object-collection/shared/mydspace-item-submitter/item-submitter.component'; +import { MyDSpaceActionsModule } from '../shared/mydspace-actions/mydspace-actions.module'; import { ItemCollectionComponent } from '../shared/object-collection/shared/mydspace-item-collection/item-collection.component'; +import { ItemSubmitterComponent } from '../shared/object-collection/shared/mydspace-item-submitter/item-submitter.component'; +import { ClaimedTaskSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component'; import { ItemDetailPreviewComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component'; import { ItemDetailPreviewFieldComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component'; +import { ItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component'; +import { PoolSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component'; +import { WorkflowItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component'; +import { WorkspaceItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component'; +import { ClaimedApprovedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component'; +import { ClaimedDeclinedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component'; +import { ClaimedDeclinedTaskSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component'; +import { ClaimedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component'; import { ItemListPreviewComponent } from '../shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component'; import { ThemedItemListPreviewComponent } from '../shared/object-list/my-dspace-result-list-element/item-list-preview/themed-item-list-preview.component'; -import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; -import { MyDSpaceActionsModule } from '../shared/mydspace-actions/mydspace-actions.module'; -import { ClaimedDeclinedTaskSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component'; +import { ItemSearchResultListElementSubmissionComponent } from '../shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component'; +import { PoolSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component'; +import { WorkflowItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component'; +import { WorkspaceItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component'; +import { SharedModule } from '../shared/shared.module'; +import { MyDspacePageRoutingModule } from './my-dspace-page-routing.module'; const ENTRY_COMPONENTS = [ WorkspaceItemSearchResultListElementComponent, diff --git a/src/app/my-dspace-page/my-dspace.guard.ts b/src/app/my-dspace-page/my-dspace.guard.ts index 094397b2c1..75c9bd3b44 100644 --- a/src/app/my-dspace-page/my-dspace.guard.ts +++ b/src/app/my-dspace-page/my-dspace.guard.ts @@ -1,12 +1,21 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, CanActivate, NavigationExtras, Router, RouterStateSnapshot } from '@angular/router'; - +import { + ActivatedRouteSnapshot, + CanActivate, + NavigationExtras, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { first, map } from 'rxjs/operators'; +import { + first, + map, +} from 'rxjs/operators'; + import { isEmpty } from '../shared/empty.util'; -import { MYDSPACE_ROUTE } from './my-dspace-page.component'; -import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type'; import { MyDSpaceConfigurationService } from './my-dspace-configuration.service'; +import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type'; +import { MYDSPACE_ROUTE } from './my-dspace-page.component'; /** * Prevent unauthorized activating and loading of mydspace configuration diff --git a/src/app/my-dspace-page/themed-my-dspace-page.component.ts b/src/app/my-dspace-page/themed-my-dspace-page.component.ts index c00b1ff811..4a756abab7 100644 --- a/src/app/my-dspace-page/themed-my-dspace-page.component.ts +++ b/src/app/my-dspace-page/themed-my-dspace-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { MyDSpacePageComponent } from './my-dspace-page.component'; diff --git a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.spec.ts b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.spec.ts index c1d454dfa4..132608c6e6 100644 --- a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.spec.ts +++ b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.spec.ts @@ -1,15 +1,19 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - -import { ExpandableNavbarSectionComponent } from './expandable-navbar-section.component'; -import { By } from '@angular/platform-browser'; -import { MenuServiceStub } from '../../shared/testing/menu-service.stub'; import { Component } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; + import { HostWindowService } from '../../shared/host-window.service'; import { MenuService } from '../../shared/menu/menu.service'; import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { MenuServiceStub } from '../../shared/testing/menu-service.stub'; import { VarDirective } from '../../shared/utils/var.directive'; +import { ExpandableNavbarSectionComponent } from './expandable-navbar-section.component'; describe('ExpandableNavbarSectionComponent', () => { let component: ExpandableNavbarSectionComponent; diff --git a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts index 6252d9634e..e909d3bfe1 100644 --- a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts +++ b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts @@ -1,11 +1,17 @@ -import { Component, Inject, Injector, OnInit } from '@angular/core'; -import { NavbarSectionComponent } from '../navbar-section/navbar-section.component'; -import { MenuService } from '../../shared/menu/menu.service'; -import { slide } from '../../shared/animations/slide'; +import { + Component, + Inject, + Injector, + OnInit, +} from '@angular/core'; import { first } from 'rxjs/operators'; + +import { slide } from '../../shared/animations/slide'; import { HostWindowService } from '../../shared/host-window.service'; -import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator'; +import { MenuService } from '../../shared/menu/menu.service'; import { MenuID } from '../../shared/menu/menu-id.model'; +import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator'; +import { NavbarSectionComponent } from '../navbar-section/navbar-section.component'; /** * Represents an expandable section in the navbar diff --git a/src/app/navbar/expandable-navbar-section/themed-expandable-navbar-section.component.ts b/src/app/navbar/expandable-navbar-section/themed-expandable-navbar-section.component.ts index e33dca4104..5a929436f3 100644 --- a/src/app/navbar/expandable-navbar-section/themed-expandable-navbar-section.component.ts +++ b/src/app/navbar/expandable-navbar-section/themed-expandable-navbar-section.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { MenuID } from '../../shared/menu/menu-id.model'; +import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ExpandableNavbarSectionComponent } from './expandable-navbar-section.component'; -import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator'; -import { MenuID } from '../../shared/menu/menu-id.model'; /** * Themed wrapper for ExpandableNavbarSectionComponent diff --git a/src/app/navbar/navbar-section/navbar-section.component.spec.ts b/src/app/navbar/navbar-section/navbar-section.component.spec.ts index 5d08b4fa61..52c734965a 100644 --- a/src/app/navbar/navbar-section/navbar-section.component.spec.ts +++ b/src/app/navbar/navbar-section/navbar-section.component.spec.ts @@ -1,13 +1,17 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - -import { NavbarSectionComponent } from './navbar-section.component'; -import { HostWindowService } from '../../shared/host-window.service'; +import { Component } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; + +import { HostWindowService } from '../../shared/host-window.service'; import { MenuService } from '../../shared/menu/menu.service'; import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; -import { Component } from '@angular/core'; import { MenuServiceStub } from '../../shared/testing/menu-service.stub'; -import { of as observableOf } from 'rxjs'; +import { NavbarSectionComponent } from './navbar-section.component'; describe('NavbarSectionComponent', () => { let component: NavbarSectionComponent; diff --git a/src/app/navbar/navbar-section/navbar-section.component.ts b/src/app/navbar/navbar-section/navbar-section.component.ts index d7c46378c7..db97e815c7 100644 --- a/src/app/navbar/navbar-section/navbar-section.component.ts +++ b/src/app/navbar/navbar-section/navbar-section.component.ts @@ -1,8 +1,14 @@ -import { Component, Inject, Injector, OnInit } from '@angular/core'; -import { MenuSectionComponent } from '../../shared/menu/menu-section/menu-section.component'; +import { + Component, + Inject, + Injector, + OnInit, +} from '@angular/core'; + import { MenuService } from '../../shared/menu/menu.service'; -import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator'; import { MenuID } from '../../shared/menu/menu-id.model'; +import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator'; +import { MenuSectionComponent } from '../../shared/menu/menu-section/menu-section.component'; /** * Represents a non-expandable section in the navbar diff --git a/src/app/navbar/navbar.component.spec.ts b/src/app/navbar/navbar.component.spec.ts index 749f436b5f..7dc70a8e25 100644 --- a/src/app/navbar/navbar.component.spec.ts +++ b/src/app/navbar/navbar.component.spec.ts @@ -1,35 +1,50 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; - -import { of as observableOf } from 'rxjs'; - -import { NavbarComponent } from './navbar.component'; +import { + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; -import { HostWindowService } from '../shared/host-window.service'; -import { HostWindowServiceStub } from '../shared/testing/host-window-service.stub'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { MenuService } from '../shared/menu/menu.service'; -import { MenuServiceStub } from '../shared/testing/menu-service.stub'; import { ActivatedRoute } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { BrowseService } from '../core/browse/browse.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { buildPaginatedList } from '../core/data/paginated-list.model'; -import { BrowseByDataType } from '../browse-by/browse-by-switcher/browse-by-decorator'; -import { Item } from '../core/shared/item.model'; -import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; -import { ThemeService } from '../shared/theme-support/theme.service'; -import { getMockThemeService } from '../shared/mocks/theme-service.mock'; -import { Store, StoreModule } from '@ngrx/store'; -import { AppState, storeModuleConfig } from '../app.reducer'; -import { authReducer } from '../core/auth/auth.reducer'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { + AppState, + storeModuleConfig, +} from '../app.reducer'; +import { BrowseByDataType } from '../browse-by/browse-by-switcher/browse-by-decorator'; +import { authReducer } from '../core/auth/auth.reducer'; import { AuthTokenInfo } from '../core/auth/models/auth-token-info.model'; -import { EPersonMock } from '../shared/testing/eperson.mock'; +import { BrowseService } from '../core/browse/browse.service'; +import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { buildPaginatedList } from '../core/data/paginated-list.model'; import { FlatBrowseDefinition } from '../core/shared/flat-browse-definition.model'; -import { ValueListBrowseDefinition } from '../core/shared/value-list-browse-definition.model'; import { HierarchicalBrowseDefinition } from '../core/shared/hierarchical-browse-definition.model'; +import { Item } from '../core/shared/item.model'; +import { ValueListBrowseDefinition } from '../core/shared/value-list-browse-definition.model'; +import { HostWindowService } from '../shared/host-window.service'; +import { MenuService } from '../shared/menu/menu.service'; +import { getMockThemeService } from '../shared/mocks/theme-service.mock'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../shared/remote-data.utils'; +import { EPersonMock } from '../shared/testing/eperson.mock'; +import { HostWindowServiceStub } from '../shared/testing/host-window-service.stub'; +import { MenuServiceStub } from '../shared/testing/menu-service.stub'; +import { ThemeService } from '../shared/theme-support/theme.service'; +import { NavbarComponent } from './navbar.component'; let comp: NavbarComponent; let fixture: ComponentFixture; diff --git a/src/app/navbar/navbar.component.ts b/src/app/navbar/navbar.component.ts index b68a8b0c24..3b28f56529 100644 --- a/src/app/navbar/navbar.component.ts +++ b/src/app/navbar/navbar.component.ts @@ -1,17 +1,24 @@ -import { Component, Injector } from '@angular/core'; -import { slideMobileNav } from '../shared/animations/slide'; -import { MenuComponent } from '../shared/menu/menu.component'; -import { MenuService } from '../shared/menu/menu.service'; -import { HostWindowService } from '../shared/host-window.service'; -import { BrowseService } from '../core/browse/browse.service'; +import { + Component, + Injector, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; -import { MenuID } from '../shared/menu/menu-id.model'; -import { ThemeService } from '../shared/theme-support/theme.service'; +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { select, Store } from '@ngrx/store'; + import { AppState } from '../app.reducer'; import { isAuthenticated } from '../core/auth/selectors'; +import { BrowseService } from '../core/browse/browse.service'; +import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { slideMobileNav } from '../shared/animations/slide'; +import { HostWindowService } from '../shared/host-window.service'; +import { MenuComponent } from '../shared/menu/menu.component'; +import { MenuService } from '../shared/menu/menu.service'; +import { MenuID } from '../shared/menu/menu-id.model'; +import { ThemeService } from '../shared/theme-support/theme.service'; /** * Component representing the public navbar diff --git a/src/app/navbar/navbar.effects.spec.ts b/src/app/navbar/navbar.effects.spec.ts index 787ecafeec..d01eef5051 100644 --- a/src/app/navbar/navbar.effects.spec.ts +++ b/src/app/navbar/navbar.effects.spec.ts @@ -1,14 +1,18 @@ import { TestBed } from '@angular/core/testing'; -import { NavbarEffects } from './navbar.effects'; -import { HostWindowResizeAction } from '../shared/host-window.actions'; -import { Observable } from 'rxjs'; import { provideMockActions } from '@ngrx/effects/testing'; -import { cold, hot } from 'jasmine-marbles'; import { ROUTER_NAVIGATION } from '@ngrx/router-store'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { Observable } from 'rxjs'; + +import { HostWindowResizeAction } from '../shared/host-window.actions'; import { CollapseMenuAction } from '../shared/menu/menu.actions'; import { MenuService } from '../shared/menu/menu.service'; -import { MenuServiceStub } from '../shared/testing/menu-service.stub'; import { MenuID } from '../shared/menu/menu-id.model'; +import { MenuServiceStub } from '../shared/testing/menu-service.stub'; +import { NavbarEffects } from './navbar.effects'; describe('NavbarEffects', () => { let navbarEffects: NavbarEffects; diff --git a/src/app/navbar/navbar.effects.ts b/src/app/navbar/navbar.effects.ts index 156827725b..a40c2c99d6 100644 --- a/src/app/navbar/navbar.effects.ts +++ b/src/app/navbar/navbar.effects.ts @@ -1,7 +1,15 @@ -import { first, map, switchMap } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; import { ROUTER_NAVIGATION } from '@ngrx/router-store'; +import { + first, + map, + switchMap, +} from 'rxjs/operators'; import { HostWindowActionTypes } from '../shared/host-window.actions'; import { @@ -10,9 +18,9 @@ import { MenuActionTypes, } from '../shared/menu/menu.actions'; import { MenuService } from '../shared/menu/menu.service'; -import { NoOpAction } from '../shared/ngrx/no-op.action'; -import { MenuState } from '../shared/menu/menu-state.model'; import { MenuID } from '../shared/menu/menu-id.model'; +import { MenuState } from '../shared/menu/menu-state.model'; +import { NoOpAction } from '../shared/ngrx/no-op.action'; @Injectable() export class NavbarEffects { diff --git a/src/app/navbar/navbar.module.ts b/src/app/navbar/navbar.module.ts index 78373b8cdd..75ccadbb90 100644 --- a/src/app/navbar/navbar.module.ts +++ b/src/app/navbar/navbar.module.ts @@ -1,17 +1,16 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; - +import { FormsModule } from '@angular/forms'; import { EffectsModule } from '@ngrx/effects'; import { CoreModule } from '../core/core.module'; -import { NavbarEffects } from './navbar.effects'; -import { NavbarSectionComponent } from './navbar-section/navbar-section.component'; +import { MenuModule } from '../shared/menu/menu.module'; +import { SharedModule } from '../shared/shared.module'; import { ExpandableNavbarSectionComponent } from './expandable-navbar-section/expandable-navbar-section.component'; import { ThemedExpandableNavbarSectionComponent } from './expandable-navbar-section/themed-expandable-navbar-section.component'; import { NavbarComponent } from './navbar.component'; -import { MenuModule } from '../shared/menu/menu.module'; -import { SharedModule } from '../shared/shared.module'; -import { FormsModule } from '@angular/forms'; +import { NavbarEffects } from './navbar.effects'; +import { NavbarSectionComponent } from './navbar-section/navbar-section.component'; import { ThemedNavbarComponent } from './themed-navbar.component'; const effects = [ diff --git a/src/app/navbar/themed-navbar.component.ts b/src/app/navbar/themed-navbar.component.ts index 43efdc181e..5a33fe517e 100644 --- a/src/app/navbar/themed-navbar.component.ts +++ b/src/app/navbar/themed-navbar.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { NavbarComponent } from './navbar.component'; diff --git a/src/app/page-error/page-error.component.spec.ts b/src/app/page-error/page-error.component.spec.ts index 9b43e837d2..7361935af3 100644 --- a/src/app/page-error/page-error.component.spec.ts +++ b/src/app/page-error/page-error.component.spec.ts @@ -1,11 +1,19 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { PageErrorComponent } from './page-error.component'; -import { ActivatedRoute } from '@angular/router'; -import { ActivatedRouteStub } from '../shared/testing/active-router.stub'; -import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { ActivatedRoute } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ActivatedRouteStub } from '../shared/testing/active-router.stub'; import { TranslateLoaderMock } from '../shared/testing/translate-loader.mock'; +import { PageErrorComponent } from './page-error.component'; describe('PageErrorComponent', () => { let component: PageErrorComponent; diff --git a/src/app/page-error/page-error.component.ts b/src/app/page-error/page-error.component.ts index 1503462066..06d566f59c 100644 --- a/src/app/page-error/page-error.component.ts +++ b/src/app/page-error/page-error.component.ts @@ -1,4 +1,7 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; /** diff --git a/src/app/page-error/themed-page-error.component.ts b/src/app/page-error/themed-page-error.component.ts index 3bfc6bf1a1..517ca45206 100644 --- a/src/app/page-error/themed-page-error.component.ts +++ b/src/app/page-error/themed-page-error.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { PageErrorComponent } from './page-error.component'; diff --git a/src/app/page-internal-server-error/page-internal-server-error.component.ts b/src/app/page-internal-server-error/page-internal-server-error.component.ts index 1763947a40..bba313d6d2 100644 --- a/src/app/page-internal-server-error/page-internal-server-error.component.ts +++ b/src/app/page-internal-server-error/page-internal-server-error.component.ts @@ -1,4 +1,8 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { ServerResponseService } from '../core/services/server-response.service'; /** diff --git a/src/app/page-internal-server-error/themed-page-internal-server-error.component.ts b/src/app/page-internal-server-error/themed-page-internal-server-error.component.ts index a5f9101b69..157047688e 100644 --- a/src/app/page-internal-server-error/themed-page-internal-server-error.component.ts +++ b/src/app/page-internal-server-error/themed-page-internal-server-error.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { PageInternalServerErrorComponent } from './page-internal-server-error.component'; diff --git a/src/app/pagenotfound/pagenotfound.component.ts b/src/app/pagenotfound/pagenotfound.component.ts index 0d87dd35c4..dcbfed48b4 100644 --- a/src/app/pagenotfound/pagenotfound.component.ts +++ b/src/app/pagenotfound/pagenotfound.component.ts @@ -1,6 +1,11 @@ -import { ServerResponseService } from '../core/services/server-response.service'; -import { Component, ChangeDetectionStrategy, OnInit } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + OnInit, +} from '@angular/core'; + import { AuthService } from '../core/auth/auth.service'; +import { ServerResponseService } from '../core/services/server-response.service'; /** * This component representing the `PageNotFound` DSpace page. diff --git a/src/app/pagenotfound/themed-pagenotfound.component.ts b/src/app/pagenotfound/themed-pagenotfound.component.ts index 3d284b1d6d..ba3372411a 100644 --- a/src/app/pagenotfound/themed-pagenotfound.component.ts +++ b/src/app/pagenotfound/themed-pagenotfound.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { PageNotFoundComponent } from './pagenotfound.component'; diff --git a/src/app/process-page/detail/process-detail-field/process-detail-field.component.spec.ts b/src/app/process-page/detail/process-detail-field/process-detail-field.component.spec.ts index da0754a10f..82979a58d0 100644 --- a/src/app/process-page/detail/process-detail-field/process-detail-field.component.spec.ts +++ b/src/app/process-page/detail/process-detail-field/process-detail-field.component.spec.ts @@ -1,10 +1,15 @@ -import { ProcessDetailFieldComponent } from './process-detail-field.component'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { VarDirective } from '../../../shared/utils/var.directive'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { By } from '@angular/platform-browser'; + +import { VarDirective } from '../../../shared/utils/var.directive'; +import { ProcessDetailFieldComponent } from './process-detail-field.component'; describe('ProcessDetailFieldComponent', () => { let component: ProcessDetailFieldComponent; diff --git a/src/app/process-page/detail/process-detail-field/process-detail-field.component.ts b/src/app/process-page/detail/process-detail-field/process-detail-field.component.ts index f8015b6788..7cb38653f4 100644 --- a/src/app/process-page/detail/process-detail-field/process-detail-field.component.ts +++ b/src/app/process-page/detail/process-detail-field/process-detail-field.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; @Component({ selector: 'ds-process-detail-field', diff --git a/src/app/process-page/detail/process-detail.component.spec.ts b/src/app/process-page/detail/process-detail.component.spec.ts index 5c0a72becc..86b9358cd2 100644 --- a/src/app/process-page/detail/process-detail.component.spec.ts +++ b/src/app/process-page/detail/process-detail.component.spec.ts @@ -1,10 +1,6 @@ import { HttpClient } from '@angular/common/http'; -import { AuthService } from '../../core/auth/auth.service'; -import { BitstreamDataService } from '../../core/data/bitstream-data.service'; -import { AuthServiceMock } from '../../shared/mocks/auth.service.mock'; -import { ProcessDetailComponent } from './process-detail.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { - waitForAsync, ComponentFixture, discardPeriodicTasks, fakeAsync, @@ -12,30 +8,38 @@ import { flushMicrotasks, TestBed, tick, + waitForAsync, } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ProcessDetailFieldComponent } from './process-detail-field/process-detail-field.component'; -import { Process } from '../processes/process.model'; -import { ActivatedRoute, Router } from '@angular/router'; -import { of as observableOf } from 'rxjs'; import { By } from '@angular/platform-browser'; -import { FileSizePipe } from '../../shared/utils/file-size-pipe'; -import { Bitstream } from '../../core/shared/bitstream.model'; -import { ProcessDataService } from '../../core/data/processes/process-data.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { BitstreamDataService } from '../../core/data/bitstream-data.service'; +import { ProcessDataService } from '../../core/data/processes/process-data.service'; +import { Bitstream } from '../../core/shared/bitstream.model'; +import { AuthServiceMock } from '../../shared/mocks/auth.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { FileSizePipe } from '../../shared/utils/file-size-pipe'; +import { VarDirective } from '../../shared/utils/var.directive'; import { getProcessListRoute } from '../process-page-routing.paths'; +import { Process } from '../processes/process.model'; import {ProcessStatus} from '../processes/process-status.model'; +import { ProcessDetailComponent } from './process-detail.component'; +import { ProcessDetailFieldComponent } from './process-detail-field/process-detail-field.component'; describe('ProcessDetailComponent', () => { let component: ProcessDetailComponent; diff --git a/src/app/process-page/detail/process-detail.component.ts b/src/app/process-page/detail/process-detail.component.ts index 85e6b503a9..05ce9eb3b6 100644 --- a/src/app/process-page/detail/process-detail.component.ts +++ b/src/app/process-page/detail/process-detail.component.ts @@ -1,14 +1,44 @@ +import { isPlatformBrowser } from '@angular/common'; import { HttpClient } from '@angular/common/http'; -import { Component, Inject, NgZone, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { BehaviorSubject, interval, Observable, shareReplay, Subscription } from 'rxjs'; -import { finalize, map, switchMap, take, tap } from 'rxjs/operators'; +import { + Component, + Inject, + NgZone, + OnDestroy, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + interval, + Observable, + shareReplay, + Subscription, +} from 'rxjs'; +import { + finalize, + map, + switchMap, + take, + tap, +} from 'rxjs/operators'; + import { AuthService } from '../../core/auth/auth.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { BitstreamDataService } from '../../core/data/bitstream-data.service'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { ProcessDataService } from '../../core/data/processes/process-data.service'; import { RemoteData } from '../../core/data/remote-data'; +import { redirectOn4xx } from '../../core/shared/authorized.operators'; import { Bitstream } from '../../core/shared/bitstream.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { @@ -19,15 +49,11 @@ import { import { URLCombiner } from '../../core/url-combiner/url-combiner'; import { AlertType } from '../../shared/alert/aletr-type'; import { hasValue } from '../../shared/empty.util'; -import { ProcessStatus } from '../processes/process-status.model'; -import { Process } from '../processes/process.model'; -import { redirectOn4xx } from '../../core/shared/authorized.operators'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; -import { getProcessListRoute } from '../process-page-routing.paths'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; import { followLink } from '../../shared/utils/follow-link-config.model'; -import { isPlatformBrowser } from '@angular/common'; +import { getProcessListRoute } from '../process-page-routing.paths'; +import { Process } from '../processes/process.model'; +import { ProcessStatus } from '../processes/process-status.model'; @Component({ selector: 'ds-process-detail', diff --git a/src/app/process-page/form/process-form.component.spec.ts b/src/app/process-page/form/process-form.component.spec.ts index 3b0135ca63..ec1b794324 100644 --- a/src/app/process-page/form/process-form.component.spec.ts +++ b/src/app/process-page/form/process-form.component.spec.ts @@ -1,19 +1,26 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ProcessFormComponent } from './process-form.component'; -import { ScriptDataService } from '../../core/data/processes/script-data.service'; -import { ScriptParameter } from '../scripts/script-parameter.model'; -import { Script } from '../scripts/script.model'; -import { ProcessParameter } from '../processes/process-parameter.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { of as observableOf } from 'rxjs'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { RequestService } from '../../core/data/request.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { ScriptDataService } from '../../core/data/processes/script-data.service'; +import { RequestService } from '../../core/data/request.service'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { ProcessParameter } from '../processes/process-parameter.model'; +import { Script } from '../scripts/script.model'; +import { ScriptParameter } from '../scripts/script-parameter.model'; +import { ProcessFormComponent } from './process-form.component'; describe('ProcessFormComponent', () => { let component: ProcessFormComponent; diff --git a/src/app/process-page/form/process-form.component.ts b/src/app/process-page/form/process-form.component.ts index be1133c2be..ef13f84d9f 100644 --- a/src/app/process-page/form/process-form.component.ts +++ b/src/app/process-page/form/process-form.component.ts @@ -1,18 +1,26 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Script } from '../scripts/script.model'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; +import { Router } from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; + +import { ScriptDataService } from '../../core/data/processes/script-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { RequestService } from '../../core/data/request.service'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { isEmpty } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { getProcessListRoute } from '../process-page-routing.paths'; import { Process } from '../processes/process.model'; import { ProcessParameter } from '../processes/process-parameter.model'; -import { ScriptDataService } from '../../core/data/processes/script-data.service'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { Script } from '../scripts/script.model'; import { ScriptParameter } from '../scripts/script-parameter.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { RequestService } from '../../core/data/request.service'; -import { Router } from '@angular/router'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { getProcessListRoute } from '../process-page-routing.paths'; -import { isEmpty } from '../../shared/empty.util'; /** * Component to create a new script diff --git a/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.spec.ts b/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.spec.ts index b8065b8d87..96652a7e44 100644 --- a/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.spec.ts +++ b/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.spec.ts @@ -1,11 +1,15 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ParameterSelectComponent } from './parameter-select.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; + import { ScriptParameter } from '../../../scripts/script-parameter.model'; import { ScriptParameterType } from '../../../scripts/script-parameter-type.model'; -import { By } from '@angular/platform-browser'; +import { ParameterSelectComponent } from './parameter-select.component'; describe('ParameterSelectComponent', () => { let component: ParameterSelectComponent; diff --git a/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.ts b/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.ts index 6f7ce438c7..95a8109d51 100644 --- a/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.ts +++ b/src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.ts @@ -1,7 +1,17 @@ -import { Component, EventEmitter, Input, Optional, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Optional, + Output, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; + import { ProcessParameter } from '../../../processes/process-parameter.model'; import { ScriptParameter } from '../../../scripts/script-parameter.model'; -import { ControlContainer, NgForm } from '@angular/forms'; import { controlContainerFactory } from '../../process-form.component'; /** diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.spec.ts b/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.spec.ts index 4efaf5248c..85fae59ca1 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.spec.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.spec.ts @@ -1,4 +1,8 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { BooleanValueInputComponent } from './boolean-value-input.component'; diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.ts b/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.ts index 97726aaec5..93aca5cb99 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.ts @@ -1,7 +1,15 @@ -import { Component, OnInit, Optional } from '@angular/core'; -import { ValueInputComponent } from '../value-input.component'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { + Component, + OnInit, + Optional, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; + import { controlContainerFactory } from '../../../process-form.component'; +import { ValueInputComponent } from '../value-input.component'; /** * Represents the value of a boolean parameter diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.spec.ts b/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.spec.ts index 70d59d2459..33b90d554b 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.spec.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.spec.ts @@ -1,10 +1,19 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; - -import { DateValueInputComponent } from './date-value-input.component'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { TranslateLoaderMock } from '../../../../../shared/mocks/translate-loader.mock'; +import { DateValueInputComponent } from './date-value-input.component'; describe('DateValueInputComponent', () => { let component: DateValueInputComponent; diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.ts b/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.ts index d80be95755..1dcedb6e79 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.ts @@ -1,7 +1,15 @@ -import { Component, Input, Optional } from '@angular/core'; -import { ValueInputComponent } from '../value-input.component'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { + Component, + Input, + Optional, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; + import { controlContainerFactory } from '../../../process-form.component'; +import { ValueInputComponent } from '../value-input.component'; /** * Represents the user inputted value of a date parameter diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.spec.ts b/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.spec.ts index 04742bb2c5..5271a34d8d 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.spec.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.spec.ts @@ -1,13 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - -import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { By } from '@angular/platform-browser'; -import { FileValueInputComponent } from './file-value-input.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { TranslateLoaderMock } from '../../../../../shared/mocks/translate-loader.mock'; import { FileValueAccessorDirective } from '../../../../../shared/utils/file-value-accessor.directive'; import { FileValidator } from '../../../../../shared/utils/require-file.validator'; -import { TranslateLoaderMock } from '../../../../../shared/mocks/translate-loader.mock'; +import { FileValueInputComponent } from './file-value-input.component'; describe('FileValueInputComponent', () => { let component: FileValueInputComponent; diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.ts b/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.ts index d26586cc43..451860f10f 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.ts @@ -1,7 +1,14 @@ -import { Component, Optional } from '@angular/core'; -import { ValueInputComponent } from '../value-input.component'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { + Component, + Optional, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; + import { controlContainerFactory } from '../../../process-form.component'; +import { ValueInputComponent } from '../value-input.component'; /** * Represents the user inputted value of a file parameter diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.spec.ts b/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.spec.ts index 3c63859dd8..cde98f835e 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.spec.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.spec.ts @@ -1,19 +1,26 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ParameterValueInputComponent } from './parameter-value-input.component'; -import { ScriptParameter } from '../../../scripts/script-parameter.model'; -import { ScriptParameterType } from '../../../scripts/script-parameter-type.model'; -import { By } from '@angular/platform-browser'; -import { BooleanValueInputComponent } from './boolean-value-input/boolean-value-input.component'; -import { StringValueInputComponent } from './string-value-input/string-value-input.component'; -import { FileValueInputComponent } from './file-value-input/file-value-input.component'; -import { DateValueInputComponent } from './date-value-input/date-value-input.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; import { FileValueAccessorDirective } from '../../../../shared/utils/file-value-accessor.directive'; import { FileValidator } from '../../../../shared/utils/require-file.validator'; -import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; +import { ScriptParameter } from '../../../scripts/script-parameter.model'; +import { ScriptParameterType } from '../../../scripts/script-parameter-type.model'; +import { BooleanValueInputComponent } from './boolean-value-input/boolean-value-input.component'; +import { DateValueInputComponent } from './date-value-input/date-value-input.component'; +import { FileValueInputComponent } from './file-value-input/file-value-input.component'; +import { ParameterValueInputComponent } from './parameter-value-input.component'; +import { StringValueInputComponent } from './string-value-input/string-value-input.component'; describe('ParameterValueInputComponent', () => { let component: ParameterValueInputComponent; diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.ts b/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.ts index 2acd2aab68..5d6c59962e 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.ts @@ -1,7 +1,17 @@ -import { Component, EventEmitter, Input, Optional, Output } from '@angular/core'; -import { ScriptParameterType } from '../../../scripts/script-parameter-type.model'; +import { + Component, + EventEmitter, + Input, + Optional, + Output, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; + import { ScriptParameter } from '../../../scripts/script-parameter.model'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { ScriptParameterType } from '../../../scripts/script-parameter-type.model'; import { controlContainerFactory } from '../../process-form.component'; /** diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.spec.ts b/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.spec.ts index c187dbde9f..224623a5ee 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.spec.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.spec.ts @@ -1,10 +1,19 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; - +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { By } from '@angular/platform-browser'; -import { StringValueInputComponent } from './string-value-input.component'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { TranslateLoaderMock } from '../../../../../shared/mocks/translate-loader.mock'; +import { StringValueInputComponent } from './string-value-input.component'; describe('StringValueInputComponent', () => { let component: StringValueInputComponent; diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.ts b/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.ts index 2ac28d4fe6..362eaf07cc 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.ts @@ -1,7 +1,15 @@ -import { Component, Optional, Input } from '@angular/core'; -import { ValueInputComponent } from '../value-input.component'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { + Component, + Input, + Optional, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; + import { controlContainerFactory } from '../../../process-form.component'; +import { ValueInputComponent } from '../value-input.component'; /** * Represents the user inputted value of a string parameter diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts b/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts index a627952828..d224c4f0cd 100644 --- a/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts +++ b/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts @@ -1,4 +1,9 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; /** * Abstract class that represents value input components diff --git a/src/app/process-page/form/process-parameters/process-parameters.component.spec.ts b/src/app/process-page/form/process-parameters/process-parameters.component.spec.ts index d983802ae1..4231892588 100644 --- a/src/app/process-page/form/process-parameters/process-parameters.component.spec.ts +++ b/src/app/process-page/form/process-parameters/process-parameters.component.spec.ts @@ -1,15 +1,22 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ProcessParametersComponent } from './process-parameters.component'; -import { ProcessParameter } from '../../processes/process-parameter.model'; -import { By } from '@angular/platform-browser'; -import { ParameterSelectComponent } from './parameter-select/parameter-select.component'; -import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { ProcessParameter } from '../../processes/process-parameter.model'; import { Script } from '../../scripts/script.model'; import { ScriptParameter } from '../../scripts/script-parameter.model'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { ParameterSelectComponent } from './parameter-select/parameter-select.component'; +import { ProcessParametersComponent } from './process-parameters.component'; describe('ProcessParametersComponent', () => { let component: ProcessParametersComponent; diff --git a/src/app/process-page/form/process-parameters/process-parameters.component.ts b/src/app/process-page/form/process-parameters/process-parameters.component.ts index f69ef34187..b5ed225480 100644 --- a/src/app/process-page/form/process-parameters/process-parameters.component.ts +++ b/src/app/process-page/form/process-parameters/process-parameters.component.ts @@ -1,8 +1,20 @@ -import { Component, EventEmitter, Input, OnChanges, Optional, Output, SimpleChanges } from '@angular/core'; -import { Script } from '../../scripts/script.model'; -import { ProcessParameter } from '../../processes/process-parameter.model'; +import { + Component, + EventEmitter, + Input, + OnChanges, + Optional, + Output, + SimpleChanges, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; + import { hasValue } from '../../../shared/empty.util'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { ProcessParameter } from '../../processes/process-parameter.model'; +import { Script } from '../../scripts/script.model'; import { ScriptParameter } from '../../scripts/script-parameter.model'; import { controlContainerFactory } from '../process-form.component'; diff --git a/src/app/process-page/form/script-help/script-help.component.spec.ts b/src/app/process-page/form/script-help/script-help.component.spec.ts index 71075e7ea9..e3f95e066e 100644 --- a/src/app/process-page/form/script-help/script-help.component.spec.ts +++ b/src/app/process-page/form/script-help/script-help.component.spec.ts @@ -1,14 +1,21 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ScriptHelpComponent } from './script-help.component'; -import { ScriptParameter } from '../../scripts/script-parameter.model'; -import { Script } from '../../scripts/script.model'; -import { ScriptParameterType } from '../../scripts/script-parameter-type.model'; -import { By } from '@angular/platform-browser'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { Script } from '../../scripts/script.model'; +import { ScriptParameter } from '../../scripts/script-parameter.model'; +import { ScriptParameterType } from '../../scripts/script-parameter-type.model'; +import { ScriptHelpComponent } from './script-help.component'; describe('ScriptHelpComponent', () => { let component: ScriptHelpComponent; diff --git a/src/app/process-page/form/script-help/script-help.component.ts b/src/app/process-page/form/script-help/script-help.component.ts index 290e1de44e..779c5b781a 100644 --- a/src/app/process-page/form/script-help/script-help.component.ts +++ b/src/app/process-page/form/script-help/script-help.component.ts @@ -1,4 +1,8 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + import { Script } from '../../scripts/script.model'; import { ScriptParameterType } from '../../scripts/script-parameter-type.model'; diff --git a/src/app/process-page/form/scripts-select/scripts-select.component.spec.ts b/src/app/process-page/form/scripts-select/scripts-select.component.spec.ts index f92ab52623..819909b3ed 100644 --- a/src/app/process-page/form/scripts-select/scripts-select.component.spec.ts +++ b/src/app/process-page/form/scripts-select/scripts-select.component.spec.ts @@ -1,18 +1,30 @@ -import { waitForAsync, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; - -import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { By } from '@angular/platform-browser'; -import { ScriptsSelectComponent } from './scripts-select.component'; -import { Script } from '../../scripts/script.model'; -import { ScriptDataService } from '../../../core/data/processes/script-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; +import { ScriptDataService } from '../../../core/data/processes/script-data.service'; import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; -import { RouterStub } from '../../../shared/testing/router.stub'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { Script } from '../../scripts/script.model'; +import { ScriptsSelectComponent } from './scripts-select.component'; describe('ScriptsSelectComponent', () => { let component: ScriptsSelectComponent; diff --git a/src/app/process-page/form/scripts-select/scripts-select.component.ts b/src/app/process-page/form/scripts-select/scripts-select.component.ts index 6ad824f021..c657f7e16c 100644 --- a/src/app/process-page/form/scripts-select/scripts-select.component.ts +++ b/src/app/process-page/form/scripts-select/scripts-select.component.ts @@ -1,13 +1,44 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Optional, Output } from '@angular/core'; -import { ScriptDataService } from '../../../core/data/processes/script-data.service'; -import { Script } from '../../scripts/script.model'; -import { Observable, Subscription } from 'rxjs'; -import { distinctUntilChanged, filter, map, switchMap, take } from 'rxjs/operators'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../../../core/shared/operators'; +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Optional, + Output, +} from '@angular/core'; +import { + ControlContainer, + NgForm, +} from '@angular/forms'; +import { + ActivatedRoute, + Params, + Router, +} from '@angular/router'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { ActivatedRoute, Params, Router } from '@angular/router'; -import { hasNoValue, hasValue } from '../../../shared/empty.util'; -import { ControlContainer, NgForm } from '@angular/forms'; +import { ScriptDataService } from '../../../core/data/processes/script-data.service'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { + hasNoValue, + hasValue, +} from '../../../shared/empty.util'; +import { Script } from '../../scripts/script.model'; import { controlContainerFactory } from '../process-form.component'; const SCRIPT_QUERY_PARAMETER = 'script'; diff --git a/src/app/process-page/new/new-process.component.spec.ts b/src/app/process-page/new/new-process.component.spec.ts index ce8acdc089..1c76dc2381 100644 --- a/src/app/process-page/new/new-process.component.spec.ts +++ b/src/app/process-page/new/new-process.component.spec.ts @@ -1,22 +1,29 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { FormsModule } from '@angular/forms'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { NewProcessComponent } from './new-process.component'; -import { ScriptDataService } from '../../core/data/processes/script-data.service'; -import { ScriptParameter } from '../scripts/script-parameter.model'; -import { Script } from '../scripts/script.model'; -import { ProcessParameter } from '../processes/process-parameter.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { of as observableOf } from 'rxjs'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { RequestService } from '../../core/data/request.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { LinkService } from '../../core/cache/builders/link.service'; -import { VarDirective } from '../../shared/utils/var.directive'; import { ProcessDataService } from '../../core/data/processes/process-data.service'; +import { ScriptDataService } from '../../core/data/processes/script-data.service'; +import { RequestService } from '../../core/data/request.service'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { ProcessParameter } from '../processes/process-parameter.model'; +import { Script } from '../scripts/script.model'; +import { ScriptParameter } from '../scripts/script-parameter.model'; +import { NewProcessComponent } from './new-process.component'; describe('NewProcessComponent', () => { let component: NewProcessComponent; diff --git a/src/app/process-page/new/new-process.component.ts b/src/app/process-page/new/new-process.component.ts index ecdfa65831..035600eedb 100644 --- a/src/app/process-page/new/new-process.component.ts +++ b/src/app/process-page/new/new-process.component.ts @@ -1,12 +1,19 @@ -import { Component, OnInit } from '@angular/core'; -import { Process } from '../processes/process.model'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { Observable } from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { LinkService } from '../../core/cache/builders/link.service'; import { ProcessDataService } from '../../core/data/processes/process-data.service'; import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { Observable } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; -import { LinkService } from '../../core/cache/builders/link.service'; import { followLink } from '../../shared/utils/follow-link-config.model'; +import { Process } from '../processes/process.model'; import { Script } from '../scripts/script.model'; /** diff --git a/src/app/process-page/overview/process-bulk-delete.service.spec.ts b/src/app/process-page/overview/process-bulk-delete.service.spec.ts index e95cec0d1d..d5643aa7d0 100644 --- a/src/app/process-page/overview/process-bulk-delete.service.spec.ts +++ b/src/app/process-page/overview/process-bulk-delete.service.spec.ts @@ -1,8 +1,12 @@ -import { ProcessBulkDeleteService } from './process-bulk-delete.service'; import { waitForAsync } from '@angular/core/testing'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; + import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { ProcessBulkDeleteService } from './process-bulk-delete.service'; describe('ProcessBulkDeleteService', () => { diff --git a/src/app/process-page/overview/process-bulk-delete.service.ts b/src/app/process-page/overview/process-bulk-delete.service.ts index 61cab1f053..2b67936a2f 100644 --- a/src/app/process-page/overview/process-bulk-delete.service.ts +++ b/src/app/process-page/overview/process-bulk-delete.service.ts @@ -1,13 +1,22 @@ -import { Process } from '../processes/process.model'; import { Injectable } from '@angular/core'; -import { ProcessDataService } from '../../core/data/processes/process-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { isNotEmpty } from '../../shared/empty.util'; -import { BehaviorSubject, count, from } from 'rxjs'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { concatMap, filter, tap } from 'rxjs/operators'; -import { RemoteData } from '../../core/data/remote-data'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + count, + from, +} from 'rxjs'; +import { + concatMap, + filter, + tap, +} from 'rxjs/operators'; + +import { ProcessDataService } from '../../core/data/processes/process-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { isNotEmpty } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { Process } from '../processes/process.model'; @Injectable({ providedIn: 'root', diff --git a/src/app/process-page/overview/process-overview.component.spec.ts b/src/app/process-page/overview/process-overview.component.spec.ts index 8a8dcfe3b6..45941f88d4 100644 --- a/src/app/process-page/overview/process-overview.component.spec.ts +++ b/src/app/process-page/overview/process-overview.component.spec.ts @@ -1,23 +1,28 @@ -import { ProcessOverviewComponent } from './process-overview.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; +import { DatePipe } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { BehaviorSubject } from 'rxjs'; + import { ProcessDataService } from '../../core/data/processes/process-data.service'; -import { Process } from '../processes/process.model'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; -import { By } from '@angular/platform-browser'; -import { ProcessStatus } from '../processes/process-status.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; import { PaginationService } from '../../core/pagination/pagination.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { DatePipe } from '@angular/common'; -import { BehaviorSubject } from 'rxjs'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { Process } from '../processes/process.model'; +import { ProcessStatus } from '../processes/process-status.model'; import { ProcessBulkDeleteService } from './process-bulk-delete.service'; -import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { ProcessOverviewComponent } from './process-overview.component'; describe('ProcessOverviewComponent', () => { let component: ProcessOverviewComponent; diff --git a/src/app/process-page/overview/process-overview.component.ts b/src/app/process-page/overview/process-overview.component.ts index 979976cbd2..4fb9cdf8b0 100644 --- a/src/app/process-page/overview/process-overview.component.ts +++ b/src/app/process-page/overview/process-overview.component.ts @@ -1,20 +1,31 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; -import { Observable, Subscription } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { Process } from '../processes/process.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { EPerson } from '../../core/eperson/models/eperson.model'; -import { map, switchMap } from 'rxjs/operators'; -import { ProcessDataService } from '../../core/data/processes/process-data.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { FindListOptions } from '../../core/data/find-list-options.model'; -import { ProcessBulkDeleteService } from './process-bulk-delete.service'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { hasValue } from '../../shared/empty.util'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { ProcessDataService } from '../../core/data/processes/process-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { hasValue } from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { Process } from '../processes/process.model'; +import { ProcessBulkDeleteService } from './process-bulk-delete.service'; @Component({ selector: 'ds-process-overview', diff --git a/src/app/process-page/process-breadcrumb.resolver.spec.ts b/src/app/process-page/process-breadcrumb.resolver.spec.ts index 900b314ed5..b92c2dbab6 100644 --- a/src/app/process-page/process-breadcrumb.resolver.spec.ts +++ b/src/app/process-page/process-breadcrumb.resolver.spec.ts @@ -1,7 +1,7 @@ -import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver'; -import { Process } from './processes/process.model'; import { ProcessDataService } from '../core/data/processes/process-data.service'; import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver'; +import { Process } from './processes/process.model'; describe('ProcessBreadcrumbResolver', () => { describe('resolve', () => { diff --git a/src/app/process-page/process-breadcrumb.resolver.ts b/src/app/process-page/process-breadcrumb.resolver.ts index 4a11a79368..b226d867da 100644 --- a/src/app/process-page/process-breadcrumb.resolver.ts +++ b/src/app/process-page/process-breadcrumb.resolver.ts @@ -1,13 +1,21 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { Process } from './processes/process.model'; -import { followLink } from '../shared/utils/follow-link-config.model'; -import { ProcessDataService } from '../core/data/processes/process-data.service'; + import { BreadcrumbConfig } from '../breadcrumbs/breadcrumb/breadcrumb-config.model'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../core/shared/operators'; +import { ProcessDataService } from '../core/data/processes/process-data.service'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../core/shared/operators'; +import { followLink } from '../shared/utils/follow-link-config.model'; import { ProcessBreadcrumbsService } from './process-breadcrumbs.service'; +import { Process } from './processes/process.model'; /** * This class represents a resolver that requests a specific process before the route is activated diff --git a/src/app/process-page/process-breadcrumbs.service.spec.ts b/src/app/process-page/process-breadcrumbs.service.spec.ts index 52b1434c1e..9fa3a400f6 100644 --- a/src/app/process-page/process-breadcrumbs.service.spec.ts +++ b/src/app/process-page/process-breadcrumbs.service.spec.ts @@ -1,7 +1,11 @@ -import { waitForAsync, TestBed } from '@angular/core/testing'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { getTestScheduler } from 'jasmine-marbles'; -import { ProcessBreadcrumbsService } from './process-breadcrumbs.service'; + import { Breadcrumb } from '../breadcrumbs/breadcrumb/breadcrumb.model'; +import { ProcessBreadcrumbsService } from './process-breadcrumbs.service'; import { Process } from './processes/process.model'; describe('ProcessBreadcrumbsService', () => { diff --git a/src/app/process-page/process-breadcrumbs.service.ts b/src/app/process-page/process-breadcrumbs.service.ts index 26b0787a53..5811dbae3d 100644 --- a/src/app/process-page/process-breadcrumbs.service.ts +++ b/src/app/process-page/process-breadcrumbs.service.ts @@ -1,7 +1,11 @@ -import { Observable, of as observableOf } from 'rxjs'; import { Injectable } from '@angular/core'; -import { BreadcrumbsProviderService } from '../core/breadcrumbs/breadcrumbsProviderService'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { Breadcrumb } from '../breadcrumbs/breadcrumb/breadcrumb.model'; +import { BreadcrumbsProviderService } from '../core/breadcrumbs/breadcrumbsProviderService'; import { Process } from './processes/process.model'; /** diff --git a/src/app/process-page/process-page-routing.module.ts b/src/app/process-page/process-page-routing.module.ts index a6b0f9afcc..f0bbe6de08 100644 --- a/src/app/process-page/process-page-routing.module.ts +++ b/src/app/process-page/process-page-routing.module.ts @@ -1,12 +1,13 @@ -import { RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; + +import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { ProcessDetailComponent } from './detail/process-detail.component'; import { NewProcessComponent } from './new/new-process.component'; import { ProcessOverviewComponent } from './overview/process-overview.component'; -import { ProcessPageResolver } from './process-page.resolver'; -import { ProcessDetailComponent } from './detail/process-detail.component'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver'; -import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; +import { ProcessPageResolver } from './process-page.resolver'; @NgModule({ imports: [ diff --git a/src/app/process-page/process-page-shared.module.ts b/src/app/process-page/process-page-shared.module.ts index a809f6b8b0..735438f542 100644 --- a/src/app/process-page/process-page-shared.module.ts +++ b/src/app/process-page/process-page-shared.module.ts @@ -1,21 +1,22 @@ import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; -import { NewProcessComponent } from './new/new-process.component'; -import { ScriptsSelectComponent } from './form/scripts-select/scripts-select.component'; -import { ScriptHelpComponent } from './form/script-help/script-help.component'; -import { ParameterSelectComponent } from './form/process-parameters/parameter-select/parameter-select.component'; -import { ProcessParametersComponent } from './form/process-parameters/process-parameters.component'; -import { StringValueInputComponent } from './form/process-parameters/parameter-value-input/string-value-input/string-value-input.component'; -import { ParameterValueInputComponent } from './form/process-parameters/parameter-value-input/parameter-value-input.component'; -import { FileValueInputComponent } from './form/process-parameters/parameter-value-input/file-value-input/file-value-input.component'; -import { BooleanValueInputComponent } from './form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component'; -import { DateValueInputComponent } from './form/process-parameters/parameter-value-input/date-value-input/date-value-input.component'; -import { ProcessOverviewComponent } from './overview/process-overview.component'; import { ProcessDetailComponent } from './detail/process-detail.component'; import { ProcessDetailFieldComponent } from './detail/process-detail-field/process-detail-field.component'; -import { ProcessBreadcrumbsService } from './process-breadcrumbs.service'; -import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver'; import { ProcessFormComponent } from './form/process-form.component'; +import { ParameterSelectComponent } from './form/process-parameters/parameter-select/parameter-select.component'; +import { BooleanValueInputComponent } from './form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component'; +import { DateValueInputComponent } from './form/process-parameters/parameter-value-input/date-value-input/date-value-input.component'; +import { FileValueInputComponent } from './form/process-parameters/parameter-value-input/file-value-input/file-value-input.component'; +import { ParameterValueInputComponent } from './form/process-parameters/parameter-value-input/parameter-value-input.component'; +import { StringValueInputComponent } from './form/process-parameters/parameter-value-input/string-value-input/string-value-input.component'; +import { ProcessParametersComponent } from './form/process-parameters/process-parameters.component'; +import { ScriptHelpComponent } from './form/script-help/script-help.component'; +import { ScriptsSelectComponent } from './form/scripts-select/scripts-select.component'; +import { NewProcessComponent } from './new/new-process.component'; +import { ProcessOverviewComponent } from './overview/process-overview.component'; +import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver'; +import { ProcessBreadcrumbsService } from './process-breadcrumbs.service'; @NgModule({ imports: [ diff --git a/src/app/process-page/process-page.module.ts b/src/app/process-page/process-page.module.ts index 333d9d20ee..871efafc3e 100644 --- a/src/app/process-page/process-page.module.ts +++ b/src/app/process-page/process-page.module.ts @@ -1,4 +1,5 @@ import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; import { ProcessPageRoutingModule } from './process-page-routing.module'; import { ProcessPageSharedModule } from './process-page-shared.module'; diff --git a/src/app/process-page/process-page.resolver.ts b/src/app/process-page/process-page.resolver.ts index ba872302b3..881429aa02 100644 --- a/src/app/process-page/process-page.resolver.ts +++ b/src/app/process-page/process-page.resolver.ts @@ -1,11 +1,16 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { RemoteData } from '../core/data/remote-data'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { Process } from './processes/process.model'; -import { followLink } from '../shared/utils/follow-link-config.model'; + import { ProcessDataService } from '../core/data/processes/process-data.service'; +import { RemoteData } from '../core/data/remote-data'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { followLink } from '../shared/utils/follow-link-config.model'; +import { Process } from './processes/process.model'; /** * This class represents a resolver that requests a specific process before the route is activated diff --git a/src/app/process-page/processes/process.model.ts b/src/app/process-page/processes/process.model.ts index 6468fe3bc8..79ab7ba2f3 100644 --- a/src/app/process-page/processes/process.model.ts +++ b/src/app/process-page/processes/process.model.ts @@ -1,18 +1,25 @@ -import { Bitstream } from '../../core/shared/bitstream.model'; -import { PROCESS_OUTPUT_TYPE } from '../../core/shared/process-output.resource-type'; -import { ProcessStatus } from './process-status.model'; -import { ProcessParameter } from './process-parameter.model'; -import { HALLink } from '../../core/shared/hal-link.model'; -import { autoserialize, deserialize } from 'cerialize'; -import { PROCESS } from './process.resource-type'; -import { excludeFromEquals } from '../../core/utilities/equals.decorators'; -import { ResourceType } from '../../core/shared/resource-type'; -import { link, typedObject } from '../../core/cache/builders/build-decorators'; +import { + autoserialize, + deserialize, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { SCRIPT } from '../scripts/script.resource-type'; -import { Script } from '../scripts/script.model'; + +import { + link, + typedObject, +} from '../../core/cache/builders/build-decorators'; import { CacheableObject } from '../../core/cache/cacheable-object.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { Bitstream } from '../../core/shared/bitstream.model'; +import { HALLink } from '../../core/shared/hal-link.model'; +import { PROCESS_OUTPUT_TYPE } from '../../core/shared/process-output.resource-type'; +import { ResourceType } from '../../core/shared/resource-type'; +import { excludeFromEquals } from '../../core/utilities/equals.decorators'; +import { Script } from '../scripts/script.model'; +import { SCRIPT } from '../scripts/script.resource-type'; +import { PROCESS } from './process.resource-type'; +import { ProcessParameter } from './process-parameter.model'; +import { ProcessStatus } from './process-status.model'; /** * Object representing a process diff --git a/src/app/process-page/scripts/script.model.ts b/src/app/process-page/scripts/script.model.ts index a381d3b771..7907695b10 100644 --- a/src/app/process-page/scripts/script.model.ts +++ b/src/app/process-page/scripts/script.model.ts @@ -1,11 +1,15 @@ +import { + autoserialize, + deserialize, +} from 'cerialize'; + +import { typedObject } from '../../core/cache/builders/build-decorators'; +import { CacheableObject } from '../../core/cache/cacheable-object.model'; import { HALLink } from '../../core/shared/hal-link.model'; -import { autoserialize, deserialize } from 'cerialize'; +import { ResourceType } from '../../core/shared/resource-type'; +import { excludeFromEquals } from '../../core/utilities/equals.decorators'; import { SCRIPT } from './script.resource-type'; import { ScriptParameter } from './script-parameter.model'; -import { typedObject } from '../../core/cache/builders/build-decorators'; -import { excludeFromEquals } from '../../core/utilities/equals.decorators'; -import { ResourceType } from '../../core/shared/resource-type'; -import { CacheableObject } from '../../core/cache/cacheable-object.model'; /** * Object representing a script diff --git a/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.spec.ts b/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.spec.ts index 03907ecbe4..66fa15c56e 100644 --- a/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.spec.ts +++ b/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.spec.ts @@ -1,20 +1,26 @@ -import { ActivatedRoute, Router } from '@angular/router'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { of } from 'rxjs'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; -import { ProfileClaimItemModalComponent } from './profile-claim-item-modal.component'; -import { ProfileClaimService } from '../profile-claim/profile-claim.service'; import { Item } from '../../core/shared/item.model'; -import { ItemSearchResult } from '../../shared/object-collection/shared/item-search-result.model'; -import { SearchObjects } from '../../shared/search/models/search-objects.model'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { getItemPageRoute } from '../../item-page/item-page-routing-paths'; +import { ItemSearchResult } from '../../shared/object-collection/shared/item-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { SearchObjects } from '../../shared/search/models/search-objects.model'; import { RouterStub } from '../../shared/testing/router.stub'; +import { ProfileClaimService } from '../profile-claim/profile-claim.service'; +import { ProfileClaimItemModalComponent } from './profile-claim-item-modal.component'; describe('ProfileClaimItemModalComponent', () => { let component: ProfileClaimItemModalComponent; diff --git a/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.ts b/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.ts index 8194b7190a..becf73c3f8 100644 --- a/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.ts +++ b/src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.ts @@ -1,21 +1,29 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { BehaviorSubject } from 'rxjs'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { RemoteData } from '../../core/data/remote-data'; -import { Item } from '../../core/shared/item.model'; -import { - DSOSelectorModalWrapperComponent, -} from '../../shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component'; -import { getItemPageRoute } from '../../item-page/item-page-routing-paths'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Item } from '../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { ViewMode } from '../../core/shared/view-mode.model'; -import { ProfileClaimService } from '../profile-claim/profile-claim.service'; +import { getItemPageRoute } from '../../item-page/item-page-routing-paths'; +import { DSOSelectorModalWrapperComponent } from '../../shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component'; import { CollectionElementLinkType } from '../../shared/object-collection/collection-element-link.type'; import { SearchObjects } from '../../shared/search/models/search-objects.model'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ProfileClaimService } from '../profile-claim/profile-claim.service'; /** * Component representing a modal that show a list of suggested profile item to claim diff --git a/src/app/profile-page/profile-claim/profile-claim.service.spec.ts b/src/app/profile-page/profile-claim/profile-claim.service.spec.ts index e7616cacd7..e84521a85d 100644 --- a/src/app/profile-page/profile-claim/profile-claim.service.spec.ts +++ b/src/app/profile-page/profile-claim/profile-claim.service.spec.ts @@ -1,15 +1,20 @@ -import { cold, getTestScheduler } from 'jasmine-marbles'; - +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { ProfileClaimService } from './profile-claim.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { Item } from '../../core/shared/item.model'; import { SearchService } from '../../core/shared/search/search.service'; import { ItemSearchResult } from '../../shared/object-collection/shared/item-search-result.model'; +import { + createNoContentRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../../shared/remote-data.utils'; import { SearchObjects } from '../../shared/search/models/search-objects.model'; -import { Item } from '../../core/shared/item.model'; -import { createNoContentRemoteDataObject, createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -import { EPerson } from '../../core/eperson/models/eperson.model'; +import { ProfileClaimService } from './profile-claim.service'; describe('ProfileClaimService', () => { let scheduler: TestScheduler; diff --git a/src/app/profile-page/profile-claim/profile-claim.service.ts b/src/app/profile-page/profile-claim/profile-claim.service.ts index cf33ffc3b6..f6d2ad35f1 100644 --- a/src/app/profile-page/profile-claim/profile-claim.service.ts +++ b/src/app/profile-page/profile-claim/profile-claim.service.ts @@ -1,17 +1,22 @@ import { Injectable } from '@angular/core'; - -import { Observable, of } from 'rxjs'; +import { + Observable, + of, +} from 'rxjs'; import { map } from 'rxjs/operators'; import { RemoteData } from '../../core/data/remote-data'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { SearchService } from '../../core/shared/search/search.service'; -import { isEmpty, isNotEmpty } from '../../shared/empty.util'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { SearchObjects } from '../../shared/search/models/search-objects.model'; +import { SearchService } from '../../core/shared/search/search.service'; +import { + isEmpty, + isNotEmpty, +} from '../../shared/empty.util'; import { createNoContentRemoteDataObject } from '../../shared/remote-data.utils'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { SearchObjects } from '../../shared/search/models/search-objects.model'; /** * Service that handle profiles claim. diff --git a/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.spec.ts b/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.spec.ts index 7a5c3e6fef..69f827ec07 100644 --- a/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.spec.ts +++ b/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.spec.ts @@ -1,15 +1,26 @@ -import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form.component'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + EventEmitter, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; -import { EventEmitter, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import cloneDeep from 'lodash/cloneDeep'; + +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { FormBuilderService } from '../../shared/form/builder/form-builder.service'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import cloneDeep from 'lodash/cloneDeep'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form.component'; describe('ProfilePageMetadataFormComponent', () => { let component: ProfilePageMetadataFormComponent; diff --git a/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts b/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts index 0dcd841413..0c28a1038c 100644 --- a/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts +++ b/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts @@ -1,21 +1,32 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; import { DynamicFormControlModel, DynamicFormValueControlModel, DynamicInputModel, DynamicSelectModel, } from '@ng-dynamic-forms/core'; -import { UntypedFormGroup } from '@angular/forms'; -import { EPerson } from '../../core/eperson/models/eperson.model'; import { TranslateService } from '@ngx-translate/core'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { LangConfig } from '../../../config/lang-config.interface'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import cloneDeep from 'lodash/cloneDeep'; -import { getRemoteDataPayload, getFirstSucceededRemoteData } from '../../core/shared/operators'; + +import { LangConfig } from '../../../config/lang-config.interface'; +import { environment } from '../../../environments/environment'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../core/shared/operators'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { FormBuilderService } from '../../shared/form/builder/form-builder.service'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { environment } from '../../../environments/environment'; @Component({ selector: 'ds-profile-page-metadata-form', diff --git a/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.spec.ts b/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.spec.ts index 4697b7b7f1..acef932917 100644 --- a/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.spec.ts +++ b/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.spec.ts @@ -1,23 +1,29 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Router } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; - -import { of as observableOf } from 'rxjs'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { AuthService } from '../../core/auth/auth.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { ResearcherProfile } from '../../core/profile/model/researcher-profile.model'; import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { ProfilePageResearcherFormComponent } from './profile-page-researcher-form.component'; -import { ProfileClaimService } from '../profile-claim/profile-claim.service'; -import { AuthService } from '../../core/auth/auth.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; import { followLink } from '../../shared/utils/follow-link-config.model'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { ProfileClaimService } from '../profile-claim/profile-claim.service'; +import { ProfilePageResearcherFormComponent } from './profile-page-researcher-form.component'; describe('ProfilePageResearcherFormComponent', () => { diff --git a/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.ts b/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.ts index 957f395b81..35945ddb3a 100644 --- a/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.ts +++ b/src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.ts @@ -1,24 +1,39 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { map, mergeMap, switchMap, take, tap } from 'rxjs/operators'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, + switchMap, + take, + tap, +} from 'rxjs/operators'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { ProfileClaimItemModalComponent } from '../profile-claim-item-modal/profile-claim-item-modal.component'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; import { AuthService } from '../../core/auth/auth.service'; +import { RemoteData } from '../../core/data/remote-data'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { ResearcherProfile } from '../../core/profile/model/researcher-profile.model'; import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; -import { ProfileClaimService } from '../profile-claim/profile-claim.service'; -import { RemoteData } from '../../core/data/remote-data'; -import { isNotEmpty } from '../../shared/empty.util'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import { ConfirmationModalComponent } from '../../shared/confirmation-modal/confirmation-modal.component'; import { NoContent } from '../../core/shared/NoContent.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../core/shared/operators'; +import { ConfirmationModalComponent } from '../../shared/confirmation-modal/confirmation-modal.component'; +import { isNotEmpty } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { ProfileClaimService } from '../profile-claim/profile-claim.service'; +import { ProfileClaimItemModalComponent } from '../profile-claim-item-modal/profile-claim-item-modal.component'; @Component({ selector: 'ds-profile-page-researcher-form', diff --git a/src/app/profile-page/profile-page-routing.module.ts b/src/app/profile-page/profile-page-routing.module.ts index 75aacb5ddc..44795a16e3 100644 --- a/src/app/profile-page/profile-page-routing.module.ts +++ b/src/app/profile-page/profile-page-routing.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; + import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { ThemedProfilePageComponent } from './themed-profile-page.component'; diff --git a/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.spec.ts b/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.spec.ts index 6f629c9f7b..3ba27eafb4 100644 --- a/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.spec.ts +++ b/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.spec.ts @@ -1,14 +1,21 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { FormBuilderService } from '../../shared/form/builder/form-builder.service'; -import { ProfilePageSecurityFormComponent } from './profile-page-security-form.component'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { RestResponse } from '../../core/cache/response.models'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { FormBuilderService } from '../../shared/form/builder/form-builder.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { ProfilePageSecurityFormComponent } from './profile-page-security-form.component'; describe('ProfilePageSecurityFormComponent', () => { let component: ProfilePageSecurityFormComponent; diff --git a/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.ts b/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.ts index 25f9b56731..9b74a620e8 100644 --- a/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.ts +++ b/src/app/profile-page/profile-page-security-form/profile-page-security-form.component.ts @@ -1,13 +1,27 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { DynamicFormControlModel, DynamicFormService, DynamicInputModel } from '@ng-dynamic-forms/core'; -import { TranslateService } from '@ngx-translate/core'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; -import { hasValue, isEmpty } from '../../shared/empty.util'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { map } from 'rxjs/operators'; +import { + DynamicFormControlModel, + DynamicFormService, + DynamicInputModel, +} from '@ng-dynamic-forms/core'; +import { TranslateService } from '@ngx-translate/core'; import { Subscription } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { debounceTimeWorkaround as debounceTime } from '../../core/shared/operators'; +import { + hasValue, + isEmpty, +} from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; @Component({ selector: 'ds-profile-page-security-form', diff --git a/src/app/profile-page/profile-page.component.spec.ts b/src/app/profile-page/profile-page.component.spec.ts index 3798d85e45..cedb7b777e 100644 --- a/src/app/profile-page/profile-page.component.spec.ts +++ b/src/app/profile-page/profile-page.component.spec.ts @@ -1,28 +1,45 @@ -import { ProfilePageComponent } from './profile-page.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { EPerson } from '../core/eperson/models/eperson.model'; -import { StoreModule } from '@ngrx/store'; -import { storeModuleConfig } from '../app.reducer'; -import { AuthTokenInfo } from '../core/auth/models/auth-token-info.model'; -import { EPersonDataService } from '../core/eperson/eperson-data.service'; -import { NotificationsService } from '../shared/notifications/notifications.service'; -import { authReducer } from '../core/auth/auth.reducer'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { createPaginatedList } from '../shared/testing/utils.test'; -import { BehaviorSubject, of as observableOf } from 'rxjs'; -import { AuthService } from '../core/auth/auth.service'; -import { RestResponse } from '../core/cache/response.models'; -import { provideMockStore } from '@ngrx/store/testing'; -import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { EmptySpecialGroupDataMock$, SpecialGroupDataMock$ } from '../shared/testing/special-group.mock'; +import { RouterTestingModule } from '@angular/router/testing'; +import { StoreModule } from '@ngrx/store'; +import { provideMockStore } from '@ngrx/store/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + +import { storeModuleConfig } from '../app.reducer'; +import { authReducer } from '../core/auth/auth.reducer'; +import { AuthService } from '../core/auth/auth.service'; +import { AuthTokenInfo } from '../core/auth/models/auth-token-info.model'; +import { RestResponse } from '../core/cache/response.models'; import { ConfigurationDataService } from '../core/data/configuration-data.service'; +import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { EPersonDataService } from '../core/eperson/eperson-data.service'; +import { EPerson } from '../core/eperson/models/eperson.model'; import { ConfigurationProperty } from '../core/shared/configuration-property.model'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../shared/remote-data.utils'; +import { + EmptySpecialGroupDataMock$, + SpecialGroupDataMock$, +} from '../shared/testing/special-group.mock'; +import { createPaginatedList } from '../shared/testing/utils.test'; +import { VarDirective } from '../shared/utils/var.directive'; +import { ProfilePageComponent } from './profile-page.component'; describe('ProfilePageComponent', () => { let component: ProfilePageComponent; diff --git a/src/app/profile-page/profile-page.component.ts b/src/app/profile-page/profile-page.component.ts index 0202322e47..3ab3e7464e 100644 --- a/src/app/profile-page/profile-page.component.ts +++ b/src/app/profile-page/profile-page.component.ts @@ -1,24 +1,43 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { EPerson } from '../core/eperson/models/eperson.model'; -import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form/profile-page-metadata-form.component'; -import { NotificationsService } from '../shared/notifications/notifications.service'; +import { + Component, + OnInit, + ViewChild, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { Group } from '../core/eperson/models/group.model'; -import { RemoteData } from '../core/data/remote-data'; -import { PaginatedList } from '../core/data/paginated-list.model'; -import { filter, switchMap, tap } from 'rxjs/operators'; -import { EPersonDataService } from '../core/eperson/eperson-data.service'; -import { getAllSucceededRemoteData, getFirstCompletedRemoteData, getRemoteDataPayload } from '../core/shared/operators'; -import { hasValue, isNotEmpty } from '../shared/empty.util'; -import { followLink } from '../shared/utils/follow-link-config.model'; -import { AuthService } from '../core/auth/auth.service'; import { Operation } from 'fast-json-patch'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + filter, + switchMap, + tap, +} from 'rxjs/operators'; + +import { AuthService } from '../core/auth/auth.service'; +import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { ConfigurationDataService } from '../core/data/configuration-data.service'; import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../core/data/feature-authorization/feature-id'; -import { ConfigurationDataService } from '../core/data/configuration-data.service'; +import { PaginatedList } from '../core/data/paginated-list.model'; +import { RemoteData } from '../core/data/remote-data'; +import { EPersonDataService } from '../core/eperson/eperson-data.service'; +import { EPerson } from '../core/eperson/models/eperson.model'; +import { Group } from '../core/eperson/models/group.model'; import { ConfigurationProperty } from '../core/shared/configuration-property.model'; -import { DSONameService } from '../core/breadcrumbs/dso-name.service'; +import { + getAllSucceededRemoteData, + getFirstCompletedRemoteData, + getRemoteDataPayload, +} from '../core/shared/operators'; +import { + hasValue, + isNotEmpty, +} from '../shared/empty.util'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { followLink } from '../shared/utils/follow-link-config.model'; +import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form/profile-page-metadata-form.component'; @Component({ selector: 'ds-profile-page', diff --git a/src/app/profile-page/profile-page.module.ts b/src/app/profile-page/profile-page.module.ts index f01e57e435..e953578901 100644 --- a/src/app/profile-page/profile-page.module.ts +++ b/src/app/profile-page/profile-page.module.ts @@ -1,17 +1,16 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { UiSwitchModule } from 'ngx-ui-switch'; + +import { FormModule } from '../shared/form/form.module'; import { SharedModule } from '../shared/shared.module'; -import { ProfilePageRoutingModule } from './profile-page-routing.module'; +import { ProfileClaimItemModalComponent } from './profile-claim-item-modal/profile-claim-item-modal.component'; import { ProfilePageComponent } from './profile-page.component'; import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form/profile-page-metadata-form.component'; +import { ProfilePageResearcherFormComponent } from './profile-page-researcher-form/profile-page-researcher-form.component'; +import { ProfilePageRoutingModule } from './profile-page-routing.module'; import { ProfilePageSecurityFormComponent } from './profile-page-security-form/profile-page-security-form.component'; -import { - ProfilePageResearcherFormComponent, -} from './profile-page-researcher-form/profile-page-researcher-form.component'; import { ThemedProfilePageComponent } from './themed-profile-page.component'; -import { FormModule } from '../shared/form/form.module'; -import { UiSwitchModule } from 'ngx-ui-switch'; -import { ProfileClaimItemModalComponent } from './profile-claim-item-modal/profile-claim-item-modal.component'; @NgModule({ diff --git a/src/app/profile-page/themed-profile-page.component.ts b/src/app/profile-page/themed-profile-page.component.ts index a34b54f552..c7d60726c8 100644 --- a/src/app/profile-page/themed-profile-page.component.ts +++ b/src/app/profile-page/themed-profile-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { ProfilePageComponent } from './profile-page.component'; diff --git a/src/app/register-email-form/register-email-form.component.spec.ts b/src/app/register-email-form/register-email-form.component.spec.ts index 48b8964ff5..bdf542ffaf 100644 --- a/src/app/register-email-form/register-email-form.component.spec.ts +++ b/src/app/register-email-form/register-email-form.component.spec.ts @@ -1,28 +1,41 @@ -import { waitForAsync, ComponentFixture, TestBed, tick, fakeAsync } from '@angular/core/testing'; -import { of as observableOf, of } from 'rxjs'; -import { RestResponse } from '../core/cache/response.models'; import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormBuilder, +} from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { UntypedFormBuilder, ReactiveFormsModule } from '@angular/forms'; -import { Router } from '@angular/router'; -import { NotificationsService } from '../shared/notifications/notifications.service'; -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; -import { By } from '@angular/platform-browser'; -import { RouterStub } from '../shared/testing/router.stub'; -import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; import { - RegisterEmailFormComponent, - TYPE_REQUEST_REGISTER, - TYPE_REQUEST_FORGOT, -} from './register-email-form.component'; -import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; + of as observableOf, + of, +} from 'rxjs'; + +import { RestResponse } from '../core/cache/response.models'; import { ConfigurationDataService } from '../core/data/configuration-data.service'; +import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; import { GoogleRecaptchaService } from '../core/google-recaptcha/google-recaptcha.service'; import { CookieService } from '../core/services/cookie.service'; -import { CookieServiceMock } from '../shared/mocks/cookie.service.mock'; import { ConfigurationProperty } from '../core/shared/configuration-property.model'; +import { CookieServiceMock } from '../shared/mocks/cookie.service.mock'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; +import { RouterStub } from '../shared/testing/router.stub'; +import { + RegisterEmailFormComponent, + TYPE_REQUEST_FORGOT, + TYPE_REQUEST_REGISTER, +} from './register-email-form.component'; describe('RegisterEmailFormComponent', () => { diff --git a/src/app/register-email-form/register-email-form.component.ts b/src/app/register-email-form/register-email-form.component.ts index 7d4ef73707..e2957bc71b 100644 --- a/src/app/register-email-form/register-email-form.component.ts +++ b/src/app/register-email-form/register-email-form.component.ts @@ -1,22 +1,52 @@ -import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit, Optional } from '@angular/core'; -import {EpersonRegistrationService} from '../core/data/eperson-registration.service'; -import {NotificationsService} from '../shared/notifications/notifications.service'; -import {TranslateService} from '@ngx-translate/core'; +import { + ChangeDetectorRef, + Component, + Input, + OnDestroy, + OnInit, + Optional, +} from '@angular/core'; +import { + UntypedFormBuilder, + UntypedFormControl, + UntypedFormGroup, + ValidatorFn, + Validators, +} from '@angular/forms'; import {Router} from '@angular/router'; -import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators, ValidatorFn } from '@angular/forms'; -import {Registration} from '../core/shared/registration.model'; -import {RemoteData} from '../core/data/remote-data'; +import {TranslateService} from '@ngx-translate/core'; +import { + BehaviorSubject, + combineLatest, + Observable, + of, + Subscription, + switchMap, +} from 'rxjs'; +import { + map, + startWith, + take, +} from 'rxjs/operators'; + import {ConfigurationDataService} from '../core/data/configuration-data.service'; -import { getAllSucceededRemoteDataPayload, getFirstSucceededRemoteDataPayload } from '../core/shared/operators'; +import {EpersonRegistrationService} from '../core/data/eperson-registration.service'; +import {RemoteData} from '../core/data/remote-data'; +import { + CAPTCHA_NAME, + GoogleRecaptchaService, +} from '../core/google-recaptcha/google-recaptcha.service'; +import {CookieService} from '../core/services/cookie.service'; import {ConfigurationProperty} from '../core/shared/configuration-property.model'; -import {isNotEmpty} from '../shared/empty.util'; -import {BehaviorSubject, combineLatest, Observable, of, switchMap} from 'rxjs'; -import {map, startWith, take} from 'rxjs/operators'; -import {CAPTCHA_NAME, GoogleRecaptchaService} from '../core/google-recaptcha/google-recaptcha.service'; +import { + getAllSucceededRemoteDataPayload, + getFirstSucceededRemoteDataPayload, +} from '../core/shared/operators'; +import {Registration} from '../core/shared/registration.model'; import {AlertType} from '../shared/alert/aletr-type'; import {KlaroService} from '../shared/cookies/klaro.service'; -import {CookieService} from '../core/services/cookie.service'; -import { Subscription } from 'rxjs'; +import {isNotEmpty} from '../shared/empty.util'; +import {NotificationsService} from '../shared/notifications/notifications.service'; export const TYPE_REQUEST_FORGOT = 'forgot'; export const TYPE_REQUEST_REGISTER = 'register'; diff --git a/src/app/register-email-form/register-email-form.module.ts b/src/app/register-email-form/register-email-form.module.ts index d19d65008c..a3a2eb72f2 100644 --- a/src/app/register-email-form/register-email-form.module.ts +++ b/src/app/register-email-form/register-email-form.module.ts @@ -1,5 +1,6 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; import { RegisterEmailFormComponent } from './register-email-form.component'; diff --git a/src/app/register-email-form/registration.resolver.spec.ts b/src/app/register-email-form/registration.resolver.spec.ts index cdf24078c5..f62b6a9a73 100644 --- a/src/app/register-email-form/registration.resolver.spec.ts +++ b/src/app/register-email-form/registration.resolver.spec.ts @@ -1,8 +1,9 @@ -import { RegistrationResolver } from './registration.resolver'; +import { first } from 'rxjs/operators'; + import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; import { Registration } from '../core/shared/registration.model'; -import { first } from 'rxjs/operators'; import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { RegistrationResolver } from './registration.resolver'; describe('RegistrationResolver', () => { let resolver: RegistrationResolver; diff --git a/src/app/register-email-form/registration.resolver.ts b/src/app/register-email-form/registration.resolver.ts index 498d029492..ac374e3845 100644 --- a/src/app/register-email-form/registration.resolver.ts +++ b/src/app/register-email-form/registration.resolver.ts @@ -1,10 +1,15 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; -import { Registration } from '../core/shared/registration.model'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; + +import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; import { RemoteData } from '../core/data/remote-data'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { Registration } from '../core/shared/registration.model'; @Injectable() /** diff --git a/src/app/register-page/create-profile/confirmed.validator.spec.ts b/src/app/register-page/create-profile/confirmed.validator.spec.ts index b0b3f86681..c7d412f394 100644 --- a/src/app/register-page/create-profile/confirmed.validator.spec.ts +++ b/src/app/register-page/create-profile/confirmed.validator.spec.ts @@ -1,5 +1,12 @@ -import { UntypedFormBuilder, UntypedFormControl } from '@angular/forms'; -import { fakeAsync, waitForAsync } from '@angular/core/testing'; +import { + fakeAsync, + waitForAsync, +} from '@angular/core/testing'; +import { + UntypedFormBuilder, + UntypedFormControl, +} from '@angular/forms'; + import { ConfirmedValidator } from './confirmed.validator'; describe('ConfirmedValidator', () => { diff --git a/src/app/register-page/create-profile/create-profile.component.spec.ts b/src/app/register-page/create-profile/create-profile.component.spec.ts index 8efce9b108..a56c08314f 100644 --- a/src/app/register-page/create-profile/create-profile.component.spec.ts +++ b/src/app/register-page/create-profile/create-profile.component.spec.ts @@ -1,31 +1,42 @@ -import { CreateProfileComponent } from './create-profile.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Registration } from '../../core/shared/registration.model'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { Store } from '@ngrx/store'; -import { UntypedFormBuilder, ReactiveFormsModule } from '@angular/forms'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { of as observableOf } from 'rxjs'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormBuilder, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { EPerson } from '../../core/eperson/models/eperson.model'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { AuthenticateAction } from '../../core/auth/auth.actions'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { CoreState } from '../../core/core-state.model'; import { END_USER_AGREEMENT_METADATA_FIELD, EndUserAgreementService, } from '../../core/end-user-agreement/end-user-agreement.service'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { Registration } from '../../core/shared/registration.model'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { CoreState } from '../../core/core-state.model'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { CreateProfileComponent } from './create-profile.component'; describe('CreateProfileComponent', () => { let comp: CreateProfileComponent; diff --git a/src/app/register-page/create-profile/create-profile.component.ts b/src/app/register-page/create-profile/create-profile.component.ts index 7fd4a75749..de144464f3 100644 --- a/src/app/register-page/create-profile/create-profile.component.ts +++ b/src/app/register-page/create-profile/create-profile.component.ts @@ -1,25 +1,40 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { map } from 'rxjs/operators'; -import { Registration } from '../../core/shared/registration.model'; -import { Observable } from 'rxjs'; -import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; -import { TranslateService } from '@ngx-translate/core'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { EPerson } from '../../core/eperson/models/eperson.model'; -import { LangConfig } from '../../../config/lang-config.interface'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + UntypedFormBuilder, + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Store } from '@ngrx/store'; -import { AuthenticateAction } from '../../core/auth/auth.actions'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { LangConfig } from '../../../config/lang-config.interface'; import { environment } from '../../../environments/environment'; -import { isEmpty } from '../../shared/empty.util'; +import { AuthenticateAction } from '../../core/auth/auth.actions'; +import { CoreState } from '../../core/core-state.model'; import { RemoteData } from '../../core/data/remote-data'; import { END_USER_AGREEMENT_METADATA_FIELD, EndUserAgreementService, } from '../../core/end-user-agreement/end-user-agreement.service'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { CoreState } from '../../core/core-state.model'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../core/shared/operators'; +import { Registration } from '../../core/shared/registration.model'; +import { isEmpty } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; /** * Component that renders the create profile page to be used by a user registering through a token diff --git a/src/app/register-page/create-profile/themed-create-profile.component.ts b/src/app/register-page/create-profile/themed-create-profile.component.ts index 97f70d407f..6d895368cc 100644 --- a/src/app/register-page/create-profile/themed-create-profile.component.ts +++ b/src/app/register-page/create-profile/themed-create-profile.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { CreateProfileComponent } from './create-profile.component'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { CreateProfileComponent } from './create-profile.component'; /** * Themed wrapper for CreateProfileComponent diff --git a/src/app/register-page/register-email/register-email.component.spec.ts b/src/app/register-page/register-email/register-email.component.spec.ts index cf6474f06b..d9aa440ccb 100644 --- a/src/app/register-page/register-email/register-email.component.spec.ts +++ b/src/app/register-page/register-email/register-email.component.spec.ts @@ -1,8 +1,13 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { ReactiveFormsModule } from '@angular/forms'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { ReactiveFormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + import { RegisterEmailComponent } from './register-email.component'; describe('RegisterEmailComponent', () => { diff --git a/src/app/register-page/register-email/register-email.component.ts b/src/app/register-page/register-email/register-email.component.ts index ca3d8c6acb..8ecfcca61b 100644 --- a/src/app/register-page/register-email/register-email.component.ts +++ b/src/app/register-page/register-email/register-email.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { TYPE_REQUEST_REGISTER } from '../../register-email-form/register-email-form.component'; @Component({ diff --git a/src/app/register-page/register-email/themed-register-email.component.ts b/src/app/register-page/register-email/themed-register-email.component.ts index 6da6899d99..deaed25193 100644 --- a/src/app/register-page/register-email/themed-register-email.component.ts +++ b/src/app/register-page/register-email/themed-register-email.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { RegisterEmailComponent } from './register-email.component'; diff --git a/src/app/register-page/register-page-routing.module.ts b/src/app/register-page/register-page-routing.module.ts index 5101584be6..dd3463a65c 100644 --- a/src/app/register-page/register-page-routing.module.ts +++ b/src/app/register-page/register-page-routing.module.ts @@ -1,9 +1,10 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { ThemedRegisterEmailComponent } from './register-email/themed-register-email.component'; -import { ItemPageResolver } from '../item-page/item-page.resolver'; + import { EndUserAgreementCookieGuard } from '../core/end-user-agreement/end-user-agreement-cookie.guard'; +import { ItemPageResolver } from '../item-page/item-page.resolver'; import { ThemedCreateProfileComponent } from './create-profile/themed-create-profile.component'; +import { ThemedRegisterEmailComponent } from './register-email/themed-register-email.component'; import { RegistrationGuard } from './registration.guard'; @NgModule({ diff --git a/src/app/register-page/register-page.module.ts b/src/app/register-page/register-page.module.ts index 7128401dbc..4708987dc9 100644 --- a/src/app/register-page/register-page.module.ts +++ b/src/app/register-page/register-page.module.ts @@ -1,13 +1,14 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { SharedModule } from '../shared/shared.module'; -import { RegisterPageRoutingModule } from './register-page-routing.module'; -import { RegisterEmailComponent } from './register-email/register-email.component'; -import { CreateProfileComponent } from './create-profile/create-profile.component'; -import { RegisterEmailFormModule } from '../register-email-form/register-email-form.module'; +import { NgModule } from '@angular/core'; + import { ProfilePageModule } from '../profile-page/profile-page.module'; +import { RegisterEmailFormModule } from '../register-email-form/register-email-form.module'; +import { SharedModule } from '../shared/shared.module'; +import { CreateProfileComponent } from './create-profile/create-profile.component'; import { ThemedCreateProfileComponent } from './create-profile/themed-create-profile.component'; +import { RegisterEmailComponent } from './register-email/register-email.component'; import { ThemedRegisterEmailComponent } from './register-email/themed-register-email.component'; +import { RegisterPageRoutingModule } from './register-page-routing.module'; @NgModule({ imports: [ diff --git a/src/app/register-page/registration.guard.spec.ts b/src/app/register-page/registration.guard.spec.ts index 8906100885..7ac67895b6 100644 --- a/src/app/register-page/registration.guard.spec.ts +++ b/src/app/register-page/registration.guard.spec.ts @@ -1,14 +1,19 @@ -import { RegistrationGuard } from './registration.guard'; -import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; -import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Router, + RouterStateSnapshot, +} from '@angular/router'; +import { of as observableOf } from 'rxjs'; + import { AuthService } from '../core/auth/auth.service'; +import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; +import { RemoteData } from '../core/data/remote-data'; +import { Registration } from '../core/shared/registration.model'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, } from '../shared/remote-data.utils'; -import { Registration } from '../core/shared/registration.model'; -import { of as observableOf } from 'rxjs'; -import { RemoteData } from '../core/data/remote-data'; +import { RegistrationGuard } from './registration.guard'; describe('RegistrationGuard', () => { let guard: RegistrationGuard; diff --git a/src/app/register-page/registration.guard.ts b/src/app/register-page/registration.guard.ts index 3ffdd5a2e2..5eac132434 100644 --- a/src/app/register-page/registration.guard.ts +++ b/src/app/register-page/registration.guard.ts @@ -1,11 +1,17 @@ -import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router'; import { Injectable } from '@angular/core'; -import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; -import { AuthService } from '../core/auth/auth.service'; -import { map } from 'rxjs/operators'; -import { getFirstCompletedRemoteData } from '../core/shared/operators'; -import { redirectOn4xx } from '../core/shared/authorized.operators'; +import { + ActivatedRouteSnapshot, + CanActivate, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { AuthService } from '../core/auth/auth.service'; +import { EpersonRegistrationService } from '../core/data/eperson-registration.service'; +import { redirectOn4xx } from '../core/shared/authorized.operators'; +import { getFirstCompletedRemoteData } from '../core/shared/operators'; @Injectable({ providedIn: 'root', diff --git a/src/app/request-copy/deny-request-copy/deny-request-copy.component.spec.ts b/src/app/request-copy/deny-request-copy/deny-request-copy.component.spec.ts index 4461fa7198..0c1b4c64c2 100644 --- a/src/app/request-copy/deny-request-copy/deny-request-copy.component.spec.ts +++ b/src/app/request-copy/deny-request-copy/deny-request-copy.component.spec.ts @@ -1,26 +1,37 @@ -import { DenyRequestCopyComponent } from './deny-request-copy.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { AuthService } from '../../core/auth/auth.service'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { ItemRequestDataService } from '../../core/data/item-request-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { ItemRequestDataService } from '../../core/data/item-request-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { Item } from '../../core/shared/item.model'; +import { ItemRequest } from '../../core/shared/item-request.model'; +import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { ItemRequest } from '../../core/shared/item-request.model'; -import { EPerson } from '../../core/eperson/models/eperson.model'; -import { Item } from '../../core/shared/item.model'; +import { VarDirective } from '../../shared/utils/var.directive'; import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model'; -import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; +import { DenyRequestCopyComponent } from './deny-request-copy.component'; describe('DenyRequestCopyComponent', () => { let component: DenyRequestCopyComponent; diff --git a/src/app/request-copy/deny-request-copy/deny-request-copy.component.ts b/src/app/request-copy/deny-request-copy/deny-request-copy.component.ts index dab0db7e9f..4c9b53b4e2 100644 --- a/src/app/request-copy/deny-request-copy/deny-request-copy.component.ts +++ b/src/app/request-copy/deny-request-copy/deny-request-copy.component.ts @@ -1,24 +1,37 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { map, switchMap } from 'rxjs/operators'; -import { ItemRequest } from '../../core/shared/item-request.model'; -import { Observable } from 'rxjs'; import { - getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, -} from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { AuthService } from '../../core/auth/auth.service'; + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { combineLatest as observableCombineLatest } from 'rxjs'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { EPerson } from '../../core/eperson/models/eperson.model'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { AuthService } from '../../core/auth/auth.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { Item } from '../../core/shared/item.model'; -import { isNotEmpty } from '../../shared/empty.util'; +import { ItemDataService } from '../../core/data/item-data.service'; import { ItemRequestDataService } from '../../core/data/item-request-data.service'; -import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { EPerson } from '../../core/eperson/models/eperson.model'; import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { Item } from '../../core/shared/item.model'; +import { ItemRequest } from '../../core/shared/item-request.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../core/shared/operators'; +import { isNotEmpty } from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model'; @Component({ selector: 'ds-deny-request-copy', diff --git a/src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts b/src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts index 60c1e7ba32..49d14d9fb4 100644 --- a/src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts +++ b/src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts @@ -1,6 +1,5 @@ import { Component } from '@angular/core'; import { ThemedComponent } from 'src/app/shared/theme-support/themed.component'; - import { DenyRequestCopyComponent } from 'src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component'; /** diff --git a/src/app/request-copy/email-request-copy/email-request-copy.component.spec.ts b/src/app/request-copy/email-request-copy/email-request-copy.component.spec.ts index 2f1e98a63a..1c944a9b71 100644 --- a/src/app/request-copy/email-request-copy/email-request-copy.component.spec.ts +++ b/src/app/request-copy/email-request-copy/email-request-copy.component.spec.ts @@ -1,10 +1,15 @@ -import { EmailRequestCopyComponent } from './email-request-copy.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; import { Location } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { VarDirective } from '../../shared/utils/var.directive'; +import { EmailRequestCopyComponent } from './email-request-copy.component'; import { RequestCopyEmail } from './request-copy-email.model'; describe('EmailRequestCopyComponent', () => { diff --git a/src/app/request-copy/email-request-copy/email-request-copy.component.ts b/src/app/request-copy/email-request-copy/email-request-copy.component.ts index fc3d64f85c..9e13215346 100644 --- a/src/app/request-copy/email-request-copy/email-request-copy.component.ts +++ b/src/app/request-copy/email-request-copy/email-request-copy.component.ts @@ -1,6 +1,12 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { RequestCopyEmail } from './request-copy-email.model'; import { Location } from '@angular/common'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + +import { RequestCopyEmail } from './request-copy-email.model'; @Component({ selector: 'ds-email-request-copy', diff --git a/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts b/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts index d010e43060..3d74abbde7 100644 --- a/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts +++ b/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts @@ -1,4 +1,9 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; import { ThemedComponent } from 'src/app/shared/theme-support/themed.component'; import { EmailRequestCopyComponent } from './email-request-copy.component'; diff --git a/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.spec.ts b/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.spec.ts index 13322eaffa..b066a47cb5 100644 --- a/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.spec.ts +++ b/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.spec.ts @@ -1,23 +1,34 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { AuthService } from '../../core/auth/auth.service'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { Item } from '../../core/shared/item.model'; +import { ItemRequest } from '../../core/shared/item-request.model'; +import { getItemPageRoute } from '../../item-page/item-page-routing-paths'; import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { ItemRequest } from '../../core/shared/item-request.model'; -import { Item } from '../../core/shared/item.model'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { + getRequestCopyDenyRoute, + getRequestCopyGrantRoute, +} from '../request-copy-routing-paths'; import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy.component'; -import { getItemPageRoute } from '../../item-page/item-page-routing-paths'; -import { getRequestCopyDenyRoute, getRequestCopyGrantRoute } from '../request-copy-routing-paths'; -import { By } from '@angular/platform-browser'; describe('GrantDenyRequestCopyComponent', () => { let component: GrantDenyRequestCopyComponent; diff --git a/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.ts b/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.ts index d683d7ddc2..c88c3c73ab 100644 --- a/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.ts +++ b/src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.ts @@ -1,20 +1,33 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { map, switchMap } from 'rxjs/operators'; -import { ItemRequest } from '../../core/shared/item-request.model'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { Item } from '../../core/shared/item.model'; +import { ItemRequest } from '../../core/shared/item-request.model'; import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, } from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { AuthService } from '../../core/auth/auth.service'; -import { getRequestCopyDenyRoute, getRequestCopyGrantRoute } from '../request-copy-routing-paths'; -import { Item } from '../../core/shared/item.model'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { getItemPageRoute } from '../../item-page/item-page-routing-paths'; -import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { + getRequestCopyDenyRoute, + getRequestCopyGrantRoute, +} from '../request-copy-routing-paths'; @Component({ selector: 'ds-grant-deny-request-copy', diff --git a/src/app/request-copy/grant-request-copy/grant-request-copy.component.spec.ts b/src/app/request-copy/grant-request-copy/grant-request-copy.component.spec.ts index 7832da5875..3d6dbc7bee 100644 --- a/src/app/request-copy/grant-request-copy/grant-request-copy.component.spec.ts +++ b/src/app/request-copy/grant-request-copy/grant-request-copy.component.spec.ts @@ -1,26 +1,37 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { AuthService } from '../../core/auth/auth.service'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { ItemRequestDataService } from '../../core/data/item-request-data.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { ItemRequestDataService } from '../../core/data/item-request-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { Item } from '../../core/shared/item.model'; +import { ItemRequest } from '../../core/shared/item-request.model'; +import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { ItemRequest } from '../../core/shared/item-request.model'; -import { EPerson } from '../../core/eperson/models/eperson.model'; -import { Item } from '../../core/shared/item.model'; +import { VarDirective } from '../../shared/utils/var.directive'; import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model'; import { GrantRequestCopyComponent } from './grant-request-copy.component'; -import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock'; describe('GrantRequestCopyComponent', () => { let component: GrantRequestCopyComponent; diff --git a/src/app/request-copy/grant-request-copy/grant-request-copy.component.ts b/src/app/request-copy/grant-request-copy/grant-request-copy.component.ts index 322cdab4de..5536a70384 100644 --- a/src/app/request-copy/grant-request-copy/grant-request-copy.component.ts +++ b/src/app/request-copy/grant-request-copy/grant-request-copy.component.ts @@ -1,18 +1,29 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { map, switchMap } from 'rxjs/operators'; -import { ItemRequest } from '../../core/shared/item-request.model'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; import { - getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, -} from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; + map, + switchMap, +} from 'rxjs/operators'; + import { AuthService } from '../../core/auth/auth.service'; -import { TranslateService } from '@ngx-translate/core'; import { ItemRequestDataService } from '../../core/data/item-request-data.service'; -import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { RemoteData } from '../../core/data/remote-data'; import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { ItemRequest } from '../../core/shared/item-request.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../core/shared/operators'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model'; @Component({ selector: 'ds-grant-request-copy', diff --git a/src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts b/src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts index 625dcef57a..274df47a0a 100644 --- a/src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts +++ b/src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts @@ -1,5 +1,6 @@ import { Component } from '@angular/core'; import { ThemedComponent } from 'src/app/shared/theme-support/themed.component'; + import { GrantRequestCopyComponent } from './grant-request-copy.component'; /** diff --git a/src/app/request-copy/request-copy-routing-paths.ts b/src/app/request-copy/request-copy-routing-paths.ts index 1d0204a1b8..2518e34fc2 100644 --- a/src/app/request-copy/request-copy-routing-paths.ts +++ b/src/app/request-copy/request-copy-routing-paths.ts @@ -1,5 +1,5 @@ -import { URLCombiner } from '../core/url-combiner/url-combiner'; import { getRequestCopyModulePath } from '../app-routing-paths'; +import { URLCombiner } from '../core/url-combiner/url-combiner'; export function getRequestCopyRoute(token: string) { return new URLCombiner(getRequestCopyModulePath(), token).toString(); diff --git a/src/app/request-copy/request-copy-routing.module.ts b/src/app/request-copy/request-copy-routing.module.ts index adab65a358..1c8c8ce1dd 100644 --- a/src/app/request-copy/request-copy-routing.module.ts +++ b/src/app/request-copy/request-copy-routing.module.ts @@ -1,10 +1,14 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { RequestCopyResolver } from './request-copy.resolver'; -import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component'; -import { REQUEST_COPY_DENY_PATH, REQUEST_COPY_GRANT_PATH } from './request-copy-routing-paths'; + import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component'; +import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component'; import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component'; +import { RequestCopyResolver } from './request-copy.resolver'; +import { + REQUEST_COPY_DENY_PATH, + REQUEST_COPY_GRANT_PATH, +} from './request-copy-routing-paths'; @NgModule({ imports: [ diff --git a/src/app/request-copy/request-copy.module.ts b/src/app/request-copy/request-copy.module.ts index 75987ed6e2..71bb19d6b7 100644 --- a/src/app/request-copy/request-copy.module.ts +++ b/src/app/request-copy/request-copy.module.ts @@ -1,14 +1,15 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; -import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component'; -import { RequestCopyRoutingModule } from './request-copy-routing.module'; import { DenyRequestCopyComponent } from './deny-request-copy/deny-request-copy.component'; import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component'; import { EmailRequestCopyComponent } from './email-request-copy/email-request-copy.component'; import { ThemedEmailRequestCopyComponent } from './email-request-copy/themed-email-request-copy.component'; +import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component'; import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-copy.component'; import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component'; +import { RequestCopyRoutingModule } from './request-copy-routing.module'; @NgModule({ imports: [ diff --git a/src/app/request-copy/request-copy.resolver.ts b/src/app/request-copy/request-copy.resolver.ts index e5c98b0138..e7f1c1bc53 100644 --- a/src/app/request-copy/request-copy.resolver.ts +++ b/src/app/request-copy/request-copy.resolver.ts @@ -1,9 +1,14 @@ -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { Injectable } from '@angular/core'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; +import { Observable } from 'rxjs'; + +import { ItemRequestDataService } from '../core/data/item-request-data.service'; import { RemoteData } from '../core/data/remote-data'; import { ItemRequest } from '../core/shared/item-request.model'; -import { Observable } from 'rxjs'; -import { ItemRequestDataService } from '../core/data/item-request-data.service'; -import { Injectable } from '@angular/core'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; /** diff --git a/src/app/root.module.ts b/src/app/root.module.ts index 171236159b..6cfa4e2775 100644 --- a/src/app/root.module.ts +++ b/src/app/root.module.ts @@ -1,48 +1,35 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; - import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { - AdminSidebarSectionComponent, -} from './admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component'; import { AdminSidebarComponent } from './admin/admin-sidebar/admin-sidebar.component'; +import { AdminSidebarSectionComponent } from './admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component'; +import { ExpandableAdminSidebarSectionComponent } from './admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component'; import { ThemedAdminSidebarComponent } from './admin/admin-sidebar/themed-admin-sidebar.component'; -import { - ExpandableAdminSidebarSectionComponent, -} from './admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component'; -import { FooterComponent } from './footer/footer.component'; -import { HeaderNavbarWrapperComponent } from './header-nav-wrapper/header-navbar-wrapper.component'; -import { HeaderComponent } from './header/header.component'; -import { NavbarModule } from './navbar/navbar.module'; -import { PageNotFoundComponent } from './pagenotfound/pagenotfound.component'; -import { NotificationComponent } from './shared/notifications/notification/notification.component'; -import { - NotificationsBoardComponent, -} from './shared/notifications/notifications-board/notifications-board.component'; -import { SharedModule } from './shared/shared.module'; import { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component'; +import { ThemedBreadcrumbsComponent } from './breadcrumbs/themed-breadcrumbs.component'; +import { FooterComponent } from './footer/footer.component'; +import { ThemedFooterComponent } from './footer/themed-footer.component'; import { ForbiddenComponent } from './forbidden/forbidden.component'; +import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component'; +import { ContextHelpToggleComponent } from './header/context-help-toggle/context-help-toggle.component'; +import { HeaderComponent } from './header/header.component'; +import { ThemedHeaderComponent } from './header/themed-header.component'; +import { HeaderNavbarWrapperComponent } from './header-nav-wrapper/header-navbar-wrapper.component'; +import { ThemedHeaderNavbarWrapperComponent } from './header-nav-wrapper/themed-header-navbar-wrapper.component'; +import { NavbarModule } from './navbar/navbar.module'; +import { PageErrorComponent } from './page-error/page-error.component'; +import { ThemedPageErrorComponent } from './page-error/themed-page-error.component'; +import { PageInternalServerErrorComponent } from './page-internal-server-error/page-internal-server-error.component'; +import { ThemedPageInternalServerErrorComponent } from './page-internal-server-error/themed-page-internal-server-error.component'; +import { PageNotFoundComponent } from './pagenotfound/pagenotfound.component'; +import { ThemedPageNotFoundComponent } from './pagenotfound/themed-pagenotfound.component'; import { RootComponent } from './root/root.component'; import { ThemedRootComponent } from './root/themed-root.component'; -import { ThemedPageNotFoundComponent } from './pagenotfound/themed-pagenotfound.component'; -import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component'; -import { ThemedHeaderComponent } from './header/themed-header.component'; -import { ThemedFooterComponent } from './footer/themed-footer.component'; -import { ThemedBreadcrumbsComponent } from './breadcrumbs/themed-breadcrumbs.component'; -import { - ThemedHeaderNavbarWrapperComponent, -} from './header-nav-wrapper/themed-header-navbar-wrapper.component'; import { IdleModalComponent } from './shared/idle-modal/idle-modal.component'; -import { - ThemedPageInternalServerErrorComponent, -} from './page-internal-server-error/themed-page-internal-server-error.component'; -import { - PageInternalServerErrorComponent, -} from './page-internal-server-error/page-internal-server-error.component'; -import { ThemedPageErrorComponent } from './page-error/themed-page-error.component'; -import { PageErrorComponent } from './page-error/page-error.component'; -import { ContextHelpToggleComponent } from './header/context-help-toggle/context-help-toggle.component'; +import { NotificationComponent } from './shared/notifications/notification/notification.component'; +import { NotificationsBoardComponent } from './shared/notifications/notifications-board/notifications-board.component'; +import { SharedModule } from './shared/shared.module'; import { SystemWideAlertModule } from './system-wide-alert/system-wide-alert.module'; const IMPORTS = [ diff --git a/src/app/root/root.component.spec.ts b/src/app/root/root.component.spec.ts index dc5a82a6ad..e81eec3090 100644 --- a/src/app/root/root.component.spec.ts +++ b/src/app/root/root.component.spec.ts @@ -1,32 +1,45 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { RootComponent } from './root.component'; import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { StoreModule } from '@ngrx/store'; -import { authReducer } from '../core/auth/auth.reducer'; +import { provideMockStore } from '@ngrx/store/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { storeModuleConfig } from '../app.reducer'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; -import { NativeWindowRef, NativeWindowService } from '../core/services/window.service'; -import { MetadataService } from '../core/metadata/metadata.service'; -import { MetadataServiceMock } from '../shared/mocks/metadata-service.mock'; -import { AngularticsProviderMock } from '../shared/mocks/angulartics-provider.service.mock'; -import { Angulartics2DSpace } from '../statistics/angulartics/dspace-provider'; +import { authReducer } from '../core/auth/auth.reducer'; import { AuthService } from '../core/auth/auth.service'; -import { AuthServiceMock } from '../shared/mocks/auth.service.mock'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterMock } from '../shared/mocks/router.mock'; -import { MockActivatedRoute } from '../shared/mocks/active-router.mock'; +import { LocaleService } from '../core/locale/locale.service'; +import { MetadataService } from '../core/metadata/metadata.service'; +import { RouteService } from '../core/services/route.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../core/services/window.service'; +import { HostWindowService } from '../shared/host-window.service'; import { MenuService } from '../shared/menu/menu.service'; +import { MockActivatedRoute } from '../shared/mocks/active-router.mock'; +import { AngularticsProviderMock } from '../shared/mocks/angulartics-provider.service.mock'; +import { AuthServiceMock } from '../shared/mocks/auth.service.mock'; +import { MetadataServiceMock } from '../shared/mocks/metadata-service.mock'; +import { RouterMock } from '../shared/mocks/router.mock'; +import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; import { CSSVariableService } from '../shared/sass-helper/css-variable.service'; import { CSSVariableServiceStub } from '../shared/testing/css-variable-service.stub'; -import { HostWindowService } from '../shared/host-window.service'; import { HostWindowServiceStub } from '../shared/testing/host-window-service.stub'; -import { LocaleService } from '../core/locale/locale.service'; -import { provideMockStore } from '@ngrx/store/testing'; -import { RouteService } from '../core/services/route.service'; -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { MenuServiceStub } from '../shared/testing/menu-service.stub'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Angulartics2DSpace } from '../statistics/angulartics/dspace-provider'; +import { RootComponent } from './root.component'; describe('RootComponent', () => { let component: RootComponent; diff --git a/src/app/root/root.component.ts b/src/app/root/root.component.ts index db5487c4fe..9ae23a47da 100644 --- a/src/app/root/root.component.ts +++ b/src/app/root/root.component.ts @@ -1,25 +1,39 @@ -import { map, startWith } from 'rxjs/operators'; -import { Component, Inject, Input, OnInit } from '@angular/core'; +import { + Component, + Inject, + Input, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - -import { combineLatest as combineLatestObservable, Observable, of } from 'rxjs'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest as combineLatestObservable, + Observable, + of, +} from 'rxjs'; +import { + map, + startWith, +} from 'rxjs/operators'; -import { MetadataService } from '../core/metadata/metadata.service'; -import { HostWindowState } from '../shared/search/host-window.reducer'; -import { NativeWindowRef, NativeWindowService } from '../core/services/window.service'; -import { AuthService } from '../core/auth/auth.service'; -import { CSSVariableService } from '../shared/sass-helper/css-variable.service'; -import { MenuService } from '../shared/menu/menu.service'; -import { HostWindowService } from '../shared/host-window.service'; import { ThemeConfig } from '../../config/theme.model'; -import { Angulartics2DSpace } from '../statistics/angulartics/dspace-provider'; import { environment } from '../../environments/environment'; -import { slideSidebarPadding } from '../shared/animations/slide'; -import { MenuID } from '../shared/menu/menu-id.model'; import { getPageInternalServerErrorRoute } from '../app-routing-paths'; +import { AuthService } from '../core/auth/auth.service'; +import { MetadataService } from '../core/metadata/metadata.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../core/services/window.service'; +import { slideSidebarPadding } from '../shared/animations/slide'; import { hasValueOperator } from '../shared/empty.util'; +import { HostWindowService } from '../shared/host-window.service'; +import { MenuService } from '../shared/menu/menu.service'; +import { MenuID } from '../shared/menu/menu-id.model'; +import { CSSVariableService } from '../shared/sass-helper/css-variable.service'; +import { HostWindowState } from '../shared/search/host-window.reducer'; +import { Angulartics2DSpace } from '../statistics/angulartics/dspace-provider'; @Component({ selector: 'ds-root', diff --git a/src/app/root/themed-root.component.ts b/src/app/root/themed-root.component.ts index 5dfa1edf31..894d0dfee2 100644 --- a/src/app/root/themed-root.component.ts +++ b/src/app/root/themed-root.component.ts @@ -1,6 +1,10 @@ +import { + Component, + Input, +} from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { RootComponent } from './root.component'; -import { Component, Input } from '@angular/core'; @Component({ selector: 'ds-themed-root', diff --git a/src/app/search-navbar/search-navbar.component.spec.ts b/src/app/search-navbar/search-navbar.component.spec.ts index e9ddac6673..b8dc3de639 100644 --- a/src/app/search-navbar/search-navbar.component.spec.ts +++ b/src/app/search-navbar/search-navbar.component.spec.ts @@ -1,16 +1,31 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { NavigationExtras, Router } from '@angular/router'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + NavigationExtras, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { SearchService } from '../core/shared/search/search.service'; import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; - -import { SearchNavbarComponent } from './search-navbar.component'; -import { PaginationServiceStub } from '../shared/testing/pagination-service.stub'; -import { RouterTestingModule } from '@angular/router/testing'; import { BrowserOnlyMockPipe } from '../shared/testing/browser-only-mock.pipe'; +import { PaginationServiceStub } from '../shared/testing/pagination-service.stub'; +import { SearchNavbarComponent } from './search-navbar.component'; describe('SearchNavbarComponent', () => { let component: SearchNavbarComponent; diff --git a/src/app/search-navbar/search-navbar.component.ts b/src/app/search-navbar/search-navbar.component.ts index b0eb592b43..1fd46af11b 100644 --- a/src/app/search-navbar/search-navbar.component.ts +++ b/src/app/search-navbar/search-navbar.component.ts @@ -1,6 +1,11 @@ -import { Component, ElementRef, ViewChild } from '@angular/core'; +import { + Component, + ElementRef, + ViewChild, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; import { Router } from '@angular/router'; + import { SearchService } from '../core/shared/search/search.service'; import { expandSearchInput } from '../shared/animations/slide'; diff --git a/src/app/search-navbar/themed-search-navbar.component.ts b/src/app/search-navbar/themed-search-navbar.component.ts index a90e782194..f4a8f1d270 100644 --- a/src/app/search-navbar/themed-search-navbar.component.ts +++ b/src/app/search-navbar/themed-search-navbar.component.ts @@ -1,6 +1,7 @@ +import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { SearchNavbarComponent } from './search-navbar.component'; -import { Component } from '@angular/core'; @Component({ selector: 'ds-themed-search-navbar', diff --git a/src/app/search-page/configuration-search-page.component.spec.ts b/src/app/search-page/configuration-search-page.component.spec.ts index 4468aad9c4..2467e5ada4 100644 --- a/src/app/search-page/configuration-search-page.component.spec.ts +++ b/src/app/search-page/configuration-search-page.component.spec.ts @@ -1,10 +1,18 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + Component, + ViewChild, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { Router } from '@angular/router'; + +import { RouteService } from '../core/services/route.service'; +import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; import { configureSearchComponentTestingModule } from '../shared/search/search.component.spec'; import { ConfigurationSearchPageComponent } from './configuration-search-page.component'; -import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; -import { Component, ViewChild } from '@angular/core'; -import { Router } from '@angular/router'; -import { RouteService } from '../core/services/route.service'; import createSpy = jasmine.createSpy; const CONFIGURATION = 'test-configuration'; diff --git a/src/app/search-page/configuration-search-page.component.ts b/src/app/search-page/configuration-search-page.component.ts index 1ee54a9ef0..fa9d3f579a 100644 --- a/src/app/search-page/configuration-search-page.component.ts +++ b/src/app/search-page/configuration-search-page.component.ts @@ -1,13 +1,18 @@ -import { HostWindowService } from '../shared/host-window.service'; -import { SidebarService } from '../shared/sidebar/sidebar.service'; -import { SearchComponent } from '../shared/search/search.component'; -import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; -import { pushInOut } from '../shared/animations/push'; -import { SEARCH_CONFIG_SERVICE } from '../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; +import { + ChangeDetectionStrategy, + Component, + Inject, +} from '@angular/core'; +import { Router } from '@angular/router'; + import { RouteService } from '../core/services/route.service'; import { SearchService } from '../core/shared/search/search.service'; -import { Router } from '@angular/router'; +import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../my-dspace-page/my-dspace-page.component'; +import { pushInOut } from '../shared/animations/push'; +import { HostWindowService } from '../shared/host-window.service'; +import { SearchComponent } from '../shared/search/search.component'; +import { SidebarService } from '../shared/sidebar/sidebar.service'; /** * This component renders a search page using a configuration as input. diff --git a/src/app/search-page/configuration-search-page.guard.ts b/src/app/search-page/configuration-search-page.guard.ts index c52a0a6d8e..28d68618b0 100644 --- a/src/app/search-page/configuration-search-page.guard.ts +++ b/src/app/search-page/configuration-search-page.guard.ts @@ -1,5 +1,9 @@ import { Injectable } from '@angular/core'; -import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + CanActivate, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; @Injectable() diff --git a/src/app/search-page/search-page-routing.module.ts b/src/app/search-page/search-page-routing.module.ts index 95e60b3ba3..42be35903c 100644 --- a/src/app/search-page/search-page-routing.module.ts +++ b/src/app/search-page/search-page-routing.module.ts @@ -1,12 +1,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { ConfigurationSearchPageGuard } from './configuration-search-page.guard'; import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; +import { ConfigurationSearchPageGuard } from './configuration-search-page.guard'; import { SearchPageModule } from './search-page.module'; -import { ThemedSearchPageComponent } from './themed-search-page.component'; import { ThemedConfigurationSearchPageComponent } from './themed-configuration-search-page.component'; +import { ThemedSearchPageComponent } from './themed-search-page.component'; @NgModule({ imports: [ diff --git a/src/app/search-page/search-page.component.ts b/src/app/search-page/search-page.component.ts index 36a36aef9c..15c697ffc9 100644 --- a/src/app/search-page/search-page.component.ts +++ b/src/app/search-page/search-page.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { SEARCH_CONFIG_SERVICE } from '../my-dspace-page/my-dspace-page.component'; + import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../my-dspace-page/my-dspace-page.component'; @Component({ selector: 'ds-search-page', diff --git a/src/app/search-page/search-page.module.ts b/src/app/search-page/search-page.module.ts index a89290f330..5b23184b43 100644 --- a/src/app/search-page/search-page.module.ts +++ b/src/app/search-page/search-page.module.ts @@ -1,17 +1,18 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + import { CoreModule } from '../core/core.module'; -import { SharedModule } from '../shared/shared.module'; -import { SidebarService } from '../shared/sidebar/sidebar.service'; -import { ConfigurationSearchPageGuard } from './configuration-search-page.guard'; -import { StatisticsModule } from '../statistics/statistics.module'; -import { SearchPageComponent } from './search-page.component'; -import { SearchFilterService } from '../core/shared/search/search-filter.service'; import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; +import { SearchFilterService } from '../core/shared/search/search-filter.service'; import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module'; -import { ThemedSearchPageComponent } from './themed-search-page.component'; import { SearchModule } from '../shared/search/search.module'; +import { SharedModule } from '../shared/shared.module'; +import { SidebarService } from '../shared/sidebar/sidebar.service'; +import { StatisticsModule } from '../statistics/statistics.module'; +import { ConfigurationSearchPageGuard } from './configuration-search-page.guard'; +import { SearchPageComponent } from './search-page.component'; +import { ThemedSearchPageComponent } from './themed-search-page.component'; const components = [ SearchPageComponent, diff --git a/src/app/search-page/themed-configuration-search-page.component.ts b/src/app/search-page/themed-configuration-search-page.component.ts index e1c412a822..b5d917f707 100644 --- a/src/app/search-page/themed-configuration-search-page.component.ts +++ b/src/app/search-page/themed-configuration-search-page.component.ts @@ -1,8 +1,12 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; +import { Observable } from 'rxjs'; + +import { Context } from '../core/shared/context.model'; import { ThemedComponent } from '../shared/theme-support/themed.component'; import { ConfigurationSearchPageComponent } from './configuration-search-page.component'; -import { Observable } from 'rxjs'; -import { Context } from '../core/shared/context.model'; /** * Themed wrapper for ConfigurationSearchPageComponent diff --git a/src/app/search-page/themed-search-page.component.ts b/src/app/search-page/themed-search-page.component.ts index 12acd6174c..295e1d7916 100644 --- a/src/app/search-page/themed-search-page.component.ts +++ b/src/app/search-page/themed-search-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../shared/theme-support/themed.component'; import { SearchPageComponent } from './search-page.component'; diff --git a/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.spec.ts b/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.spec.ts index 787a944451..26af151779 100644 --- a/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.spec.ts +++ b/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.spec.ts @@ -1,14 +1,17 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AccessControlArrayFormComponent } from './access-control-array-form.component'; -import { FormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { ToDatePipe } from './to-date.pipe'; +import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + import { SharedBrowseByModule } from '../../browse-by/shared-browse-by.module'; +import { AccessControlArrayFormComponent } from './access-control-array-form.component'; +import { ToDatePipe } from './to-date.pipe'; describe('AccessControlArrayFormComponent', () => { let component: AccessControlArrayFormComponent; diff --git a/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts b/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts index 6945674ce6..b3f622ea71 100644 --- a/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts +++ b/src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts @@ -1,5 +1,11 @@ -import {Component, Input, OnInit, ViewChild} from '@angular/core'; +import { + Component, + Input, + OnInit, + ViewChild, +} from '@angular/core'; import {NgForm} from '@angular/forms'; + import {AccessesConditionOption} from '../../../core/config/models/config-accesses-conditions-options.model'; import {dateToISOFormat} from '../../date.util'; diff --git a/src/app/shared/access-control-form-container/access-control-array-form/to-date.pipe.ts b/src/app/shared/access-control-form-container/access-control-array-form/to-date.pipe.ts index 8da9f7ef5a..f9a0ac8203 100644 --- a/src/app/shared/access-control-form-container/access-control-array-form/to-date.pipe.ts +++ b/src/app/shared/access-control-form-container/access-control-array-form/to-date.pipe.ts @@ -1,4 +1,7 @@ -import {Pipe, PipeTransform} from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; import {NgbDateStruct} from '@ng-bootstrap/ng-bootstrap/datepicker/ngb-date-struct'; @Pipe({ diff --git a/src/app/shared/access-control-form-container/access-control-form-container.component.spec.ts b/src/app/shared/access-control-form-container/access-control-form-container.component.spec.ts index 7e131ccfd1..730b26b546 100644 --- a/src/app/shared/access-control-form-container/access-control-form-container.component.spec.ts +++ b/src/app/shared/access-control-form-container/access-control-form-container.component.spec.ts @@ -1,22 +1,29 @@ -import {ComponentFixture, fakeAsync, TestBed} from '@angular/core/testing'; -import {NgbDatepickerModule, NgbModal, NgbModalRef} from '@ng-bootstrap/ng-bootstrap'; +import {CommonModule} from '@angular/common'; import {Component} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, +} from '@angular/core/testing'; +import {FormsModule} from '@angular/forms'; +import { + NgbDatepickerModule, + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import {TranslateModule} from '@ngx-translate/core'; +import {UiSwitchModule} from 'ngx-ui-switch'; import {of} from 'rxjs'; -import {AccessControlFormContainerComponent} from './access-control-form-container.component'; -import {BulkAccessControlService} from './bulk-access-control.service'; + import {BulkAccessConfigDataService} from '../../core/config/bulk-access-config-data.service'; import {Item} from '../../core/shared/item.model'; -import {SelectableListService} from '../object-list/selectable-list/selectable-list.service'; -import {createAccessControlInitialFormState} from './access-control-form-container-intial-state'; -import {CommonModule} from '@angular/common'; import {SharedBrowseByModule} from '../browse-by/shared-browse-by.module'; -import {TranslateModule} from '@ngx-translate/core'; -import {FormsModule} from '@angular/forms'; -import {UiSwitchModule} from 'ngx-ui-switch'; -import { - ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID, -} from './item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component'; +import {SelectableListService} from '../object-list/selectable-list/selectable-list.service'; import {AccessControlFormModule} from './access-control-form.module'; +import {AccessControlFormContainerComponent} from './access-control-form-container.component'; +import {createAccessControlInitialFormState} from './access-control-form-container-intial-state'; +import {BulkAccessControlService} from './bulk-access-control.service'; +import { ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID } from './item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component'; describe('AccessControlFormContainerComponent', () => { diff --git a/src/app/shared/access-control-form-container/access-control-form-container.component.ts b/src/app/shared/access-control-form-container/access-control-form-container.component.ts index bd5b5e7b87..cf1053c1f0 100644 --- a/src/app/shared/access-control-form-container/access-control-form-container.component.ts +++ b/src/app/shared/access-control-form-container/access-control-form-container.component.ts @@ -1,24 +1,36 @@ -import { ChangeDetectorRef, Component, Input, OnDestroy, ViewChild } from '@angular/core'; -import { concatMap, Observable, shareReplay } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { Item } from '../../core/shared/item.model'; -import { AccessControlArrayFormComponent } from './access-control-array-form/access-control-array-form.component'; -import { BulkAccessControlService } from './bulk-access-control.service'; -import { SelectableListService } from '../object-list/selectable-list/selectable-list.service'; +import { + ChangeDetectorRef, + Component, + Input, + OnDestroy, + ViewChild, +} from '@angular/core'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { map, take } from 'rxjs/operators'; +import { + concatMap, + Observable, + shareReplay, +} from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; + +import { BulkAccessConfigDataService } from '../../core/config/bulk-access-config-data.service'; +import { BulkAccessConditionOptions } from '../../core/config/models/bulk-access-condition-options.model'; +import { RemoteData } from '../../core/data/remote-data'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Item } from '../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { AlertType } from '../alert/aletr-type'; +import { SelectableListService } from '../object-list/selectable-list/selectable-list.service'; +import { AccessControlArrayFormComponent } from './access-control-array-form/access-control-array-form.component'; +import { createAccessControlInitialFormState } from './access-control-form-container-intial-state'; +import { BulkAccessControlService } from './bulk-access-control.service'; import { ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID, ItemAccessControlSelectBitstreamsModalComponent, } from './item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component'; -import { BulkAccessConfigDataService } from '../../core/config/bulk-access-config-data.service'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { BulkAccessConditionOptions } from '../../core/config/models/bulk-access-condition-options.model'; -import { AlertType } from '../alert/aletr-type'; -import { - createAccessControlInitialFormState, -} from './access-control-form-container-intial-state'; @Component({ selector: 'ds-access-control-form-container', diff --git a/src/app/shared/access-control-form-container/access-control-form.module.ts b/src/app/shared/access-control-form-container/access-control-form.module.ts index 2aad57fcbc..38d4c1b774 100644 --- a/src/app/shared/access-control-form-container/access-control-form.module.ts +++ b/src/app/shared/access-control-form-container/access-control-form.module.ts @@ -1,17 +1,14 @@ -import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; - +import {NgModule} from '@angular/core'; +import {NgbDatepickerModule} from '@ng-bootstrap/ng-bootstrap'; import {TranslateModule} from '@ngx-translate/core'; import {UiSwitchModule} from 'ngx-ui-switch'; -import {AccessControlArrayFormComponent} from './access-control-array-form/access-control-array-form.component'; import {SharedModule} from '../shared.module'; -import { - ItemAccessControlSelectBitstreamsModalComponent, -} from './item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component'; -import {AccessControlFormContainerComponent} from './access-control-form-container.component'; -import {NgbDatepickerModule} from '@ng-bootstrap/ng-bootstrap'; +import {AccessControlArrayFormComponent} from './access-control-array-form/access-control-array-form.component'; import {ToDatePipe} from './access-control-array-form/to-date.pipe'; +import {AccessControlFormContainerComponent} from './access-control-form-container.component'; +import { ItemAccessControlSelectBitstreamsModalComponent } from './item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component'; @NgModule({ imports: [ diff --git a/src/app/shared/access-control-form-container/bulk-access-control.service.spec.ts b/src/app/shared/access-control-form-container/bulk-access-control.service.spec.ts index dcbdd9b89b..9539e63e39 100644 --- a/src/app/shared/access-control-form-container/bulk-access-control.service.spec.ts +++ b/src/app/shared/access-control-form-container/bulk-access-control.service.spec.ts @@ -2,13 +2,13 @@ import { TestBed } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { BulkAccessControlService } from './bulk-access-control.service'; import { ScriptDataService } from '../../core/data/processes/script-data.service'; +import { Process } from '../../process-page/processes/process.model'; import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; import { NotificationsService } from '../notifications/notifications.service'; -import { NotificationsServiceStub } from '../testing/notifications-service.stub'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { Process } from '../../process-page/processes/process.model'; +import { NotificationsServiceStub } from '../testing/notifications-service.stub'; +import { BulkAccessControlService } from './bulk-access-control.service'; describe('BulkAccessControlService', () => { let service: BulkAccessControlService; diff --git a/src/app/shared/access-control-form-container/bulk-access-control.service.ts b/src/app/shared/access-control-form-container/bulk-access-control.service.ts index 90d4d7f4ab..f3c284e358 100644 --- a/src/app/shared/access-control-form-container/bulk-access-control.service.ts +++ b/src/app/shared/access-control-form-container/bulk-access-control.service.ts @@ -1,19 +1,18 @@ import { Injectable } from '@angular/core'; import { Router } from '@angular/router'; - +import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { TranslateService } from '@ngx-translate/core'; import { ScriptDataService } from '../../core/data/processes/script-data.service'; -import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; -import { AccessControlFormState } from './access-control-form-container-intial-state'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { RemoteData } from '../../core/data/remote-data'; -import { Process } from '../../process-page/processes/process.model'; -import { isNotEmpty } from '../empty.util'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { getProcessDetailRoute } from '../../process-page/process-page-routing.paths'; +import { Process } from '../../process-page/processes/process.model'; +import { ProcessParameter } from '../../process-page/processes/process-parameter.model'; +import { isNotEmpty } from '../empty.util'; import { NotificationsService } from '../notifications/notifications.service'; +import { AccessControlFormState } from './access-control-form-container-intial-state'; export interface BulkAccessPayload { state: AccessControlFormState; diff --git a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts index 3824e2935d..d79375f18c 100644 --- a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts +++ b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts @@ -1,4 +1,7 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { ItemAccessControlSelectBitstreamsModalComponent } from './item-access-control-select-bitstreams-modal.component'; diff --git a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.ts b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.ts index 97c84ba09f..f3a938e356 100644 --- a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.ts +++ b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.ts @@ -1,17 +1,22 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject } from 'rxjs'; import { PaginatedList } from 'src/app/core/data/paginated-list.model'; import { RemoteData } from 'src/app/core/data/remote-data'; import { Bitstream } from 'src/app/core/shared/bitstream.model'; import { Context } from 'src/app/core/shared/context.model'; -import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; -import { Item } from '../../../core/shared/item.model'; + import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; import { PaginationService } from '../../../core/pagination/pagination.service'; -import { TranslateService } from '@ngx-translate/core'; -import { hasValue } from '../../empty.util'; +import { Item } from '../../../core/shared/item.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { hasValue } from '../../empty.util'; +import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; export const ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID = 'item-access-control-select-bitstreams'; diff --git a/src/app/shared/alert/alert.component.spec.ts b/src/app/shared/alert/alert.component.spec.ts index ffd81cd4dc..48c5312458 100644 --- a/src/app/shared/alert/alert.component.spec.ts +++ b/src/app/shared/alert/alert.component.spec.ts @@ -1,13 +1,24 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { BrowserModule, By } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { TranslateModule } from '@ngx-translate/core'; -import { AlertComponent } from './alert.component'; import { createTestComponent } from '../testing/utils.test'; +import { AlertComponent } from './alert.component'; import { AlertType } from './aletr-type'; describe('AlertComponent test suite', () => { diff --git a/src/app/shared/alert/alert.component.ts b/src/app/shared/alert/alert.component.ts index 657ec35550..00ff8a6564 100644 --- a/src/app/shared/alert/alert.component.ts +++ b/src/app/shared/alert/alert.component.ts @@ -1,8 +1,18 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { trigger } from '@angular/animations'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + Output, + ViewEncapsulation, +} from '@angular/core'; +import { + fadeOutLeave, + fadeOutState, +} from '../animations/fade'; import { AlertType } from './aletr-type'; -import { fadeOutLeave, fadeOutState } from '../animations/fade'; /** * This component allow to create div that uses the Bootstrap's Alerts component. diff --git a/src/app/shared/animations/bgColor.ts b/src/app/shared/animations/bgColor.ts index a34b32fff9..f117656836 100644 --- a/src/app/shared/animations/bgColor.ts +++ b/src/app/shared/animations/bgColor.ts @@ -1,7 +1,8 @@ import { animate, animateChild, - group, query, + group, + query, state, style, transition, diff --git a/src/app/shared/animations/fade.ts b/src/app/shared/animations/fade.ts index 9e86757baf..a16354aab2 100644 --- a/src/app/shared/animations/fade.ts +++ b/src/app/shared/animations/fade.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const fadeInState = state('fadeIn', style({opacity: 1})); export const fadeInEnter = transition('* => fadeIn', [ diff --git a/src/app/shared/animations/focus.ts b/src/app/shared/animations/focus.ts index 6227587e52..f0f3a1f95d 100644 --- a/src/app/shared/animations/focus.ts +++ b/src/app/shared/animations/focus.ts @@ -1,4 +1,10 @@ -import { animate, state, transition, trigger, style } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const focusShadow = trigger('focusShadow', [ diff --git a/src/app/shared/animations/fromBottom.ts b/src/app/shared/animations/fromBottom.ts index 603cedb1c7..4f0517030d 100644 --- a/src/app/shared/animations/fromBottom.ts +++ b/src/app/shared/animations/fromBottom.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const fromBottomInState = state('fromBottomIn', style({opacity: 1, transform: 'translateY(0)'})); export const fromBottomEnter = transition('* => fromBottomIn', [ diff --git a/src/app/shared/animations/fromLeft.ts b/src/app/shared/animations/fromLeft.ts index c514b1f8d3..1c9fc0f0f8 100644 --- a/src/app/shared/animations/fromLeft.ts +++ b/src/app/shared/animations/fromLeft.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const fromLeftInState = state('fromLeftIn', style({opacity: 1, transform: 'translateX(0)'})); export const fromLeftEnter = transition('* => fromLeftIn', [ diff --git a/src/app/shared/animations/fromRight.ts b/src/app/shared/animations/fromRight.ts index a64cb08803..f0a96dca1a 100644 --- a/src/app/shared/animations/fromRight.ts +++ b/src/app/shared/animations/fromRight.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const fromRightInState = state('fromRightIn', style({opacity: 1, transform: 'translateX(0)'})); export const fromRightEnter = transition('* => fromRightIn', [ diff --git a/src/app/shared/animations/fromTop.ts b/src/app/shared/animations/fromTop.ts index 474e52b949..9fe59426bc 100644 --- a/src/app/shared/animations/fromTop.ts +++ b/src/app/shared/animations/fromTop.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const fromTopInState = state('fromTopIn', style({opacity: 1, transform: 'translateY(0)'})); export const fromTopEnter = transition('* => fromTopIn', [ diff --git a/src/app/shared/animations/overlay.ts b/src/app/shared/animations/overlay.ts index cbf03d99f1..42d8097336 100644 --- a/src/app/shared/animations/overlay.ts +++ b/src/app/shared/animations/overlay.ts @@ -1,4 +1,10 @@ -import { animate, state, transition, trigger, style } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const overlay = trigger('overlay', [ diff --git a/src/app/shared/animations/push.ts b/src/app/shared/animations/push.ts index 124e3289e7..6af617fe79 100644 --- a/src/app/shared/animations/push.ts +++ b/src/app/shared/animations/push.ts @@ -1,4 +1,10 @@ -import { animate, state, transition, trigger, style } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const pushInOut = trigger('pushInOut', [ diff --git a/src/app/shared/animations/rotate.ts b/src/app/shared/animations/rotate.ts index a5bd3fd945..1952e57201 100644 --- a/src/app/shared/animations/rotate.ts +++ b/src/app/shared/animations/rotate.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const rotateInState = state('rotateIn', style({ opacity: 1, transform: 'rotate(0deg)' })); export const rotateEnter = transition('* => rotateIn', [ diff --git a/src/app/shared/animations/scale.ts b/src/app/shared/animations/scale.ts index b92647c147..23843f7360 100644 --- a/src/app/shared/animations/scale.ts +++ b/src/app/shared/animations/scale.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const scaleInState = state('scaleIn', style({opacity: 1, transform: 'scale(1)'})); export const scaleEnter = transition('* => scaleIn', [ diff --git a/src/app/shared/animations/shrink.ts b/src/app/shared/animations/shrink.ts index 630fd30288..24f0ed1e48 100644 --- a/src/app/shared/animations/shrink.ts +++ b/src/app/shared/animations/shrink.ts @@ -1,4 +1,10 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const shrinkInOut = trigger('shrinkInOut', [ state('in', style({height: '100%', opacity: 1})), diff --git a/src/app/shared/animations/slide.ts b/src/app/shared/animations/slide.ts index f1e0ae0770..b54f054d46 100644 --- a/src/app/shared/animations/slide.ts +++ b/src/app/shared/animations/slide.ts @@ -1,4 +1,13 @@ -import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations'; +import { + animate, + animateChild, + group, + query, + state, + style, + transition, + trigger, +} from '@angular/animations'; export const slide = trigger('slide', [ state('expanded', style({ height: '*' })), diff --git a/src/app/shared/auth-nav-menu/auth-nav-menu.component.spec.ts b/src/app/shared/auth-nav-menu/auth-nav-menu.component.spec.ts index 1c769b4383..3d77642554 100644 --- a/src/app/shared/auth-nav-menu/auth-nav-menu.component.spec.ts +++ b/src/app/shared/auth-nav-menu/auth-nav-menu.component.spec.ts @@ -1,21 +1,34 @@ -import { CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - +import { + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { Store, StoreModule } from '@ngrx/store'; - -import { authReducer, AuthState } from '../../core/auth/auth.reducer'; -import { EPersonMock } from '../testing/eperson.mock'; -import { TranslateModule } from '@ngx-translate/core'; -import { AppState } from '../../app.reducer'; -import { AuthNavMenuComponent } from './auth-nav-menu.component'; -import { HostWindowServiceStub } from '../testing/host-window-service.stub'; -import { HostWindowService } from '../host-window.service'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { AuthTokenInfo } from '../../core/auth/models/auth-token-info.model'; -import { AuthService } from '../../core/auth/auth.service'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; import { of } from 'rxjs'; + +import { AppState } from '../../app.reducer'; +import { + authReducer, + AuthState, +} from '../../core/auth/auth.reducer'; +import { AuthService } from '../../core/auth/auth.service'; +import { AuthTokenInfo } from '../../core/auth/models/auth-token-info.model'; +import { HostWindowService } from '../host-window.service'; import { BrowserOnlyMockPipe } from '../testing/browser-only-mock.pipe'; +import { EPersonMock } from '../testing/eperson.mock'; +import { HostWindowServiceStub } from '../testing/host-window-service.stub'; +import { AuthNavMenuComponent } from './auth-nav-menu.component'; describe('AuthNavMenuComponent', () => { diff --git a/src/app/shared/auth-nav-menu/auth-nav-menu.component.ts b/src/app/shared/auth-nav-menu/auth-nav-menu.component.ts index c05e9fcbfe..5a2ebe4698 100644 --- a/src/app/shared/auth-nav-menu/auth-nav-menu.component.ts +++ b/src/app/shared/auth-nav-menu/auth-nav-menu.component.ts @@ -1,17 +1,42 @@ -import { Observable, of as observableOf, Subscription } from 'rxjs'; - -import { filter, map } from 'rxjs/operators'; -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { RouterReducerState } from '@ngrx/router-store'; -import { select, Store } from '@ngrx/store'; +import { + select, + Store, +} from '@ngrx/store'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + filter, + map, +} from 'rxjs/operators'; -import { fadeInOut, fadeOut } from '../animations/fade'; -import { HostWindowService } from '../host-window.service'; -import { AppState, routerStateSelector } from '../../app.reducer'; -import { isNotUndefined } from '../empty.util'; -import { isAuthenticated, isAuthenticationLoading } from '../../core/auth/selectors'; +import { + AppState, + routerStateSelector, +} from '../../app.reducer'; +import { + AuthService, + LOGIN_ROUTE, + LOGOUT_ROUTE, +} from '../../core/auth/auth.service'; +import { + isAuthenticated, + isAuthenticationLoading, +} from '../../core/auth/selectors'; import { EPerson } from '../../core/eperson/models/eperson.model'; -import { AuthService, LOGIN_ROUTE, LOGOUT_ROUTE } from '../../core/auth/auth.service'; +import { + fadeInOut, + fadeOut, +} from '../animations/fade'; +import { isNotUndefined } from '../empty.util'; +import { HostWindowService } from '../host-window.service'; @Component({ selector: 'ds-auth-nav-menu', diff --git a/src/app/shared/auth-nav-menu/themed-auth-nav-menu.component.ts b/src/app/shared/auth-nav-menu/themed-auth-nav-menu.component.ts index 14ea45d236..c0a1f465ae 100644 --- a/src/app/shared/auth-nav-menu/themed-auth-nav-menu.component.ts +++ b/src/app/shared/auth-nav-menu/themed-auth-nav-menu.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../theme-support/themed.component'; import { AuthNavMenuComponent } from './auth-nav-menu.component'; diff --git a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts index e5068e46ed..83ebec3525 100644 --- a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts +++ b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts @@ -1,20 +1,36 @@ -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { Store, StoreModule } from '@ngrx/store'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; - -import { UserMenuComponent } from './user-menu.component'; -import { authReducer, AuthState } from '../../../core/auth/auth.reducer'; -import { AuthTokenInfo } from '../../../core/auth/models/auth-token-info.model'; -import { EPersonMock } from '../../testing/eperson.mock'; -import { AppState } from '../../../app.reducer'; -import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; -import { cold } from 'jasmine-marbles'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { AuthService } from '../../../core/auth/auth.service'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { cold } from 'jasmine-marbles'; import { of } from 'rxjs'; +import { AppState } from '../../../app.reducer'; +import { + authReducer, + AuthState, +} from '../../../core/auth/auth.reducer'; +import { AuthService } from '../../../core/auth/auth.service'; +import { AuthTokenInfo } from '../../../core/auth/models/auth-token-info.model'; +import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; +import { EPersonMock } from '../../testing/eperson.mock'; +import { UserMenuComponent } from './user-menu.component'; + describe('UserMenuComponent', () => { let component: UserMenuComponent; diff --git a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts index e59565e8f2..28edd2b5b9 100644 --- a/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts +++ b/src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts @@ -1,15 +1,24 @@ -import { Component, Input, OnInit } from '@angular/core'; - +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { select, Store } from '@ngrx/store'; -import { EPerson } from '../../../core/eperson/models/eperson.model'; import { AppState } from '../../../app.reducer'; -import { isAuthenticationLoading } from '../../../core/auth/selectors'; -import { MYDSPACE_ROUTE } from '../../../my-dspace-page/my-dspace-page.component'; +import { + getProfileModuleRoute, + getSubscriptionsModuleRoute, +} from '../../../app-routing-paths'; import { AuthService } from '../../../core/auth/auth.service'; -import { getProfileModuleRoute, getSubscriptionsModuleRoute } from '../../../app-routing-paths'; +import { isAuthenticationLoading } from '../../../core/auth/selectors'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { MYDSPACE_ROUTE } from '../../../my-dspace-page/my-dspace-page.component'; /** * This component represents the user nav menu. diff --git a/src/app/shared/browse-by/browse-by.component.spec.ts b/src/app/shared/browse-by/browse-by.component.spec.ts index 23a1140852..c44198b966 100644 --- a/src/app/shared/browse-by/browse-by.component.spec.ts +++ b/src/app/shared/browse-by/browse-by.component.spec.ts @@ -1,52 +1,62 @@ -import { BrowseByComponent } from './browse-by.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { By } from '@angular/platform-browser'; -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { of as observableOf } from 'rxjs'; import { CommonModule } from '@angular/common'; -import { Item } from '../../core/shared/item.model'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; -import { RouterTestingModule } from '@angular/router/testing'; +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AccessControlRoutingModule } from '../../access-control/access-control-routing.module'; +import { BrowseByRoutingModule } from '../../browse-by/browse-by-routing.module'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { GroupDataService } from '../../core/eperson/group-data.service'; import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../testing/pagination-service.stub'; -import { - ListableObjectComponentLoaderComponent, -} from '../object-collection/shared/listable-object/listable-object-component-loader.component'; +import { LinkHeadService } from '../../core/services/link-head.service'; +import { RouteService } from '../../core/services/route.service'; +import { BrowseEntry } from '../../core/shared/browse-entry.model'; +import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; +import { Item } from '../../core/shared/item.model'; +import { ITEM } from '../../core/shared/item.resource-type'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; import { ViewMode } from '../../core/shared/view-mode.model'; -import { - BrowseEntryListElementComponent, -} from '../object-list/browse-entry-list-element/browse-entry-list-element.component'; +import { HostWindowService } from '../host-window.service'; +import { getMockThemeService } from '../mocks/theme-service.mock'; +import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; import { DEFAULT_CONTEXT, listableObjectComponent, } from '../object-collection/shared/listable-object/listable-object.decorator'; -import { BrowseEntry } from '../../core/shared/browse-entry.model'; -import { ITEM } from '../../core/shared/item.resource-type'; -import { ThemeService } from '../theme-support/theme.service'; +import { ListableObjectComponentLoaderComponent } from '../object-collection/shared/listable-object/listable-object-component-loader.component'; +import { BrowseEntryListElementComponent } from '../object-list/browse-entry-list-element/browse-entry-list-element.component'; import { SelectableListService } from '../object-list/selectable-list/selectable-list.service'; -import { HostWindowServiceStub } from '../testing/host-window-service.stub'; -import { HostWindowService } from '../host-window.service'; -import { RouteService } from '../../core/services/route.service'; -import { routeServiceStub } from '../testing/route-service.stub'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { createPaginatedList } from '../testing/utils.test'; -import { LinkHeadService } from '../../core/services/link-head.service'; -import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; -import { SearchConfigurationServiceStub } from '../testing/search-configuration-service.stub'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { getMockThemeService } from '../mocks/theme-service.mock'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { SharedModule } from '../shared.module'; -import { BrowseByRoutingModule } from '../../browse-by/browse-by-routing.module'; -import { AccessControlRoutingModule } from '../../access-control/access-control-routing.module'; +import { HostWindowServiceStub } from '../testing/host-window-service.stub'; +import { PaginationServiceStub } from '../testing/pagination-service.stub'; +import { routeServiceStub } from '../testing/route-service.stub'; +import { SearchConfigurationServiceStub } from '../testing/search-configuration-service.stub'; +import { createPaginatedList } from '../testing/utils.test'; +import { ThemeService } from '../theme-support/theme.service'; +import { BrowseByComponent } from './browse-by.component'; @listableObjectComponent(BrowseEntry, ViewMode.ListElement, DEFAULT_CONTEXT, 'custom') @Component({ diff --git a/src/app/shared/browse-by/browse-by.component.ts b/src/app/shared/browse-by/browse-by.component.ts index 81c008ba6e..fce2d7c439 100644 --- a/src/app/shared/browse-by/browse-by.component.ts +++ b/src/app/shared/browse-by/browse-by.component.ts @@ -1,18 +1,41 @@ -import { Component, EventEmitter, Injector, Input, OnDestroy, OnInit, Output } from '@angular/core'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { fadeIn, fadeInOut } from '../animations/fade'; -import { BehaviorSubject, combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { ListableObject } from '../object-collection/shared/listable-object.model'; -import { getStartsWithComponent, StartsWithType } from '../starts-with/starts-with-decorator'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { ViewMode } from '../../core/shared/view-mode.model'; -import { RouteService } from '../../core/services/route.service'; -import { map } from 'rxjs/operators'; -import { hasValue } from '../empty.util'; +import { + Component, + EventEmitter, + Injector, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { RouteService } from '../../core/services/route.service'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { + fadeIn, + fadeInOut, +} from '../animations/fade'; +import { hasValue } from '../empty.util'; +import { ListableObject } from '../object-collection/shared/listable-object.model'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { + getStartsWithComponent, + StartsWithType, +} from '../starts-with/starts-with-decorator'; @Component({ selector: 'ds-browse-by', diff --git a/src/app/shared/browse-by/shared-browse-by.module.ts b/src/app/shared/browse-by/shared-browse-by.module.ts index 2db1272c24..7d97c783d3 100644 --- a/src/app/shared/browse-by/shared-browse-by.module.ts +++ b/src/app/shared/browse-by/shared-browse-by.module.ts @@ -1,10 +1,11 @@ -import { NgModule } from '@angular/core'; -import { BrowseByComponent } from './browse-by.component'; import { CommonModule } from '@angular/common'; -import { SharedModule } from '../shared.module'; -import { ResultsBackButtonModule } from '../results-back-button/results-back-button.module'; -import { BrowseByRoutingModule } from '../../browse-by/browse-by-routing.module'; +import { NgModule } from '@angular/core'; + import { AccessControlRoutingModule } from '../../access-control/access-control-routing.module'; +import { BrowseByRoutingModule } from '../../browse-by/browse-by-routing.module'; +import { ResultsBackButtonModule } from '../results-back-button/results-back-button.module'; +import { SharedModule } from '../shared.module'; +import { BrowseByComponent } from './browse-by.component'; @NgModule({ declarations: [ diff --git a/src/app/shared/collection-dropdown/collection-dropdown.component.spec.ts b/src/app/shared/collection-dropdown/collection-dropdown.component.spec.ts index 06dcc97302..5edd550665 100644 --- a/src/app/shared/collection-dropdown/collection-dropdown.component.spec.ts +++ b/src/app/shared/collection-dropdown/collection-dropdown.component.spec.ts @@ -1,20 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectorRef, ElementRef, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectorRef, + ElementRef, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { getTestScheduler } from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { CollectionDropdownComponent } from './collection-dropdown.component'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { Collection } from '../../core/shared/collection.model'; import { CollectionDataService } from '../../core/data/collection-data.service'; -import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { Collection } from '../../core/shared/collection.model'; import { Community } from '../../core/shared/community.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { MockElementRef } from '../testing/element-ref.mock'; +import { CollectionDropdownComponent } from './collection-dropdown.component'; const community: Community = Object.assign(new Community(), { id: 'ce64f48e-2c9b-411a-ac36-ee429c0e6a88', diff --git a/src/app/shared/collection-dropdown/collection-dropdown.component.ts b/src/app/shared/collection-dropdown/collection-dropdown.component.ts index 3fd23db143..415560cc3b 100644 --- a/src/app/shared/collection-dropdown/collection-dropdown.component.ts +++ b/src/app/shared/collection-dropdown/collection-dropdown.component.ts @@ -10,22 +10,37 @@ import { Output, } from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; - -import { BehaviorSubject, from as observableFrom, Observable, of as observableOf, Subscription } from 'rxjs'; -import { debounceTime, distinctUntilChanged, map, mergeMap, reduce, startWith, switchMap, take } from 'rxjs/operators'; - -import { hasValue } from '../empty.util'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { Community } from '../../core/shared/community.model'; -import { CollectionDataService } from '../../core/data/collection-data.service'; -import { Collection } from '../../core/shared/collection.model'; -import { followLink } from '../utils/follow-link-config.model'; import { - getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, -} from '../../core/shared/operators'; -import { FindListOptions } from '../../core/data/find-list-options.model'; + BehaviorSubject, + from as observableFrom, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + debounceTime, + distinctUntilChanged, + map, + mergeMap, + reduce, + startWith, + switchMap, + take, +} from 'rxjs/operators'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { CollectionDataService } from '../../core/data/collection-data.service'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { Collection } from '../../core/shared/collection.model'; +import { Community } from '../../core/shared/community.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../core/shared/operators'; +import { hasValue } from '../empty.util'; +import { followLink } from '../utils/follow-link-config.model'; /** * An interface to represent a collection entry diff --git a/src/app/shared/collection-dropdown/themed-collection-dropdown.component.ts b/src/app/shared/collection-dropdown/themed-collection-dropdown.component.ts index 3fb338186f..6ecb6aeff8 100644 --- a/src/app/shared/collection-dropdown/themed-collection-dropdown.component.ts +++ b/src/app/shared/collection-dropdown/themed-collection-dropdown.component.ts @@ -1,6 +1,15 @@ -import { CollectionDropdownComponent, CollectionListEntry } from './collection-dropdown.component'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { ThemedComponent } from '../theme-support/themed.component'; -import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { + CollectionDropdownComponent, + CollectionListEntry, +} from './collection-dropdown.component'; @Component({ selector: 'ds-themed-collection-dropdown', diff --git a/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts b/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts index bc77119b55..07daad2849 100644 --- a/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts @@ -1,12 +1,25 @@ import { Location } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { DynamicFormControlModel, DynamicFormService, DynamicInputModel } from '@ng-dynamic-forms/core'; +import { + DynamicFormControlModel, + DynamicFormService, + DynamicInputModel, +} from '@ng-dynamic-forms/core'; import { TranslateModule } from '@ngx-translate/core'; +import { Operation } from 'fast-json-patch'; import { of as observableOf } from 'rxjs'; + import { AuthService } from '../../../../core/auth/auth.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { RequestService } from '../../../../core/data/request.service'; @@ -15,11 +28,13 @@ import { Community } from '../../../../core/shared/community.model'; import { hasValue } from '../../../empty.util'; import { AuthServiceMock } from '../../../mocks/auth.service.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../remote-data.utils'; import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; import { VarDirective } from '../../../utils/var.directive'; import { ComColFormComponent } from './comcol-form.component'; -import { Operation } from 'fast-json-patch'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../remote-data.utils'; describe('ComColFormComponent', () => { let comp: ComColFormComponent; diff --git a/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.ts b/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.ts index 7cfc400b4b..ff51445ec2 100644 --- a/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.ts +++ b/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.ts @@ -1,9 +1,27 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, + ViewChild, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; -import { DynamicFormControlModel, DynamicFormService, DynamicInputModel } from '@ng-dynamic-forms/core'; +import { + DynamicFormControlModel, + DynamicFormService, + DynamicInputModel, +} from '@ng-dynamic-forms/core'; import { TranslateService } from '@ngx-translate/core'; +import { Operation } from 'fast-json-patch'; import { FileUploader } from 'ng2-file-upload'; -import { BehaviorSubject, combineLatest as observableCombineLatest, Subscription } from 'rxjs'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Subscription, +} from 'rxjs'; + import { AuthService } from '../../../../core/auth/auth.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { ComColDataService } from '../../../../core/data/comcol-data.service'; @@ -13,15 +31,20 @@ import { RestRequestMethod } from '../../../../core/data/rest-request-method'; import { Bitstream } from '../../../../core/shared/bitstream.model'; import { Collection } from '../../../../core/shared/collection.model'; import { Community } from '../../../../core/shared/community.model'; -import { MetadataMap, MetadataValue } from '../../../../core/shared/metadata.models'; -import { ResourceType } from '../../../../core/shared/resource-type'; -import { hasValue, isNotEmpty } from '../../../empty.util'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { UploaderOptions } from '../../../upload/uploader/uploader-options.model'; -import { UploaderComponent } from '../../../upload/uploader/uploader.component'; -import { Operation } from 'fast-json-patch'; +import { + MetadataMap, + MetadataValue, +} from '../../../../core/shared/metadata.models'; import { NoContent } from '../../../../core/shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { ResourceType } from '../../../../core/shared/resource-type'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { UploaderComponent } from '../../../upload/uploader/uploader.component'; +import { UploaderOptions } from '../../../upload/uploader/uploader-options.model'; /** * A form for creating and editing Communities or Collections diff --git a/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts b/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts index 2c69f496e5..072eec4b79 100644 --- a/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts @@ -1,21 +1,29 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { CommunityDataService } from '../../../../core/data/community-data.service'; -import { RouteService } from '../../../../core/services/route.service'; -import { Router } from '@angular/router'; -import { TranslateModule } from '@ngx-translate/core'; -import { of as observableOf } from 'rxjs'; -import { Community } from '../../../../core/shared/community.model'; -import { SharedModule } from '../../../shared.module'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { CreateComColPageComponent } from './create-comcol-page.component'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../remote-data.utils'; -import { ComColDataService } from '../../../../core/data/comcol-data.service'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { RequestService } from '../../../../core/data/request.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; + +import { ComColDataService } from '../../../../core/data/comcol-data.service'; +import { CommunityDataService } from '../../../../core/data/community-data.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { RouteService } from '../../../../core/services/route.service'; +import { Community } from '../../../../core/shared/community.model'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../remote-data.utils'; +import { SharedModule } from '../../../shared.module'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { CreateComColPageComponent } from './create-comcol-page.component'; describe('CreateComColPageComponent', () => { let comp: CreateComColPageComponent; diff --git a/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.ts b/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.ts index 4fdafc6789..de90df6084 100644 --- a/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.ts +++ b/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.ts @@ -1,21 +1,32 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { mergeMap, take } from 'rxjs/operators'; +import { + mergeMap, + take, +} from 'rxjs/operators'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { RequestParam } from '../../../../core/cache/models/request-param.model'; import { ComColDataService } from '../../../../core/data/comcol-data.service'; import { CommunityDataService } from '../../../../core/data/community-data.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { RequestService } from '../../../../core/data/request.service'; import { RouteService } from '../../../../core/services/route.service'; +import { Collection } from '../../../../core/shared/collection.model'; import { Community } from '../../../../core/shared/community.model'; import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; import { ResourceType } from '../../../../core/shared/resource-type'; -import { hasValue, isNotEmpty, isNotUndefined } from '../../../empty.util'; +import { + hasValue, + isNotEmpty, + isNotUndefined, +} from '../../../empty.util'; import { NotificationsService } from '../../../notifications/notifications.service'; -import { RequestParam } from '../../../../core/cache/models/request-param.model'; -import { RequestService } from '../../../../core/data/request.service'; -import { Collection } from '../../../../core/shared/collection.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * Component representing the create page for communities and collections diff --git a/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts b/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts index 05e180f297..05fea7eb9f 100644 --- a/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts @@ -1,19 +1,33 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { CommunityDataService } from '../../../../core/data/community-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { of as observableOf } from 'rxjs'; -import { Community } from '../../../../core/shared/community.model'; -import { SharedModule } from '../../../shared.module'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { DeleteComColPageComponent } from './delete-comcol-page.component'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; + import { ComColDataService } from '../../../../core/data/comcol-data.service'; -import { createFailedRemoteDataObject$, createNoContentRemoteDataObject$ } from '../../../remote-data.utils'; +import { CommunityDataService } from '../../../../core/data/community-data.service'; +import { Community } from '../../../../core/shared/community.model'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createNoContentRemoteDataObject$, +} from '../../../remote-data.utils'; +import { SharedModule } from '../../../shared.module'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { DeleteComColPageComponent } from './delete-comcol-page.component'; describe('DeleteComColPageComponent', () => { let comp: DeleteComColPageComponent; diff --git a/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts b/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts index 4cd0bb5c3f..b855b2ea5d 100644 --- a/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts +++ b/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts @@ -1,16 +1,29 @@ -import { Component, OnInit } from '@angular/core'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { first, map } from 'rxjs/operators'; -import { NotificationsService } from '../../../notifications/notifications.service'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { NoContent } from '../../../../core/shared/NoContent.model'; -import { ComColDataService } from '../../../../core/data/comcol-data.service'; -import { Community } from '../../../../core/shared/community.model'; -import { Collection } from '../../../../core/shared/collection.model'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + first, + map, +} from 'rxjs/operators'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { ComColDataService } from '../../../../core/data/comcol-data.service'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { Collection } from '../../../../core/shared/collection.model'; +import { Community } from '../../../../core/shared/community.model'; +import { NoContent } from '../../../../core/shared/NoContent.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { NotificationsService } from '../../../notifications/notifications.service'; /** * Component representing the delete page for communities and collections diff --git a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts index fdc0dd9e85..5c2a34d407 100644 --- a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts @@ -1,20 +1,28 @@ import { CommonModule } from '@angular/common'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { ComColDataService } from '../../../../../core/data/comcol-data.service'; import { Community } from '../../../../../core/shared/community.model'; import { NotificationsService } from '../../../../notifications/notifications.service'; -import { SharedModule } from '../../../../shared.module'; -import { NotificationsServiceStub } from '../../../../testing/notifications-service.stub'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../../remote-data.utils'; +import { SharedModule } from '../../../../shared.module'; +import { NotificationsServiceStub } from '../../../../testing/notifications-service.stub'; import { ComcolMetadataComponent } from './comcol-metadata.component'; describe('ComColMetadataComponent', () => { diff --git a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.ts b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.ts index 3b80ee67e7..6d024d2499 100644 --- a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.ts +++ b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.ts @@ -1,17 +1,33 @@ -import { Component, OnInit } from '@angular/core'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../../../../../core/data/remote-data'; -import { ActivatedRoute, Router } from '@angular/router'; -import { map, take } from 'rxjs/operators'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteData } from '../../../../../core/shared/operators'; -import { hasValue, isEmpty } from '../../../../empty.util'; -import { ResourceType } from '../../../../../core/shared/resource-type'; -import { ComColDataService } from '../../../../../core/data/comcol-data.service'; -import { NotificationsService } from '../../../../notifications/notifications.service'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { Community } from '../../../../../core/shared/community.model'; +import { Observable } from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; + +import { ComColDataService } from '../../../../../core/data/comcol-data.service'; +import { RemoteData } from '../../../../../core/data/remote-data'; import { Collection } from '../../../../../core/shared/collection.model'; +import { Community } from '../../../../../core/shared/community.model'; +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, +} from '../../../../../core/shared/operators'; +import { ResourceType } from '../../../../../core/shared/resource-type'; +import { + hasValue, + isEmpty, +} from '../../../../empty.util'; +import { NotificationsService } from '../../../../notifications/notifications.service'; @Component({ selector: 'ds-comcol-metadata', diff --git a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.spec.ts b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.spec.ts index 4c1c15c160..b47ded070c 100644 --- a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.spec.ts @@ -1,19 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ComcolRoleComponent } from './comcol-role.component'; -import { GroupDataService } from '../../../../../core/eperson/group-data.service'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { RequestService } from '../../../../../core/data/request.service'; -import { of as observableOf } from 'rxjs'; -import { RouterTestingModule } from '@angular/router/testing'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { ComcolModule } from '../../../comcol.module'; -import { NotificationsService } from '../../../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../../testing/notifications-service.stub'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { RequestService } from '../../../../../core/data/request.service'; +import { GroupDataService } from '../../../../../core/eperson/group-data.service'; import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; +import { NotificationsService } from '../../../../notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../../remote-data.utils'; +import { NotificationsServiceStub } from '../../../../testing/notifications-service.stub'; +import { ComcolModule } from '../../../comcol.module'; +import { ComcolRoleComponent } from './comcol-role.component'; describe('ComcolRoleComponent', () => { diff --git a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.ts b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.ts index 7b0a9f1a1b..5a304ae9ec 100644 --- a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.ts +++ b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.ts @@ -1,20 +1,38 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Group } from '../../../../../core/eperson/models/group.model'; -import { Community } from '../../../../../core/shared/community.model'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { GroupDataService } from '../../../../../core/eperson/group-data.service'; -import { Collection } from '../../../../../core/shared/collection.model'; -import { filter, map, switchMap } from 'rxjs/operators'; -import { getAllCompletedRemoteData, getFirstCompletedRemoteData } from '../../../../../core/shared/operators'; -import { RequestService } from '../../../../../core/data/request.service'; -import { RemoteData } from '../../../../../core/data/remote-data'; -import { HALLink } from '../../../../../core/shared/hal-link.model'; -import { getGroupEditRoute } from '../../../../../access-control/access-control-routing-paths'; -import { hasNoValue, hasValue } from '../../../../empty.util'; -import { NoContent } from '../../../../../core/shared/NoContent.model'; -import { NotificationsService } from '../../../../notifications/notifications.service'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + filter, + map, + switchMap, +} from 'rxjs/operators'; + +import { getGroupEditRoute } from '../../../../../access-control/access-control-routing-paths'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../../../../core/data/remote-data'; +import { RequestService } from '../../../../../core/data/request.service'; +import { GroupDataService } from '../../../../../core/eperson/group-data.service'; +import { Group } from '../../../../../core/eperson/models/group.model'; +import { Collection } from '../../../../../core/shared/collection.model'; +import { Community } from '../../../../../core/shared/community.model'; +import { HALLink } from '../../../../../core/shared/hal-link.model'; +import { NoContent } from '../../../../../core/shared/NoContent.model'; +import { + getAllCompletedRemoteData, + getFirstCompletedRemoteData, +} from '../../../../../core/shared/operators'; +import { + hasNoValue, + hasValue, +} from '../../../../empty.util'; +import { NotificationsService } from '../../../../notifications/notifications.service'; /** * Component for managing a community or collection role. diff --git a/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.spec.ts b/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.spec.ts index 0a1baf2098..965b9cae65 100644 --- a/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.spec.ts @@ -1,13 +1,21 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute, Router } from '@angular/router'; +import { CommonModule } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { Community } from '../../../../core/shared/community.model'; -import { SharedModule } from '../../../shared.module'; -import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { SharedModule } from '../../../shared.module'; import { EditComColPageComponent } from './edit-comcol-page.component'; describe('EditComColPageComponent', () => { diff --git a/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.ts b/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.ts index 076e8bf041..269330e6a4 100644 --- a/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.ts +++ b/src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.ts @@ -1,12 +1,17 @@ -import { Component, OnInit } from '@angular/core'; - +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { ActivatedRoute, Router } from '@angular/router'; import { RemoteData } from '../../../../core/data/remote-data'; -import { isNotEmpty } from '../../../empty.util'; import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { isNotEmpty } from '../../../empty.util'; /** * Component representing the edit page for communities and collections diff --git a/src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts b/src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts index 71a73f4cd4..22125dd10e 100644 --- a/src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts +++ b/src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts @@ -1,14 +1,23 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Params, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { ActivatedRoute, Params, Router } from '@angular/router'; -import { getCommunityPageRoute } from '../../../community-page/community-page-routing-paths'; + import { getCollectionPageRoute } from '../../../collection-page/collection-page-routing-paths'; -import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { BrowseDefinition } from '../../../core/shared/browse-definition.model'; -import { RemoteData } from '../../../core/data/remote-data'; +import { getCommunityPageRoute } from '../../../community-page/community-page-routing-paths'; import { BrowseService } from '../../../core/browse/browse.service'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { BrowseDefinition } from '../../../core/shared/browse-definition.model'; +import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; export interface ComColPageNavOption { id: string; diff --git a/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts b/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts index 08a13eddf8..f0ed56db71 100644 --- a/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts +++ b/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts @@ -1,6 +1,10 @@ -import { Component, Input } from '@angular/core'; -import { ComcolPageBrowseByComponent } from './comcol-page-browse-by.component'; +import { + Component, + Input, +} from '@angular/core'; + import { ThemedComponent } from '../../theme-support/themed.component'; +import { ComcolPageBrowseByComponent } from './comcol-page-browse-by.component'; /** * Themed wrapper for ComcolPageBrowseByComponent diff --git a/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts b/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts index 3dde59bbdc..015a82f285 100644 --- a/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts +++ b/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; /** * This component renders any content inside of this component. diff --git a/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.spec.ts b/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.spec.ts index 0ee0c83dd2..19a2da4514 100644 --- a/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.spec.ts +++ b/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.spec.ts @@ -1,6 +1,11 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; + import { ComcolPageHandleComponent } from './comcol-page-handle.component'; const handle = 'http://localhost:4000/handle/123456789/2'; diff --git a/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts b/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts index 0a020399e9..95d7a29641 100644 --- a/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts +++ b/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts @@ -1,4 +1,8 @@ -import { Component, Injectable, Input } from '@angular/core'; +import { + Component, + Injectable, + Input, +} from '@angular/core'; /** * This component builds a URL from the value of "handle" diff --git a/src/app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component.ts b/src/app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component.ts index 3e75771f7b..fbb32649f3 100644 --- a/src/app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component.ts +++ b/src/app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component.ts @@ -1,4 +1,8 @@ -import {Component, Input} from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + import { ThemedComponent } from '../../theme-support/themed.component'; import { ComcolPageHandleComponent } from './comcol-page-handle.component'; diff --git a/src/app/shared/comcol/comcol-page-header/comcol-page-header.component.ts b/src/app/shared/comcol/comcol-page-header/comcol-page-header.component.ts index cbf984a349..7188141598 100644 --- a/src/app/shared/comcol/comcol-page-header/comcol-page-header.component.ts +++ b/src/app/shared/comcol/comcol-page-header/comcol-page-header.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; @Component({ selector: 'ds-comcol-page-header', diff --git a/src/app/shared/comcol/comcol-page-logo/comcol-page-logo.component.ts b/src/app/shared/comcol/comcol-page-logo/comcol-page-logo.component.ts index a9761bfd5f..b871c45ee3 100644 --- a/src/app/shared/comcol/comcol-page-logo/comcol-page-logo.component.ts +++ b/src/app/shared/comcol/comcol-page-logo/comcol-page-logo.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Bitstream } from '../../../core/shared/bitstream.model'; diff --git a/src/app/shared/comcol/comcol.module.ts b/src/app/shared/comcol/comcol.module.ts index 73b9c91698..fec79427d9 100644 --- a/src/app/shared/comcol/comcol.module.ts +++ b/src/app/shared/comcol/comcol.module.ts @@ -1,21 +1,21 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { FormModule } from '../form/form.module'; +import { SharedModule } from '../shared.module'; +import { UploadModule } from '../upload/upload.module'; +import { ComColFormComponent } from './comcol-forms/comcol-form/comcol-form.component'; +import { CreateComColPageComponent } from './comcol-forms/create-comcol-page/create-comcol-page.component'; +import { DeleteComColPageComponent } from './comcol-forms/delete-comcol-page/delete-comcol-page.component'; +import { ComcolRoleComponent } from './comcol-forms/edit-comcol-page/comcol-role/comcol-role.component'; +import { EditComColPageComponent } from './comcol-forms/edit-comcol-page/edit-comcol-page.component'; +import { ComcolPageBrowseByComponent } from './comcol-page-browse-by/comcol-page-browse-by.component'; +import { ThemedComcolPageBrowseByComponent } from './comcol-page-browse-by/themed-comcol-page-browse-by.component'; import { ComcolPageContentComponent } from './comcol-page-content/comcol-page-content.component'; import { ComcolPageHandleComponent } from './comcol-page-handle/comcol-page-handle.component'; import { ThemedComcolPageHandleComponent} from './comcol-page-handle/themed-comcol-page-handle.component'; - import { ComcolPageHeaderComponent } from './comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from './comcol-page-logo/comcol-page-logo.component'; -import { ComColFormComponent } from './comcol-forms/comcol-form/comcol-form.component'; -import { CreateComColPageComponent } from './comcol-forms/create-comcol-page/create-comcol-page.component'; -import { EditComColPageComponent } from './comcol-forms/edit-comcol-page/edit-comcol-page.component'; -import { DeleteComColPageComponent } from './comcol-forms/delete-comcol-page/delete-comcol-page.component'; -import { ComcolPageBrowseByComponent } from './comcol-page-browse-by/comcol-page-browse-by.component'; -import { ThemedComcolPageBrowseByComponent } from './comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolRoleComponent } from './comcol-forms/edit-comcol-page/comcol-role/comcol-role.component'; -import { SharedModule } from '../shared.module'; -import { FormModule } from '../form/form.module'; -import { UploadModule } from '../upload/upload.module'; const COMPONENTS = [ ComcolPageContentComponent, diff --git a/src/app/shared/confirmation-modal/confirmation-modal.component.spec.ts b/src/app/shared/confirmation-modal/confirmation-modal.component.spec.ts index eba6777287..a9b70632a5 100644 --- a/src/app/shared/confirmation-modal/confirmation-modal.component.spec.ts +++ b/src/app/shared/confirmation-modal/confirmation-modal.component.spec.ts @@ -1,8 +1,18 @@ -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; + import { ConfirmationModalComponent } from './confirmation-modal.component'; describe('ConfirmationModalComponent', () => { diff --git a/src/app/shared/confirmation-modal/confirmation-modal.component.ts b/src/app/shared/confirmation-modal/confirmation-modal.component.ts index 212c1ec960..67b68d3b53 100644 --- a/src/app/shared/confirmation-modal/confirmation-modal.component.ts +++ b/src/app/shared/confirmation-modal/confirmation-modal.component.ts @@ -1,7 +1,13 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; @Component({ selector: 'ds-confirmation-modal', diff --git a/src/app/shared/context-help-wrapper/context-help-wrapper.component.spec.ts b/src/app/shared/context-help-wrapper/context-help-wrapper.component.spec.ts index 9d476c8ef0..bb5c5912b9 100644 --- a/src/app/shared/context-help-wrapper/context-help-wrapper.component.spec.ts +++ b/src/app/shared/context-help-wrapper/context-help-wrapper.component.spec.ts @@ -1,14 +1,26 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf, BehaviorSubject } from 'rxjs'; -import { ContextHelpWrapperComponent } from './context-help-wrapper.component'; -import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateService } from '@ngx-translate/core'; -import { ContextHelpService } from '../context-help.service'; -import { ContextHelp } from '../context-help.model'; -import { Component, Input, DebugElement } from '@angular/core'; -import { PlacementArray } from '@ng-bootstrap/ng-bootstrap/util/positioning'; -import { PlacementDir } from './placement-dir.model'; +import { + Component, + DebugElement, + Input, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; +import { PlacementArray } from '@ng-bootstrap/ng-bootstrap/util/positioning'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + +import { ContextHelp } from '../context-help.model'; +import { ContextHelpService } from '../context-help.service'; +import { ContextHelpWrapperComponent } from './context-help-wrapper.component'; +import { PlacementDir } from './placement-dir.model'; @Component({ template: ` diff --git a/src/app/shared/context-help-wrapper/context-help-wrapper.component.ts b/src/app/shared/context-help-wrapper/context-help-wrapper.component.ts index 6f83dce61a..e87520af43 100644 --- a/src/app/shared/context-help-wrapper/context-help-wrapper.component.ts +++ b/src/app/shared/context-help-wrapper/context-help-wrapper.component.ts @@ -1,13 +1,30 @@ -import { Component, Input, OnInit, TemplateRef, OnDestroy, ViewChild } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, + TemplateRef, + ViewChild, +} from '@angular/core'; +import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; import { PlacementArray } from '@ng-bootstrap/ng-bootstrap/util/positioning'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, Subscription, BehaviorSubject, combineLatest } from 'rxjs'; -import { map, distinctUntilChanged, mergeMap } from 'rxjs/operators'; -import { PlacementDir } from './placement-dir.model'; -import { ContextHelpService } from '../context-help.service'; -import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; -import { hasValueOperator } from '../empty.util'; +import { + BehaviorSubject, + combineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + map, + mergeMap, +} from 'rxjs/operators'; + import { ContextHelp } from '../context-help.model'; +import { ContextHelpService } from '../context-help.service'; +import { hasValueOperator } from '../empty.util'; +import { PlacementDir } from './placement-dir.model'; type ParsedContent = (string | {href: string, text: string})[]; diff --git a/src/app/shared/context-help.actions.ts b/src/app/shared/context-help.actions.ts index a4892758ff..de4d8afecc 100644 --- a/src/app/shared/context-help.actions.ts +++ b/src/app/shared/context-help.actions.ts @@ -1,8 +1,9 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; -import { type } from './ngrx/type'; + import { ContextHelp } from './context-help.model'; +import { type } from './ngrx/type'; export const ContextHelpActionTypes = { 'CONTEXT_HELP_TOGGLE_ICONS': type('dspace/context-help/CONTEXT_HELP_TOGGLE_ICONS'), diff --git a/src/app/shared/context-help.directive.spec.ts b/src/app/shared/context-help.directive.spec.ts index 9889cdea18..a0ed860522 100644 --- a/src/app/shared/context-help.directive.spec.ts +++ b/src/app/shared/context-help.directive.spec.ts @@ -1,12 +1,26 @@ -import { Component, Input } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf, BehaviorSubject } from 'rxjs'; -import { ContextHelpDirective, ContextHelpDirectiveInput } from './context-help.directive'; -import { TranslateService } from '@ngx-translate/core'; -import { ContextHelpWrapperComponent } from './context-help-wrapper/context-help-wrapper.component'; +import { + Component, + Input, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; -import { ContextHelpService } from './context-help.service'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + +import { + ContextHelpDirective, + ContextHelpDirectiveInput, +} from './context-help.directive'; import { ContextHelp } from './context-help.model'; +import { ContextHelpService } from './context-help.service'; +import { ContextHelpWrapperComponent } from './context-help-wrapper/context-help-wrapper.component'; @Component({ template: `
some text
`, diff --git a/src/app/shared/context-help.directive.ts b/src/app/shared/context-help.directive.ts index 8804c302f4..1597f7afcf 100644 --- a/src/app/shared/context-help.directive.ts +++ b/src/app/shared/context-help.directive.ts @@ -4,14 +4,15 @@ import { Directive, Input, OnChanges, + OnDestroy, TemplateRef, ViewContainerRef, - OnDestroy, } from '@angular/core'; import { PlacementArray } from '@ng-bootstrap/ng-bootstrap/util/positioning'; + +import { ContextHelpService } from './context-help.service'; import { ContextHelpWrapperComponent } from './context-help-wrapper/context-help-wrapper.component'; import { PlacementDir } from './context-help-wrapper/placement-dir.model'; -import { ContextHelpService } from './context-help.service'; export interface ContextHelpDirectiveInput { content: string; diff --git a/src/app/shared/context-help.reducer.ts b/src/app/shared/context-help.reducer.ts index 3e0d40c25d..021d35958d 100644 --- a/src/app/shared/context-help.reducer.ts +++ b/src/app/shared/context-help.reducer.ts @@ -1,5 +1,8 @@ +import { + ContextHelpAction, + ContextHelpActionTypes, +} from './context-help.actions'; import { ContextHelp } from './context-help.model'; -import { ContextHelpAction, ContextHelpActionTypes } from './context-help.actions'; export interface ContextHelpModels { [id: string]: ContextHelp; diff --git a/src/app/shared/context-help.service.spec.ts b/src/app/shared/context-help.service.spec.ts index 056d1d736f..97c46490a0 100644 --- a/src/app/shared/context-help.service.spec.ts +++ b/src/app/shared/context-help.service.spec.ts @@ -1,10 +1,16 @@ import { TestBed } from '@angular/core/testing'; - -import { ContextHelpService } from './context-help.service'; -import { StoreModule, Store } from '@ngrx/store'; -import { appReducers, storeModuleConfig } from '../app.reducer'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { TestScheduler } from 'rxjs/testing'; +import { + appReducers, + storeModuleConfig, +} from '../app.reducer'; +import { ContextHelpService } from './context-help.service'; + describe('ContextHelpService', () => { let service: ContextHelpService; let store; diff --git a/src/app/shared/context-help.service.ts b/src/app/shared/context-help.service.ts index fe802197df..c07c5ae8d7 100644 --- a/src/app/shared/context-help.service.ts +++ b/src/app/shared/context-help.service.ts @@ -1,18 +1,28 @@ import { Injectable } from '@angular/core'; -import { ContextHelp } from './context-help.model'; -import { Store, createFeatureSelector, createSelector, select, MemoizedSelector } from '@ngrx/store'; -import { ContextHelpState, ContextHelpModels } from './context-help.reducer'; import { - ContextHelpToggleIconsAction, - ContextHelpAddAction, - ContextHelpRemoveAction, - ContextHelpShowTooltipAction, - ContextHelpHideTooltipAction, - ContextHelpToggleTooltipAction, -} from './context-help.actions'; + createFeatureSelector, + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; +import { + ContextHelpAddAction, + ContextHelpHideTooltipAction, + ContextHelpRemoveAction, + ContextHelpShowTooltipAction, + ContextHelpToggleIconsAction, + ContextHelpToggleTooltipAction, +} from './context-help.actions'; +import { ContextHelp } from './context-help.model'; +import { + ContextHelpModels, + ContextHelpState, +} from './context-help.reducer'; + const contextHelpStateSelector = createFeatureSelector('contextHelp'); const allIconsVisibleSelector = createSelector( diff --git a/src/app/shared/cookies/browser-klaro.service.spec.ts b/src/app/shared/cookies/browser-klaro.service.spec.ts index e0b3711d74..953734d38c 100644 --- a/src/app/shared/cookies/browser-klaro.service.spec.ts +++ b/src/app/shared/cookies/browser-klaro.service.spec.ts @@ -1,23 +1,30 @@ import { TestBed } from '@angular/core/testing'; -import { BrowserKlaroService, COOKIE_MDFIELD } from './browser-klaro.service'; -import { getMockTranslateService } from '../mocks/translate.service.mock'; -import { of as observableOf } from 'rxjs'; -import { RestResponse } from '../../core/cache/response.models'; -import { EPerson } from '../../core/eperson/models/eperson.model'; import { TranslateService } from '@ngx-translate/core'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { AuthService } from '../../core/auth/auth.service'; -import { CookieService } from '../../core/services/cookie.service'; import { getTestScheduler } from 'jasmine-marbles'; -import { MetadataValue } from '../../core/shared/metadata.models'; import clone from 'lodash/clone'; import cloneDeep from 'lodash/cloneDeep'; -import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; -import { ANONYMOUS_STORAGE_NAME_KLARO } from './klaro-configuration'; +import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; +import { AuthService } from '../../core/auth/auth.service'; +import { RestResponse } from '../../core/cache/response.models'; +import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { CookieService } from '../../core/services/cookie.service'; +import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; +import { MetadataValue } from '../../core/shared/metadata.models'; +import { getMockTranslateService } from '../mocks/translate.service.mock'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; +import { + BrowserKlaroService, + COOKIE_MDFIELD, +} from './browser-klaro.service'; +import { ANONYMOUS_STORAGE_NAME_KLARO } from './klaro-configuration'; + describe('BrowserKlaroService', () => { const trackingIdProp = 'google.analytics.key'; const trackingIdTestValue = 'mock-tracking-id'; diff --git a/src/app/shared/cookies/browser-klaro.service.ts b/src/app/shared/cookies/browser-klaro.service.ts index 177e97fde3..95456ba1f6 100644 --- a/src/app/shared/cookies/browser-klaro.service.ts +++ b/src/app/shared/cookies/browser-klaro.service.ts @@ -1,21 +1,41 @@ -import { Inject, Injectable, InjectionToken } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable, of as observableOf } from 'rxjs'; -import { AuthService } from '../../core/auth/auth.service'; +import { + Inject, + Injectable, + InjectionToken, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { environment } from '../../../environments/environment'; -import { map, switchMap, take } from 'rxjs/operators'; -import { EPerson } from '../../core/eperson/models/eperson.model'; -import { KlaroService } from './klaro.service'; -import { hasValue, isEmpty, isNotEmpty } from '../empty.util'; -import { CookieService } from '../../core/services/cookie.service'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { Operation } from 'fast-json-patch'; import cloneDeep from 'lodash/cloneDeep'; import debounce from 'lodash/debounce'; -import { ANONYMOUS_STORAGE_NAME_KLARO, klaroConfiguration } from './klaro-configuration'; -import { Operation } from 'fast-json-patch'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { environment } from '../../../environments/environment'; +import { AuthService } from '../../core/auth/auth.service'; import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { EPerson } from '../../core/eperson/models/eperson.model'; import { CAPTCHA_NAME } from '../../core/google-recaptcha/google-recaptcha.service'; +import { CookieService } from '../../core/services/cookie.service'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../empty.util'; +import { KlaroService } from './klaro.service'; +import { + ANONYMOUS_STORAGE_NAME_KLARO, + klaroConfiguration, +} from './klaro-configuration'; /** * Metadata field to store a user's cookie consent preferences in diff --git a/src/app/shared/cookies/klaro-configuration.ts b/src/app/shared/cookies/klaro-configuration.ts index 7169382b05..2ac69e550d 100644 --- a/src/app/shared/cookies/klaro-configuration.ts +++ b/src/app/shared/cookies/klaro-configuration.ts @@ -1,7 +1,13 @@ +import { + IMPERSONATING_COOKIE, + REDIRECT_COOKIE, +} from '../../core/auth/auth.service'; import { TOKENITEM } from '../../core/auth/models/auth-token-info.model'; -import { IMPERSONATING_COOKIE, REDIRECT_COOKIE } from '../../core/auth/auth.service'; +import { + CAPTCHA_COOKIE, + CAPTCHA_NAME, +} from '../../core/google-recaptcha/google-recaptcha.service'; import { LANG_COOKIE } from '../../core/locale/locale.service'; -import { CAPTCHA_COOKIE, CAPTCHA_NAME } from '../../core/google-recaptcha/google-recaptcha.service'; /** * Cookie for has_agreed_end_user diff --git a/src/app/shared/cookies/klaro.service.ts b/src/app/shared/cookies/klaro.service.ts index d54fed8b30..9e28d6ead7 100644 --- a/src/app/shared/cookies/klaro.service.ts +++ b/src/app/shared/cookies/klaro.service.ts @@ -1,5 +1,4 @@ import { Injectable } from '@angular/core'; - import { Observable } from 'rxjs'; /** diff --git a/src/app/shared/date.util.spec.ts b/src/app/shared/date.util.spec.ts index ad91879032..6f41fbf17c 100644 --- a/src/app/shared/date.util.spec.ts +++ b/src/app/shared/date.util.spec.ts @@ -1,4 +1,10 @@ -import { dateToString, dateToNgbDateStruct, dateToISOFormat, isValidDate, yearFromString } from './date.util'; +import { + dateToISOFormat, + dateToNgbDateStruct, + dateToString, + isValidDate, + yearFromString, +} from './date.util'; describe('Date Utils', () => { diff --git a/src/app/shared/date.util.ts b/src/app/shared/date.util.ts index 6cf519b7ec..7450687ada 100644 --- a/src/app/shared/date.util.ts +++ b/src/app/shared/date.util.ts @@ -1,7 +1,8 @@ import { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap'; -import { formatInTimeZone } from 'date-fns-tz'; import { isValid } from 'date-fns'; +import { formatInTimeZone } from 'date-fns-tz'; import isObject from 'lodash/isObject'; + import { hasNoValue } from './empty.util'; /** diff --git a/src/app/shared/ds-select/ds-select.component.spec.ts b/src/app/shared/ds-select/ds-select.component.spec.ts index fadc854873..22158ca10c 100644 --- a/src/app/shared/ds-select/ds-select.component.spec.ts +++ b/src/app/shared/ds-select/ds-select.component.spec.ts @@ -1,7 +1,12 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { DsSelectComponent } from './ds-select.component'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; +import { DsSelectComponent } from './ds-select.component'; + describe('DsSelectComponent', () => { let component: DsSelectComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/ds-select/ds-select.component.ts b/src/app/shared/ds-select/ds-select.component.ts index e3a3f36982..3c487af037 100644 --- a/src/app/shared/ds-select/ds-select.component.ts +++ b/src/app/shared/ds-select/ds-select.component.ts @@ -1,4 +1,9 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; /** * Component which represent a DSpace dropdown selector. diff --git a/src/app/shared/dso-page/dso-edit-menu.resolver.spec.ts b/src/app/shared/dso-page/dso-edit-menu.resolver.spec.ts index 3f7e6f692e..cf858f3ca6 100644 --- a/src/app/shared/dso-page/dso-edit-menu.resolver.spec.ts +++ b/src/app/shared/dso-page/dso-edit-menu.resolver.spec.ts @@ -1,25 +1,35 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { MenuServiceStub } from '../testing/menu-service.stub'; -import { of as observableOf } from 'rxjs'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; -import { AdminSidebarComponent } from '../../admin/admin-sidebar/admin-sidebar.component'; -import { MenuService } from '../menu/menu.service'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AdminSidebarComponent } from '../../admin/admin-sidebar/admin-sidebar.component'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; +import { Item } from '../../core/shared/item.model'; +import { MenuService } from '../menu/menu.service'; +import { MenuID } from '../menu/menu-id.model'; +import { LinkMenuItemModel } from '../menu/menu-item/models/link.model'; +import { TextMenuItemModel } from '../menu/menu-item/models/text.model'; +import { MenuItemType } from '../menu/menu-item-type.model'; +import { NotificationsService } from '../notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; +import { MenuServiceStub } from '../testing/menu-service.stub'; import { DSOEditMenuResolver } from './dso-edit-menu.resolver'; import { DsoVersioningModalService } from './dso-versioning-modal-service/dso-versioning-modal.service'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { Item } from '../../core/shared/item.model'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { MenuID } from '../menu/menu-id.model'; -import { MenuItemType } from '../menu/menu-item-type.model'; -import { TextMenuItemModel } from '../menu/menu-item/models/text.model'; -import { LinkMenuItemModel } from '../menu/menu-item/models/link.model'; -import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; -import { NotificationsService } from '../notifications/notifications.service'; describe('DSOEditMenuResolver', () => { diff --git a/src/app/shared/dso-page/dso-edit-menu.resolver.ts b/src/app/shared/dso-page/dso-edit-menu.resolver.ts index c2bc3bf7c8..7ded7dcb6b 100644 --- a/src/app/shared/dso-page/dso-edit-menu.resolver.ts +++ b/src/app/shared/dso-page/dso-edit-menu.resolver.ts @@ -1,26 +1,42 @@ -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; -import { combineLatest, Observable, of as observableOf } from 'rxjs'; -import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { MenuService } from '../menu/menu.service'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { Injectable } from '@angular/core'; -import { LinkMenuItemModel } from '../menu/menu-item/models/link.model'; -import { Item } from '../../core/shared/item.model'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { OnClickMenuItemModel } from '../menu/menu-item/models/onclick.model'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { map, switchMap } from 'rxjs/operators'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { getDSORoute } from '../../app-routing-paths'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; +import { Item } from '../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { URLCombiner } from '../../core/url-combiner/url-combiner'; -import { DsoVersioningModalService } from './dso-versioning-modal-service/dso-versioning-modal.service'; -import { hasNoValue, hasValue, isNotEmpty } from '../empty.util'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../empty.util'; +import { MenuService } from '../menu/menu.service'; import { MenuID } from '../menu/menu-id.model'; +import { LinkMenuItemModel } from '../menu/menu-item/models/link.model'; +import { OnClickMenuItemModel } from '../menu/menu-item/models/onclick.model'; import { MenuItemType } from '../menu/menu-item-type.model'; import { MenuSection } from '../menu/menu-section.model'; -import { getDSORoute } from '../../app-routing-paths'; -import { ResearcherProfileDataService } from '../../core/profile/researcher-profile-data.service'; import { NotificationsService } from '../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; +import { DsoVersioningModalService } from './dso-versioning-modal-service/dso-versioning-modal.service'; /** * Creates the menus for the dspace object pages diff --git a/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.spec.ts b/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.spec.ts index 2990ce5498..a3dc05683f 100644 --- a/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.spec.ts +++ b/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.spec.ts @@ -1,16 +1,21 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { MenuServiceStub } from '../../../testing/menu-service.stub'; +import { Component } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; +import { MenuItemType } from 'src/app/shared/menu/menu-item-type.model'; + import { MenuService } from '../../../menu/menu.service'; import { CSSVariableService } from '../../../sass-helper/css-variable.service'; import { CSSVariableServiceStub } from '../../../testing/css-variable-service.stub'; -import { Router } from '@angular/router'; +import { MenuServiceStub } from '../../../testing/menu-service.stub'; import { RouterStub } from '../../../testing/router.stub'; -import { of as observableOf } from 'rxjs'; -import { Component } from '@angular/core'; import { DsoEditMenuExpandableSectionComponent } from './dso-edit-menu-expandable-section.component'; -import { By } from '@angular/platform-browser'; -import { MenuItemType } from 'src/app/shared/menu/menu-item-type.model'; describe('DsoEditMenuExpandableSectionComponent', () => { let component: DsoEditMenuExpandableSectionComponent; diff --git a/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.ts b/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.ts index 8e4a7008af..441aa49906 100644 --- a/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.ts +++ b/src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.ts @@ -1,13 +1,18 @@ -import { Component, Inject, Injector } from '@angular/core'; -import { rendersSectionForMenu } from 'src/app/shared/menu/menu-section.decorator'; -import { MenuSectionComponent } from 'src/app/shared/menu/menu-section/menu-section.component'; -import { MenuService } from '../../../menu/menu.service'; +import { + Component, + Inject, + Injector, +} from '@angular/core'; import { Router } from '@angular/router'; -import { MenuID } from 'src/app/shared/menu/menu-id.model'; -import { MenuSection } from 'src/app/shared/menu/menu-section.model'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; +import { MenuID } from 'src/app/shared/menu/menu-id.model'; +import { rendersSectionForMenu } from 'src/app/shared/menu/menu-section.decorator'; +import { MenuSection } from 'src/app/shared/menu/menu-section.model'; +import { MenuSectionComponent } from 'src/app/shared/menu/menu-section/menu-section.component'; + import { hasValue } from '../../../empty.util'; +import { MenuService } from '../../../menu/menu.service'; /** * Represents an expandable section in the dso edit menus diff --git a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.spec.ts b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.spec.ts index 7d793fea5f..9bbb4ecbe9 100644 --- a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.spec.ts +++ b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.spec.ts @@ -1,17 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { MenuServiceStub } from '../../../testing/menu-service.stub'; +import { Component } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; +import { MenuItemType } from 'src/app/shared/menu/menu-item-type.model'; + import { MenuService } from '../../../menu/menu.service'; +import { OnClickMenuItemModel } from '../../../menu/menu-item/models/onclick.model'; import { CSSVariableService } from '../../../sass-helper/css-variable.service'; import { CSSVariableServiceStub } from '../../../testing/css-variable-service.stub'; -import { Router } from '@angular/router'; +import { MenuServiceStub } from '../../../testing/menu-service.stub'; import { RouterStub } from '../../../testing/router.stub'; -import { of as observableOf } from 'rxjs'; -import { Component } from '@angular/core'; -import { By } from '@angular/platform-browser'; import { DsoEditMenuSectionComponent } from './dso-edit-menu-section.component'; -import { OnClickMenuItemModel } from '../../../menu/menu-item/models/onclick.model'; -import { MenuItemType } from 'src/app/shared/menu/menu-item-type.model'; function initAsync(dummySectionText: { visible: boolean; icon: string; active: boolean; model: { disabled: boolean; text: string; type: MenuItemType }; id: string }, menuService: MenuServiceStub) { beforeEach(waitForAsync(() => { diff --git a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.ts b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.ts index 8e5d3a1225..38756d6ea7 100644 --- a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.ts +++ b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.ts @@ -1,8 +1,14 @@ -import { Component, Inject, Injector, OnInit } from '@angular/core'; +import { + Component, + Inject, + Injector, + OnInit, +} from '@angular/core'; import { rendersSectionForMenu } from 'src/app/shared/menu/menu-section.decorator'; import { MenuSectionComponent } from 'src/app/shared/menu/menu-section/menu-section.component'; -import { MenuService } from '../../../menu/menu.service'; + import { isNotEmpty } from '../../../empty.util'; +import { MenuService } from '../../../menu/menu.service'; import { MenuID } from '../../../menu/menu-id.model'; import { MenuSection } from '../../../menu/menu-section.model'; diff --git a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.spec.ts b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.spec.ts index fb3e6561b3..e9be199fe9 100644 --- a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.spec.ts +++ b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.spec.ts @@ -1,21 +1,27 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { of as observableOf } from 'rxjs'; -import { RouterTestingModule } from '@angular/router/testing'; +import { + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; -import { DsoEditMenuComponent } from './dso-edit-menu.component'; -import { MenuServiceStub } from '../../testing/menu-service.stub'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { AuthService } from '../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../testing/auth-service.stub'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { MenuService } from '../../menu/menu.service'; import { MenuItemModel } from '../../menu/menu-item/models/menu-item.model'; -import { ThemeService } from '../../theme-support/theme.service'; import { getMockThemeService } from '../../mocks/theme-service.mock'; - - +import { AuthServiceStub } from '../../testing/auth-service.stub'; +import { MenuServiceStub } from '../../testing/menu-service.stub'; +import { ThemeService } from '../../theme-support/theme.service'; import { DsoPageModule } from '../dso-page.module'; +import { DsoEditMenuComponent } from './dso-edit-menu.component'; describe('DsoEditMenuComponent', () => { let comp: DsoEditMenuComponent; diff --git a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.ts b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.ts index 5f24add13f..457940f426 100644 --- a/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.ts +++ b/src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.ts @@ -1,10 +1,14 @@ -import { Component, Injector } from '@angular/core'; +import { + Component, + Injector, +} from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { AuthorizationDataService } from 'src/app/core/data/feature-authorization/authorization-data.service'; + import { MenuComponent } from '../../menu/menu.component'; import { MenuService } from '../../menu/menu.service'; -import { ActivatedRoute } from '@angular/router'; -import { ThemeService } from '../../theme-support/theme.service'; import { MenuID } from '../../menu/menu-id.model'; +import { ThemeService } from '../../theme-support/theme.service'; /** * Component representing the edit menu and other menus on the dspace object pages diff --git a/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.spec.ts b/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.spec.ts index 4aeebfc8df..03d13c94ea 100644 --- a/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.spec.ts +++ b/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.spec.ts @@ -1,15 +1,21 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { DsoPageSubscriptionButtonComponent } from './dso-page-subscription-button.component'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { of as observableOf } from 'rxjs'; -import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; -import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { Item } from '../../../core/shared/item.model'; import { ITEM } from '../../../core/shared/item.resource-type'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; +import { DsoPageSubscriptionButtonComponent } from './dso-page-subscription-button.component'; describe('DsoPageSubscriptionButtonComponent', () => { let component: DsoPageSubscriptionButtonComponent; diff --git a/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.ts b/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.ts index bde022874e..5ba2c738f7 100644 --- a/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.ts +++ b/src/app/shared/dso-page/dso-page-subscription-button/dso-page-subscription-button.component.ts @@ -1,12 +1,21 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { + Observable, + of, +} from 'rxjs'; -import { Observable, of } from 'rxjs'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; - -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { SubscriptionModalComponent } from '../../subscriptions/subscription-modal/subscription-modal.component'; import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { SubscriptionModalComponent } from '../../subscriptions/subscription-modal/subscription-modal.component'; @Component({ selector: 'ds-dso-page-subscription-button', diff --git a/src/app/shared/dso-page/dso-page.module.ts b/src/app/shared/dso-page/dso-page.module.ts index b9725e2c11..48a735156a 100644 --- a/src/app/shared/dso-page/dso-page.module.ts +++ b/src/app/shared/dso-page/dso-page.module.ts @@ -1,15 +1,15 @@ -import { NgModule } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterModule } from '@angular/router'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { + NgbDropdownModule, + NgbTooltipModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { DsoEditMenuExpandableSectionComponent } from '../dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component'; import { DsoEditMenuComponent } from '../dso-page/dso-edit-menu/dso-edit-menu.component'; -import { - DsoEditMenuSectionComponent, -} from '../dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component'; -import { - DsoEditMenuExpandableSectionComponent, -} from '../dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component'; -import { NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap'; +import { DsoEditMenuSectionComponent } from '../dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component'; const COMPONENTS = [ DsoEditMenuComponent, diff --git a/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.spec.ts b/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.spec.ts index 876d9dcc87..754bf5b346 100644 --- a/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.spec.ts +++ b/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.spec.ts @@ -1,13 +1,17 @@ -import { DsoVersioningModalService } from './dso-versioning-modal.service'; import { waitForAsync } from '@angular/core/testing'; -import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { Version } from '../../../core/shared/version.model'; +import { + EMPTY, + of as observableOf, +} from 'rxjs'; + +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { Item } from '../../../core/shared/item.model'; import { MetadataMap } from '../../../core/shared/metadata.models'; -import { createRelationshipsObservable } from '../../../item-page/simple/item-types/shared/item.component.spec'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { PageInfo } from '../../../core/shared/page-info.model'; -import { EMPTY, of as observableOf } from 'rxjs'; +import { Version } from '../../../core/shared/version.model'; +import { createRelationshipsObservable } from '../../../item-page/simple/item-types/shared/item.component.spec'; +import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; +import { DsoVersioningModalService } from './dso-versioning-modal.service'; describe('DsoVersioningModalService', () => { let service: DsoVersioningModalService; diff --git a/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.ts b/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.ts index 38b171fa5c..14161485eb 100644 --- a/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.ts +++ b/src/app/shared/dso-page/dso-versioning-modal-service/dso-versioning-modal.service.ts @@ -1,21 +1,31 @@ -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Version } from '../../../core/shared/version.model'; -import { map, startWith, switchMap, tap } from 'rxjs/operators'; -import { Item } from '../../../core/shared/item.model'; -import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { + Observable, + of, +} from 'rxjs'; +import { + map, + startWith, + switchMap, + tap, +} from 'rxjs/operators'; + +import { ItemDataService } from '../../../core/data/item-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; import { VersionDataService } from '../../../core/data/version-data.service'; import { VersionHistoryDataService } from '../../../core/data/version-history-data.service'; -import { Router } from '@angular/router'; -import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service'; -import { ItemDataService } from '../../../core/data/item-data.service'; -import { Injectable } from '@angular/core'; -import { Observable, of } from 'rxjs'; -import { ItemVersionsSharedService } from '../../../item-page/versions/item-versions-shared.service'; +import { Item } from '../../../core/shared/item.model'; import { - ItemVersionsSummaryModalComponent, -} from '../../../item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component'; + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { Version } from '../../../core/shared/version.model'; +import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; +import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service'; +import { ItemVersionsSharedService } from '../../../item-page/versions/item-versions-shared.service'; +import { ItemVersionsSummaryModalComponent } from '../../../item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component'; /** * Service to take care of all the functionality related to the version creation modal diff --git a/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.spec.ts b/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.spec.ts index 076045281f..223d56f8ab 100644 --- a/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.spec.ts +++ b/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.spec.ts @@ -1,16 +1,21 @@ -import { AuthorizedCollectionSelectorComponent } from './authorized-collection-selector.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../../utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + import { CollectionDataService } from '../../../../core/data/collection-data.service'; -import { createSuccessfulRemoteDataObject$ } from '../../../remote-data.utils'; -import { createPaginatedList } from '../../../testing/utils.test'; import { Collection } from '../../../../core/shared/collection.model'; import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { NotificationsService } from '../../../notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../remote-data.utils'; +import { createPaginatedList } from '../../../testing/utils.test'; +import { VarDirective } from '../../../utils/var.directive'; +import { AuthorizedCollectionSelectorComponent } from './authorized-collection-selector.component'; describe('AuthorizedCollectionSelectorComponent', () => { let component: AuthorizedCollectionSelectorComponent; diff --git a/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.ts b/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.ts index 0f05eb4a34..973febf97d 100644 --- a/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.ts +++ b/src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.ts @@ -1,22 +1,29 @@ -import { Component, Input } from '@angular/core'; -import { DSOSelectorComponent } from '../dso-selector.component'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { CollectionDataService } from '../../../../core/data/collection-data.service'; +import { + Component, + Input, +} from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; import { map } from 'rxjs/operators'; -import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; -import { SearchResult } from '../../../search/models/search-result.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { buildPaginatedList, PaginatedList } from '../../../../core/data/paginated-list.model'; -import { followLink } from '../../../utils/follow-link-config.model'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { CollectionDataService } from '../../../../core/data/collection-data.service'; +import { FindListOptions } from '../../../../core/data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; +import { Collection } from '../../../../core/shared/collection.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { hasValue } from '../../../empty.util'; import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { Collection } from '../../../../core/shared/collection.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { FindListOptions } from '../../../../core/data/find-list-options.model'; +import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; +import { SearchResult } from '../../../search/models/search-result.model'; +import { followLink } from '../../../utils/follow-link-config.model'; +import { DSOSelectorComponent } from '../dso-selector.component'; @Component({ selector: 'ds-authorized-collection-selector', diff --git a/src/app/shared/dso-selector/dso-selector/dso-selector.component.spec.ts b/src/app/shared/dso-selector/dso-selector/dso-selector.component.spec.ts index d64d7b3966..c41a9beca2 100644 --- a/src/app/shared/dso-selector/dso-selector/dso-selector.component.spec.ts +++ b/src/app/shared/dso-selector/dso-selector/dso-selector.component.spec.ts @@ -1,17 +1,31 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { DSOSelectorComponent } from './dso-selector.component'; -import { SearchService } from '../../../core/shared/search/search.service'; + +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; -import { ItemSearchResult } from '../../object-collection/shared/item-search-result.model'; import { Item } from '../../../core/shared/item.model'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { PaginatedSearchOptions } from '../../search/models/paginated-search-options.model'; +import { SearchService } from '../../../core/shared/search/search.service'; import { hasValue } from '../../empty.util'; -import { createPaginatedList } from '../../testing/utils.test'; import { NotificationsService } from '../../notifications/notifications.service'; -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; +import { ItemSearchResult } from '../../object-collection/shared/item-search-result.model'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../remote-data.utils'; +import { PaginatedSearchOptions } from '../../search/models/paginated-search-options.model'; +import { createPaginatedList } from '../../testing/utils.test'; +import { DSOSelectorComponent } from './dso-selector.component'; describe('DSOSelectorComponent', () => { let component: DSOSelectorComponent; diff --git a/src/app/shared/dso-selector/dso-selector/dso-selector.component.ts b/src/app/shared/dso-selector/dso-selector/dso-selector.component.ts index a5af7144b9..ac2c571c58 100644 --- a/src/app/shared/dso-selector/dso-selector/dso-selector.component.ts +++ b/src/app/shared/dso-selector/dso-selector/dso-selector.component.ts @@ -10,7 +10,7 @@ import { ViewChildren, } from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; - +import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, combineLatest as observableCombineLatest, @@ -18,32 +18,44 @@ import { of as observableOf, Subscription, } from 'rxjs'; -import { debounceTime, map, startWith, switchMap, tap } from 'rxjs/operators'; +import { + debounceTime, + map, + startWith, + switchMap, + tap, +} from 'rxjs/operators'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; -import { PaginatedSearchOptions } from '../../search/models/paginated-search-options.model'; -import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { ViewMode } from '../../../core/shared/view-mode.model'; -import { Context } from '../../../core/shared/context.model'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { hasNoValue, hasValue, isEmpty, isNotEmpty } from '../../empty.util'; -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; -import { SearchResult } from '../../search/models/search-result.model'; -import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { RemoteData } from '../../../core/data/remote-data'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { SortOptions } from '../../../core/cache/models/sort-options.model'; import { - ListableNotificationObject, -} from '../../object-list/listable-notification-object/listable-notification-object.model'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { Context } from '../../../core/shared/context.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { + hasNoValue, + hasValue, + isEmpty, + isNotEmpty, +} from '../../empty.util'; import { NotificationType } from '../../notifications/models/notification-type'; -import { - LISTABLE_NOTIFICATION_OBJECT, -} from '../../object-list/listable-notification-object/listable-notification-object.resource-type'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; +import { ListableObject } from '../../object-collection/shared/listable-object.model'; +import { ListableNotificationObject } from '../../object-list/listable-notification-object/listable-notification-object.model'; +import { LISTABLE_NOTIFICATION_OBJECT } from '../../object-list/listable-notification-object/listable-notification-object.resource-type'; +import { PaginatedSearchOptions } from '../../search/models/paginated-search-options.model'; +import { SearchResult } from '../../search/models/search-result.model'; @Component({ selector: 'ds-dso-selector', diff --git a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.spec.ts index 5371144963..01ee6b966b 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.spec.ts @@ -1,13 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; +import { TranslateModule } from '@ngx-translate/core'; + import { Community } from '../../../../core/shared/community.model'; -import { CreateCollectionParentSelectorComponent } from './create-collection-parent-selector.component'; import { MetadataValue } from '../../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { RouterStub } from '../../../testing/router.stub'; +import { CreateCollectionParentSelectorComponent } from './create-collection-parent-selector.component'; describe('CreateCollectionParentSelectorComponent', () => { let component: CreateCollectionParentSelectorComponent; diff --git a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts index ae9bbb9645..ca8761b677 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts @@ -1,15 +1,29 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; import { - getCollectionCreateRoute, - COLLECTION_PARENT_PARAMETER, -} from '../../../../collection-page/collection-page-routing-paths'; -import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model'; + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + NavigationExtras, + Router, +} from '@angular/router'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; + import { environment } from '../../../../../environments/environment'; +import { + COLLECTION_PARENT_PARAMETER, + getCollectionCreateRoute, +} from '../../../../collection-page/collection-page-routing-paths'; +import { + SortDirection, + SortOptions, +} from '../../../../core/cache/models/sort-options.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from '../dso-selector-modal-wrapper.component'; /** * Component to wrap a list of existing communities inside a modal * Used to choose a community from to create a new collection in diff --git a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts index d5ab191304..f31330ce2b 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts @@ -1,7 +1,8 @@ import {Component} from '@angular/core'; -import {CreateCollectionParentSelectorComponent} from './create-collection-parent-selector.component'; import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; +import {CreateCollectionParentSelectorComponent} from './create-collection-parent-selector.component'; + /** * Themed wrapper for CreateCollectionParentSelectorComponent */ diff --git a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.spec.ts index ef5ef4068c..fbf888ba60 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.spec.ts @@ -1,13 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; +import { TranslateModule } from '@ngx-translate/core'; + import { Community } from '../../../../core/shared/community.model'; -import { CreateCommunityParentSelectorComponent } from './create-community-parent-selector.component'; import { MetadataValue } from '../../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { RouterStub } from '../../../testing/router.stub'; +import { CreateCommunityParentSelectorComponent } from './create-community-parent-selector.component'; describe('CreateCommunityParentSelectorComponent', () => { let component: CreateCommunityParentSelectorComponent; diff --git a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts index c946fda78d..900c88f708 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts @@ -1,19 +1,30 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { hasValue } from '../../../empty.util'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + NavigationExtras, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; + +import { environment } from '../../../../../environments/environment'; +import { + COMMUNITY_PARENT_PARAMETER, + getCommunityCreateRoute, +} from '../../../../community-page/community-page-routing-paths'; +import { + SortDirection, + SortOptions, +} from '../../../../core/cache/models/sort-options.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; +import { hasValue } from '../../../empty.util'; import { DSOSelectorModalWrapperComponent, SelectorActionType, } from '../dso-selector-modal-wrapper.component'; -import { - getCommunityCreateRoute, - COMMUNITY_PARENT_PARAMETER, -} from '../../../../community-page/community-page-routing-paths'; -import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model'; -import { environment } from '../../../../../environments/environment'; /** * Component to wrap a button - for top communities - diff --git a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts index b6b3b6f443..8bff44fbd7 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts @@ -1,7 +1,8 @@ import {Component} from '@angular/core'; -import {CreateCommunityParentSelectorComponent} from './create-community-parent-selector.component'; import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; +import {CreateCommunityParentSelectorComponent} from './create-community-parent-selector.component'; + /** * Themed wrapper for CreateCommunityParentSelectorComponent */ diff --git a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.spec.ts index bc809e5795..174fd402f4 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.spec.ts @@ -1,13 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; +import { TranslateModule } from '@ngx-translate/core'; + import { Collection } from '../../../../core/shared/collection.model'; -import { CreateItemParentSelectorComponent } from './create-item-parent-selector.component'; import { MetadataValue } from '../../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { RouterStub } from '../../../testing/router.stub'; +import { CreateItemParentSelectorComponent } from './create-item-parent-selector.component'; describe('CreateItemParentSelectorComponent', () => { let component: CreateItemParentSelectorComponent; diff --git a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts index d55bf15b93..1b7bcb308b 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts @@ -1,11 +1,26 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + NavigationExtras, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; -import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model'; + import { environment } from '../../../../../environments/environment'; +import { + SortDirection, + SortOptions, +} from '../../../../core/cache/models/sort-options.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from '../dso-selector-modal-wrapper.component'; /** * Component to wrap a list of existing collections inside a modal diff --git a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts index 33b2c1fe92..a2393c0918 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts @@ -1,7 +1,11 @@ -import {Component, Input} from '@angular/core'; -import {CreateItemParentSelectorComponent} from './create-item-parent-selector.component'; +import { + Component, + Input, +} from '@angular/core'; import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; +import {CreateItemParentSelectorComponent} from './create-item-parent-selector.component'; + /** * Themed wrapper for CreateItemParentSelectorComponent */ diff --git a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.spec.ts index 1cc92657f4..50b6dc6c3f 100644 --- a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.spec.ts @@ -1,17 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + Component, + DebugElement, + NO_ERRORS_SCHEMA, + OnInit, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { ActivatedRoute } from '@angular/router'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; -import { Component, DebugElement, NO_ERRORS_SCHEMA, OnInit } from '@angular/core'; +import { MockComponent } from 'ng-mocks'; + +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; import { Item } from '../../../core/shared/item.model'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from './dso-selector-modal-wrapper.component'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute } from '@angular/router'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { By } from '@angular/platform-browser'; -import { DSOSelectorComponent } from '../dso-selector/dso-selector.component'; -import { MockComponent } from 'ng-mocks'; import { MetadataValue } from '../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; +import { DSOSelectorComponent } from '../dso-selector/dso-selector.component'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from './dso-selector-modal-wrapper.component'; describe('DSOSelectorModalWrapperComponent', () => { let component: DSOSelectorModalWrapperComponent; diff --git a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts index a88557105b..028ce7cef3 100644 --- a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts @@ -1,11 +1,22 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { RemoteData } from '../../../core/data/remote-data'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + ActivatedRouteSnapshot, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; -import { hasValue, isNotEmpty } from '../../empty.util'; + import { SortOptions } from '../../../core/cache/models/sort-options.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; +import { + hasValue, + isNotEmpty, +} from '../../empty.util'; export enum SelectorActionType { CREATE = 'create', diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.spec.ts index ccdb8a082b..5748e92937 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.spec.ts @@ -1,13 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; -import { EditCollectionSelectorComponent } from './edit-collection-selector.component'; +import { TranslateModule } from '@ngx-translate/core'; + import { Collection } from '../../../../core/shared/collection.model'; import { MetadataValue } from '../../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { RouterStub } from '../../../testing/router.stub'; +import { EditCollectionSelectorComponent } from './edit-collection-selector.component'; describe('EditCollectionSelectorComponent', () => { let component: EditCollectionSelectorComponent; diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts index 095a26da4c..9df342a17a 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts @@ -1,15 +1,25 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; + +import { environment } from '../../../../../environments/environment'; +import { getCollectionEditRoute } from '../../../../collection-page/collection-page-routing-paths'; +import { + SortDirection, + SortOptions, +} from '../../../../core/cache/models/sort-options.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; import { DSOSelectorModalWrapperComponent, SelectorActionType, } from '../dso-selector-modal-wrapper.component'; -import { getCollectionEditRoute } from '../../../../collection-page/collection-page-routing-paths'; -import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model'; -import { environment } from '../../../../../environments/environment'; /** * Component to wrap a list of existing collections inside a modal diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts index f6927c5517..6aba89fa12 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts @@ -1,7 +1,8 @@ import {Component} from '@angular/core'; -import {EditCollectionSelectorComponent} from './edit-collection-selector.component'; import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; +import {EditCollectionSelectorComponent} from './edit-collection-selector.component'; + /** * Themed wrapper for EditCollectionSelectorComponent */ diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.spec.ts index e76054aefe..75b64d8aef 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.spec.ts @@ -1,13 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; -import { EditCommunitySelectorComponent } from './edit-community-selector.component'; +import { TranslateModule } from '@ngx-translate/core'; + import { Community } from '../../../../core/shared/community.model'; import { MetadataValue } from '../../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { RouterStub } from '../../../testing/router.stub'; +import { EditCommunitySelectorComponent } from './edit-community-selector.component'; describe('EditCommunitySelectorComponent', () => { let component: EditCommunitySelectorComponent; diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts index 94d6d19206..b33f5bae9c 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts @@ -1,15 +1,25 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; + +import { environment } from '../../../../../environments/environment'; +import { getCommunityEditRoute } from '../../../../community-page/community-page-routing-paths'; +import { + SortDirection, + SortOptions, +} from '../../../../core/cache/models/sort-options.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; import { DSOSelectorModalWrapperComponent, SelectorActionType, } from '../dso-selector-modal-wrapper.component'; -import { getCommunityEditRoute } from '../../../../community-page/community-page-routing-paths'; -import { SortDirection, SortOptions } from '../../../../core/cache/models/sort-options.model'; -import { environment } from '../../../../../environments/environment'; /** * Component to wrap a list of existing communities inside a modal diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts index 4159db7a69..ee063252b8 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts @@ -1,7 +1,8 @@ import {Component} from '@angular/core'; -import {EditCommunitySelectorComponent} from './edit-community-selector.component'; import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; +import {EditCommunitySelectorComponent} from './edit-community-selector.component'; + /** * Themed wrapper for EditCommunitySelectorComponent */ diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.spec.ts index 698d37f05c..de0844781b 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.spec.ts @@ -1,13 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { EditItemSelectorComponent } from './edit-item-selector.component'; +import { TranslateModule } from '@ngx-translate/core'; + import { Item } from '../../../../core/shared/item.model'; -import { RouterStub } from '../../../testing/router.stub'; import { MetadataValue } from '../../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { RouterStub } from '../../../testing/router.stub'; +import { EditItemSelectorComponent } from './edit-item-selector.component'; describe('EditItemSelectorComponent', () => { let component: EditItemSelectorComponent; diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts index c1ae583908..08a18dee7f 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts @@ -1,11 +1,21 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; -import { getItemEditRoute } from '../../../../item-page/item-page-routing-paths'; + +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; import { Item } from '../../../../core/shared/item.model'; +import { getItemEditRoute } from '../../../../item-page/item-page-routing-paths'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from '../dso-selector-modal-wrapper.component'; /** * Component to wrap a list of existing items inside a modal diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts index b484d803bd..687c170fb7 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts @@ -1,7 +1,8 @@ import {Component} from '@angular/core'; -import {EditItemSelectorComponent} from './edit-item-selector.component'; import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; +import {EditItemSelectorComponent} from './edit-item-selector.component'; + /** * Themed wrapper for EditItemSelectorComponent */ diff --git a/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.spec.ts index d7109419e8..c81eaef4ed 100644 --- a/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.spec.ts @@ -1,25 +1,47 @@ -import { of as observableOf } from 'rxjs'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + DebugElement, + NgModule, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NgModule, NO_ERRORS_SCHEMA } from '@angular/core'; -import { NgbActiveModal, NgbModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { BATCH_EXPORT_SCRIPT_NAME, ScriptDataService } from '../../../../core/data/processes/script-data.service'; +import { + NgbActiveModal, + NgbModal, + NgbModalModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; +import { + BATCH_EXPORT_SCRIPT_NAME, + ScriptDataService, +} from '../../../../core/data/processes/script-data.service'; import { Collection } from '../../../../core/shared/collection.model'; import { Item } from '../../../../core/shared/item.model'; import { ProcessParameter } from '../../../../process-page/processes/process-parameter.model'; import { ConfirmationModalComponent } from '../../../confirmation-modal/confirmation-modal.component'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../remote-data.utils'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; import { ExportBatchSelectorComponent } from './export-batch-selector.component'; -import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; // No way to add entryComponents yet to testbed; alternative implemented; source: https://stackoverflow.com/questions/41689468/how-to-shallow-test-a-component-with-an-entrycomponents @NgModule({ diff --git a/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts index a099ed7ba0..1480b765d9 100644 --- a/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts @@ -1,25 +1,47 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + NgbActiveModal, + NgbModal, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; -import { BATCH_EXPORT_SCRIPT_NAME, ScriptDataService } from '../../../../core/data/processes/script-data.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../../../core/data/feature-authorization/feature-id'; +import { + BATCH_EXPORT_SCRIPT_NAME, + ScriptDataService, +} from '../../../../core/data/processes/script-data.service'; +import { RemoteData } from '../../../../core/data/remote-data'; import { Collection } from '../../../../core/shared/collection.model'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { getProcessDetailRoute } from '../../../../process-page/process-page-routing.paths'; +import { Process } from '../../../../process-page/processes/process.model'; import { ProcessParameter } from '../../../../process-page/processes/process-parameter.model'; import { ConfirmationModalComponent } from '../../../confirmation-modal/confirmation-modal.component'; import { isNotEmpty } from '../../../empty.util'; import { NotificationsService } from '../../../notifications/notifications.service'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { Process } from '../../../../process-page/processes/process.model'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { getProcessDetailRoute } from '../../../../process-page/process-page-routing.paths'; -import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; -import { FeatureID } from '../../../../core/data/feature-authorization/feature-id'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from '../dso-selector-modal-wrapper.component'; /** * Component to wrap a list of existing dso's inside a modal diff --git a/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.spec.ts index 586e34d82d..596fe19e4d 100644 --- a/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.spec.ts @@ -1,11 +1,34 @@ -import { of as observableOf } from 'rxjs'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + DebugElement, + NgModule, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NgModule, NO_ERRORS_SCHEMA } from '@angular/core'; -import { NgbActiveModal, NgbModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { METADATA_EXPORT_SCRIPT_NAME, ScriptDataService } from '../../../../core/data/processes/script-data.service'; +import { + NgbActiveModal, + NgbModal, + NgbModalModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; +import { + METADATA_EXPORT_SCRIPT_NAME, + ScriptDataService, +} from '../../../../core/data/processes/script-data.service'; import { Collection } from '../../../../core/shared/collection.model'; import { Community } from '../../../../core/shared/community.model'; import { Item } from '../../../../core/shared/item.model'; @@ -13,14 +36,13 @@ import { ProcessParameter } from '../../../../process-page/processes/process-par import { ConfirmationModalComponent } from '../../../confirmation-modal/confirmation-modal.component'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../../remote-data.utils'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; import { ExportMetadataSelectorComponent } from './export-metadata-selector.component'; -import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; // No way to add entryComponents yet to testbed; alternative implemented; source: https://stackoverflow.com/questions/41689468/how-to-shallow-test-a-component-with-an-entrycomponents @NgModule({ diff --git a/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.ts index e694a707c6..1a2a9169ae 100644 --- a/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.ts @@ -1,26 +1,48 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + NgbActiveModal, + NgbModal, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; -import { METADATA_EXPORT_SCRIPT_NAME, ScriptDataService } from '../../../../core/data/processes/script-data.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../../../core/data/feature-authorization/feature-id'; +import { + METADATA_EXPORT_SCRIPT_NAME, + ScriptDataService, +} from '../../../../core/data/processes/script-data.service'; +import { RemoteData } from '../../../../core/data/remote-data'; import { Collection } from '../../../../core/shared/collection.model'; import { Community } from '../../../../core/shared/community.model'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { getProcessDetailRoute } from '../../../../process-page/process-page-routing.paths'; +import { Process } from '../../../../process-page/processes/process.model'; import { ProcessParameter } from '../../../../process-page/processes/process-parameter.model'; import { ConfirmationModalComponent } from '../../../confirmation-modal/confirmation-modal.component'; import { isNotEmpty } from '../../../empty.util'; import { NotificationsService } from '../../../notifications/notifications.service'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { Process } from '../../../../process-page/processes/process.model'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { getProcessDetailRoute } from '../../../../process-page/process-page-routing.paths'; -import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service'; -import { FeatureID } from '../../../../core/data/feature-authorization/feature-id'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from '../dso-selector-modal-wrapper.component'; /** * Component to wrap a list of existing dso's inside a modal diff --git a/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.spec.ts b/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.spec.ts index b2d8be80a6..f2d755d277 100644 --- a/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.spec.ts +++ b/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.spec.ts @@ -1,8 +1,13 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + import { Collection } from '../../../../core/shared/collection.model'; import { Item } from '../../../../core/shared/item.model'; import { ImportBatchSelectorComponent } from './import-batch-selector.component'; diff --git a/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.ts index 4256e423f8..a1f59161df 100644 --- a/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.ts @@ -1,11 +1,23 @@ -import { Component, EventEmitter, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + OnInit, + Output, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { Collection } from '../../../../core/shared/collection.model'; -import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; -import { Observable, of } from 'rxjs'; +import { + Observable, + of, +} from 'rxjs'; + +import { Collection } from '../../../../core/shared/collection.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../../core/shared/dspace-object-type.model'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from '../dso-selector-modal-wrapper.component'; /** * Component to wrap a list of existing dso's inside a modal diff --git a/src/app/shared/empty.util.spec.ts b/src/app/shared/empty.util.spec.ts index e99378e85f..0ec050baee 100644 --- a/src/app/shared/empty.util.spec.ts +++ b/src/app/shared/empty.util.spec.ts @@ -1,4 +1,8 @@ -import { cold, hot } from 'jasmine-marbles'; +import { + cold, + hot, +} from 'jasmine-marbles'; + import { ensureArrayHasValue, hasNoValue, @@ -9,7 +13,8 @@ import { isNotEmptyOperator, isNotNull, isNotUndefined, - isNull, isObjectEmpty, + isNull, + isObjectEmpty, isUndefined, } from './empty.util'; diff --git a/src/app/shared/empty.util.ts b/src/app/shared/empty.util.ts index df87d68877..f1b9fd54c7 100644 --- a/src/app/shared/empty.util.ts +++ b/src/app/shared/empty.util.ts @@ -1,5 +1,8 @@ import { Observable } from 'rxjs'; -import { filter, map } from 'rxjs/operators'; +import { + filter, + map, +} from 'rxjs/operators'; /** * Returns true if the passed value is null. diff --git a/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts b/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts index 36b81f1e31..44ed9687de 100644 --- a/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts +++ b/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts @@ -1,13 +1,23 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { EntityDropdownComponent } from './entity-dropdown.component'; -import { getTestScheduler } from 'jasmine-marbles'; -import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { ItemType } from '../../core/shared/item-relationships/item-type.model'; -import { ChangeDetectorRef, NO_ERRORS_SCHEMA, Pipe, PipeTransform } from '@angular/core'; -import { EntityTypeDataService } from '../../core/data/entity-type-data.service'; -import { TestScheduler } from 'rxjs/testing'; +import { + ChangeDetectorRef, + NO_ERRORS_SCHEMA, + Pipe, + PipeTransform, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { getTestScheduler } from 'jasmine-marbles'; +import { TestScheduler } from 'rxjs/testing'; + +import { EntityTypeDataService } from '../../core/data/entity-type-data.service'; +import { ItemType } from '../../core/shared/item-relationships/item-type.model'; +import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { createPaginatedList } from '../testing/utils.test'; +import { EntityDropdownComponent } from './entity-dropdown.component'; // eslint-disable-next-line @angular-eslint/pipe-prefix @Pipe({ name: 'translate' }) diff --git a/src/app/shared/entity-dropdown/entity-dropdown.component.ts b/src/app/shared/entity-dropdown/entity-dropdown.component.ts index d85a47bee5..f3fcf835f5 100644 --- a/src/app/shared/entity-dropdown/entity-dropdown.component.ts +++ b/src/app/shared/entity-dropdown/entity-dropdown.component.ts @@ -9,15 +9,24 @@ import { OnInit, Output, } from '@angular/core'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { hasValue } from '../empty.util'; -import { reduce, startWith, switchMap } from 'rxjs/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { + reduce, + startWith, + switchMap, +} from 'rxjs/operators'; + import { EntityTypeDataService } from '../../core/data/entity-type-data.service'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; import { ItemType } from '../../core/shared/item-relationships/item-type.model'; import { getFirstSucceededRemoteWithNotEmptyData } from '../../core/shared/operators'; -import { FindListOptions } from '../../core/data/find-list-options.model'; +import { hasValue } from '../empty.util'; @Component({ selector: 'ds-entity-dropdown', diff --git a/src/app/shared/eperson-group-list/eperson-group-list.component.spec.ts b/src/app/shared/eperson-group-list/eperson-group-list.component.spec.ts index 89280026d6..cbf72950f7 100644 --- a/src/app/shared/eperson-group-list/eperson-group-list.component.spec.ts +++ b/src/app/shared/eperson-group-list/eperson-group-list.component.spec.ts @@ -1,26 +1,38 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectorRef, Component, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { of as observableOf } from 'rxjs'; +import { + ChangeDetectorRef, + Component, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateModule } from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; import uniqueId from 'lodash/uniqueId'; +import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; -import { createTestComponent } from '../testing/utils.test'; +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { RequestService } from '../../core/data/request.service'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../core/eperson/group-data.service'; -import { RequestService } from '../../core/data/request.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { PageInfo } from '../../core/shared/page-info.model'; import { getMockRequestService } from '../mocks/request.service.mock'; -import { EpersonGroupListComponent, SearchEvent } from './eperson-group-list.component'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; import { EPersonMock } from '../testing/eperson.mock'; import { GroupMock } from '../testing/group-mock'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { PaginationService } from '../../core/pagination/pagination.service'; import { PaginationServiceStub } from '../testing/pagination-service.stub'; +import { createTestComponent } from '../testing/utils.test'; +import { + EpersonGroupListComponent, + SearchEvent, +} from './eperson-group-list.component'; describe('EpersonGroupListComponent test suite', () => { let comp: EpersonGroupListComponent; diff --git a/src/app/shared/eperson-group-list/eperson-group-list.component.ts b/src/app/shared/eperson-group-list/eperson-group-list.component.ts index d7a85666d0..420022fcc8 100644 --- a/src/app/shared/eperson-group-list/eperson-group-list.component.ts +++ b/src/app/shared/eperson-group-list/eperson-group-list.component.ts @@ -1,25 +1,39 @@ -import { Component, EventEmitter, Injector, Input, OnDestroy, OnInit, Output } from '@angular/core'; - -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { + Component, + EventEmitter, + Injector, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import uniqueId from 'lodash/uniqueId'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { map } from 'rxjs/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { hasValue, isNotEmpty } from '../empty.util'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { EPERSON } from '../../core/eperson/models/eperson.resource-type'; -import { GROUP } from '../../core/eperson/models/group.resource-type'; -import { ResourceType } from '../../core/shared/resource-type'; +import { getDataServiceFor } from '../../core/data/base/data-service.decorator'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../core/eperson/group-data.service'; -import { fadeInOut } from '../animations/fade'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { EPERSON } from '../../core/eperson/models/eperson.resource-type'; +import { GROUP } from '../../core/eperson/models/group.resource-type'; import { PaginationService } from '../../core/pagination/pagination.service'; -import { FindListOptions } from '../../core/data/find-list-options.model'; -import { getDataServiceFor } from '../../core/data/base/data-service.decorator'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { ResourceType } from '../../core/shared/resource-type'; +import { fadeInOut } from '../animations/fade'; +import { + hasValue, + isNotEmpty, +} from '../empty.util'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; export interface SearchEvent { scope: string; diff --git a/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.spec.ts b/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.spec.ts index 21cb4396bb..d4710fdd8d 100644 --- a/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.spec.ts +++ b/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.spec.ts @@ -1,12 +1,23 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { UntypedFormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; - +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormBuilder, +} from '@angular/forms'; import { TranslateModule } from '@ngx-translate/core'; import { createTestComponent } from '../../testing/utils.test'; -import { EpersonSearchBoxComponent } from './eperson-search-box.component'; import { SearchEvent } from '../eperson-group-list.component'; +import { EpersonSearchBoxComponent } from './eperson-search-box.component'; describe('EpersonSearchBoxComponent test suite', () => { let comp: EpersonSearchBoxComponent; diff --git a/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.ts b/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.ts index ab7808443c..2873248c10 100644 --- a/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.ts +++ b/src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.ts @@ -1,10 +1,13 @@ -import { Component, EventEmitter, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Output, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; - import { Subscription } from 'rxjs'; -import { SearchEvent } from '../eperson-group-list.component'; import { isNotNull } from '../../empty.util'; +import { SearchEvent } from '../eperson-group-list.component'; /** * A component used to show a search box for epersons. diff --git a/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.spec.ts b/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.spec.ts index 3f415a7018..3b64315190 100644 --- a/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.spec.ts +++ b/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.spec.ts @@ -1,12 +1,23 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { UntypedFormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms'; - +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormBuilder, +} from '@angular/forms'; import { TranslateModule } from '@ngx-translate/core'; import { createTestComponent } from '../../testing/utils.test'; -import { GroupSearchBoxComponent } from './group-search-box.component'; import { SearchEvent } from '../eperson-group-list.component'; +import { GroupSearchBoxComponent } from './group-search-box.component'; describe('GroupSearchBoxComponent test suite', () => { let comp: GroupSearchBoxComponent; diff --git a/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.ts b/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.ts index 0a504f5071..5735a63017 100644 --- a/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.ts +++ b/src/app/shared/eperson-group-list/group-search-box/group-search-box.component.ts @@ -1,10 +1,13 @@ -import { Component, EventEmitter, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Output, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; - import { Subscription } from 'rxjs'; -import { SearchEvent } from '../eperson-group-list.component'; import { isNotNull } from '../../empty.util'; +import { SearchEvent } from '../eperson-group-list.component'; /** * A component used to show a search box for groups. diff --git a/src/app/shared/error/error.component.spec.ts b/src/app/shared/error/error.component.spec.ts index c7b0254794..0d4610426a 100644 --- a/src/app/shared/error/error.component.spec.ts +++ b/src/app/shared/error/error.component.spec.ts @@ -1,11 +1,17 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; - -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; - import { ErrorComponent } from './error.component'; describe('ErrorComponent (inline template)', () => { diff --git a/src/app/shared/error/error.component.ts b/src/app/shared/error/error.component.ts index efc5a7a51d..59a9714d32 100644 --- a/src/app/shared/error/error.component.ts +++ b/src/app/shared/error/error.component.ts @@ -1,8 +1,10 @@ -import { Component, Input } from '@angular/core'; - +import { + Component, + Input, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; - import { Subscription } from 'rxjs'; + import { AlertType } from '../alert/aletr-type'; @Component({ diff --git a/src/app/shared/file-download-link/file-download-link.component.spec.ts b/src/app/shared/file-download-link/file-download-link.component.spec.ts index faede9a6e0..f2b921dfae 100644 --- a/src/app/shared/file-download-link/file-download-link.component.spec.ts +++ b/src/app/shared/file-download-link/file-download-link.component.spec.ts @@ -1,15 +1,23 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { FileDownloadLinkComponent } from './file-download-link.component'; -import { Bitstream } from '../../core/shared/bitstream.model'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { URLCombiner } from '../../core/url-combiner/url-combiner'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; + import { getBitstreamModuleRoute } from '../../app-routing-paths'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { cold, getTestScheduler } from 'jasmine-marbles'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { Bitstream } from '../../core/shared/bitstream.model'; import { Item } from '../../core/shared/item.model'; +import { URLCombiner } from '../../core/url-combiner/url-combiner'; import { getItemModuleRoute } from '../../item-page/item-page-routing-paths'; import { RouterLinkDirectiveStub } from '../testing/router-link-directive.stub'; +import { FileDownloadLinkComponent } from './file-download-link.component'; describe('FileDownloadLinkComponent', () => { let component: FileDownloadLinkComponent; diff --git a/src/app/shared/file-download-link/file-download-link.component.ts b/src/app/shared/file-download-link/file-download-link.component.ts index 7e057d53ba..9ea79c8d3c 100644 --- a/src/app/shared/file-download-link/file-download-link.component.ts +++ b/src/app/shared/file-download-link/file-download-link.component.ts @@ -1,12 +1,27 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Bitstream } from '../../core/shared/bitstream.model'; -import { getBitstreamDownloadRoute, getBitstreamRequestACopyRoute } from '../../app-routing-paths'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + combineLatest as observableCombineLatest, + Observable, + of as observableOf, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { + getBitstreamDownloadRoute, + getBitstreamRequestACopyRoute, +} from '../../app-routing-paths'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { hasValue, isNotEmpty } from '../empty.util'; -import { map } from 'rxjs/operators'; -import { of as observableOf, combineLatest as observableCombineLatest, Observable } from 'rxjs'; +import { Bitstream } from '../../core/shared/bitstream.model'; import { Item } from '../../core/shared/item.model'; +import { + hasValue, + isNotEmpty, +} from '../empty.util'; @Component({ selector: 'ds-file-download-link', diff --git a/src/app/shared/file-download-link/themed-file-download-link.component.ts b/src/app/shared/file-download-link/themed-file-download-link.component.ts index 4e619b8f28..b2746151d7 100644 --- a/src/app/shared/file-download-link/themed-file-download-link.component.ts +++ b/src/app/shared/file-download-link/themed-file-download-link.component.ts @@ -1,8 +1,12 @@ -import { ThemedComponent } from '../theme-support/themed.component'; -import { Component, Input } from '@angular/core'; -import { FileDownloadLinkComponent } from './file-download-link.component'; +import { + Component, + Input, +} from '@angular/core'; + import { Bitstream } from '../../core/shared/bitstream.model'; import { Item } from '../../core/shared/item.model'; +import { ThemedComponent } from '../theme-support/themed.component'; +import { FileDownloadLinkComponent } from './file-download-link.component'; @Component({ selector: 'ds-themed-file-download-link', diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts index 65a094177a..ed65bd050b 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts @@ -1,11 +1,24 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { CUSTOM_ELEMENTS_SCHEMA, DebugElement, NgZone, SimpleChange } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing'; +import { + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, + NgZone, + SimpleChange, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; - +import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; - import { DynamicCheckboxGroupModel, DynamicCheckboxModel, @@ -25,7 +38,9 @@ import { DynamicSliderModel, DynamicSwitchModel, DynamicTextAreaModel, - DynamicTimePickerModel, MATCH_VISIBLE, OR_OPERATOR, + DynamicTimePickerModel, + MATCH_VISIBLE, + OR_OPERATOR, } from '@ng-dynamic-forms/core'; import { DynamicNGBootstrapCalendarComponent, @@ -37,50 +52,50 @@ import { DynamicNGBootstrapTextAreaComponent, DynamicNGBootstrapTimePickerComponent, } from '@ng-dynamic-forms/ui-ng-bootstrap'; +import { Store } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; +import { NgxMaskModule } from 'ngx-mask'; +import { of as observableOf } from 'rxjs'; +import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { environment } from '../../../../../environments/environment'; +import { ItemDataService } from '../../../../core/data/item-data.service'; +import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; +import { Item } from '../../../../core/shared/item.model'; +import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; +import { SubmissionObjectDataService } from '../../../../core/submission/submission-object-data.service'; +import { VocabularyOptions } from '../../../../core/submission/vocabularies/models/vocabulary-options.model'; +import { SubmissionService } from '../../../../submission/submission.service'; +import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { SharedModule } from '../../../shared.module'; +import { FormService } from '../../form.service'; +import { FormBuilderService } from '../form-builder.service'; import { DsDynamicFormControlContainerComponent, dsDynamicFormControlMapFn, } from './ds-dynamic-form-control-container.component'; -import { SharedModule } from '../../../shared.module'; +import { DsDynamicTypeBindRelationService } from './ds-dynamic-type-bind-relation.service'; +import { DsDynamicFormArrayComponent } from './models/array-group/dynamic-form-array.component'; +import { DsDatePickerComponent } from './models/date-picker/date-picker.component'; import { DynamicDsDatePickerModel } from './models/date-picker/date-picker.model'; -import { DynamicRelationGroupModel } from './models/relation-group/dynamic-relation-group.model'; -import { DynamicListCheckboxGroupModel } from './models/list/dynamic-list-checkbox-group.model'; -import { VocabularyOptions } from '../../../../core/submission/vocabularies/models/vocabulary-options.model'; -import { DynamicListRadioGroupModel } from './models/list/dynamic-list-radio-group.model'; -import { DynamicLookupModel } from './models/lookup/dynamic-lookup.model'; -import { DynamicScrollableDropdownModel } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; -import { DynamicTagModel } from './models/tag/dynamic-tag.model'; -import { DynamicOneboxModel } from './models/onebox/dynamic-onebox.model'; +import { DsDatePickerInlineComponent } from './models/date-picker-inline/dynamic-date-picker-inline.component'; import { DynamicQualdropModel } from './models/ds-dynamic-qualdrop.model'; +import { DsDynamicFormGroupComponent } from './models/form-group/dynamic-form-group.component'; +import { DsDynamicListComponent } from './models/list/dynamic-list.component'; +import { DynamicListCheckboxGroupModel } from './models/list/dynamic-list-checkbox-group.model'; +import { DynamicListRadioGroupModel } from './models/list/dynamic-list-radio-group.model'; +import { DsDynamicLookupComponent } from './models/lookup/dynamic-lookup.component'; +import { DynamicLookupModel } from './models/lookup/dynamic-lookup.model'; import { DynamicLookupNameModel } from './models/lookup/dynamic-lookup-name.model'; import { DsDynamicOneboxComponent } from './models/onebox/dynamic-onebox.component'; -import { DsDynamicScrollableDropdownComponent } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.component'; -import { DsDynamicTagComponent } from './models/tag/dynamic-tag.component'; -import { DsDynamicListComponent } from './models/list/dynamic-list.component'; -import { DsDatePickerComponent } from './models/date-picker/date-picker.component'; -import { DsDynamicLookupComponent } from './models/lookup/dynamic-lookup.component'; -import { DsDynamicFormArrayComponent } from './models/array-group/dynamic-form-array.component'; -import { DsDynamicFormGroupComponent } from './models/form-group/dynamic-form-group.component'; +import { DynamicOneboxModel } from './models/onebox/dynamic-onebox.model'; import { DsDynamicRelationGroupComponent } from './models/relation-group/dynamic-relation-group.components'; -import { DsDatePickerInlineComponent } from './models/date-picker-inline/dynamic-date-picker-inline.component'; -import { DsDynamicTypeBindRelationService } from './ds-dynamic-type-bind-relation.service'; -import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; -import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; -import { ItemDataService } from '../../../../core/data/item-data.service'; -import { Store } from '@ngrx/store'; -import { SubmissionObjectDataService } from '../../../../core/submission/submission-object-data.service'; -import { Item } from '../../../../core/shared/item.model'; -import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; -import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { FormService } from '../../form.service'; -import { SubmissionService } from '../../../../submission/submission.service'; -import { FormBuilderService } from '../form-builder.service'; -import { NgxMaskModule } from 'ngx-mask'; -import { APP_CONFIG } from '../../../../../config/app-config.interface'; -import { environment } from '../../../../../environments/environment'; +import { DynamicRelationGroupModel } from './models/relation-group/dynamic-relation-group.model'; +import { DsDynamicScrollableDropdownComponent } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.component'; +import { DynamicScrollableDropdownModel } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; +import { DsDynamicTagComponent } from './models/tag/dynamic-tag.component'; +import { DynamicTagModel } from './models/tag/dynamic-tag.model'; function getMockDsDynamicTypeBindRelationService(): DsDynamicTypeBindRelationService { return jasmine.createSpyObj('DsDynamicTypeBindRelationService', { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts index 353d60736e..8ac7ea02c3 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts @@ -4,7 +4,8 @@ import { Component, ComponentFactoryResolver, ContentChildren, - EventEmitter, Inject, + EventEmitter, + Inject, Input, NgZone, OnChanges, @@ -17,8 +18,14 @@ import { ViewChild, ViewContainerRef, } from '@angular/core'; -import { UntypedFormArray, UntypedFormGroup } from '@angular/forms'; - +import { + UntypedFormArray, + UntypedFormGroup, +} from '@angular/forms'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; import { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX, @@ -55,41 +62,38 @@ import { DynamicNGBootstrapTextAreaComponent, DynamicNGBootstrapTimePickerComponent, } from '@ng-dynamic-forms/ui-ng-bootstrap'; +import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; -import { ReorderableRelationship } from './existing-metadata-list-element/existing-metadata-list-element.component'; +import { + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + find, + map, + startWith, + switchMap, + take, +} from 'rxjs/operators'; -import { DYNAMIC_FORM_CONTROL_TYPE_ONEBOX } from './models/onebox/dynamic-onebox.model'; -import { DYNAMIC_FORM_CONTROL_TYPE_SCROLLABLE_DROPDOWN } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; -import { DYNAMIC_FORM_CONTROL_TYPE_TAG } from './models/tag/dynamic-tag.model'; -import { DYNAMIC_FORM_CONTROL_TYPE_DSDATEPICKER } from './models/date-picker/date-picker.model'; -import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP } from './models/lookup/dynamic-lookup.model'; -import { DynamicListCheckboxGroupModel } from './models/list/dynamic-list-checkbox-group.model'; -import { DynamicListRadioGroupModel } from './models/list/dynamic-list-radio-group.model'; -import { hasNoValue, hasValue, isNotEmpty, isNotUndefined } from '../../../empty.util'; -import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP_NAME } from './models/lookup/dynamic-lookup-name.model'; -import { DsDynamicTagComponent } from './models/tag/dynamic-tag.component'; -import { DsDatePickerComponent } from './models/date-picker/date-picker.component'; -import { DsDynamicListComponent } from './models/list/dynamic-list.component'; -import { DsDynamicOneboxComponent } from './models/onebox/dynamic-onebox.component'; -import { DsDynamicScrollableDropdownComponent } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.component'; -import { DsDynamicLookupComponent } from './models/lookup/dynamic-lookup.component'; -import { DsDynamicFormGroupComponent } from './models/form-group/dynamic-form-group.component'; -import { DsDynamicFormArrayComponent } from './models/array-group/dynamic-form-array.component'; -import { DsDynamicRelationGroupComponent } from './models/relation-group/dynamic-relation-group.components'; -import { DsDatePickerInlineComponent } from './models/date-picker-inline/dynamic-date-picker-inline.component'; -import { DYNAMIC_FORM_CONTROL_TYPE_CUSTOM_SWITCH } from './models/custom-switch/custom-switch.model'; -import { CustomSwitchComponent } from './models/custom-switch/custom-switch.component'; -import { find, map, startWith, switchMap, take } from 'rxjs/operators'; -import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { DsDynamicTypeBindRelationService } from './ds-dynamic-type-bind-relation.service'; -import { SearchResult } from '../../../search/models/search-result.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { + APP_CONFIG, + AppConfig, +} from '../../../../../config/app-config.interface'; +import { AppState } from '../../../../app.reducer'; +import { ItemDataService } from '../../../../core/data/item-data.service'; +import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { RelationshipDataService } from '../../../../core/data/relationship-data.service'; -import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; -import { DsDynamicDisabledComponent } from './models/disabled/dynamic-disabled.component'; -import { DYNAMIC_FORM_CONTROL_TYPE_DISABLED } from './models/disabled/dynamic-disabled.model'; -import { DsDynamicLookupRelationModalComponent } from './relation-lookup-modal/dynamic-lookup-relation-modal.component'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { Collection } from '../../../../core/shared/collection.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { Item } from '../../../../core/shared/item.model'; +import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; +import { + MetadataValue, + VIRTUAL_METADATA_PREFIX, +} from '../../../../core/shared/metadata.models'; import { getAllSucceededRemoteData, getFirstSucceededRemoteData, @@ -97,29 +101,52 @@ import { getPaginatedListPayload, getRemoteDataPayload, } from '../../../../core/shared/operators'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { Item } from '../../../../core/shared/item.model'; -import { ItemDataService } from '../../../../core/data/item-data.service'; -import { Store } from '@ngrx/store'; -import { AppState } from '../../../../app.reducer'; -import { SubmissionObjectDataService } from '../../../../core/submission/submission-object-data.service'; import { SubmissionObject } from '../../../../core/submission/models/submission-object.model'; -import { PaginatedList } from '../../../../core/data/paginated-list.model'; -import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; -import { Relationship } from '../../../../core/shared/item-relationships/relationship.model'; -import { Collection } from '../../../../core/shared/collection.model'; -import { MetadataValue, VIRTUAL_METADATA_PREFIX } from '../../../../core/shared/metadata.models'; -import { FormService } from '../../form.service'; -import { SelectableListState } from '../../../object-list/selectable-list/selectable-list.reducer'; -import { SubmissionService } from '../../../../submission/submission.service'; -import { followLink } from '../../../utils/follow-link-config.model'; +import { SubmissionObjectDataService } from '../../../../core/submission/submission-object-data.service'; import { paginatedRelationsToItems } from '../../../../item-page/simple/item-types/shared/item-relationships-utils'; -import { RelationshipOptions } from '../models/relationship-options.model'; -import { FormBuilderService } from '../form-builder.service'; -import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from './ds-dynamic-form-constants'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; -import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; +import { SubmissionService } from '../../../../submission/submission.service'; +import { + hasNoValue, + hasValue, + isNotEmpty, + isNotUndefined, +} from '../../../empty.util'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; +import { SelectableListState } from '../../../object-list/selectable-list/selectable-list.reducer'; +import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; +import { SearchResult } from '../../../search/models/search-result.model'; +import { followLink } from '../../../utils/follow-link-config.model'; import { itemLinksToFollow } from '../../../utils/relation-query.utils'; +import { FormService } from '../../form.service'; +import { FormBuilderService } from '../form-builder.service'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { RelationshipOptions } from '../models/relationship-options.model'; +import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from './ds-dynamic-form-constants'; +import { DsDynamicTypeBindRelationService } from './ds-dynamic-type-bind-relation.service'; +import { ReorderableRelationship } from './existing-metadata-list-element/existing-metadata-list-element.component'; +import { DsDynamicFormArrayComponent } from './models/array-group/dynamic-form-array.component'; +import { CustomSwitchComponent } from './models/custom-switch/custom-switch.component'; +import { DYNAMIC_FORM_CONTROL_TYPE_CUSTOM_SWITCH } from './models/custom-switch/custom-switch.model'; +import { DsDatePickerComponent } from './models/date-picker/date-picker.component'; +import { DYNAMIC_FORM_CONTROL_TYPE_DSDATEPICKER } from './models/date-picker/date-picker.model'; +import { DsDatePickerInlineComponent } from './models/date-picker-inline/dynamic-date-picker-inline.component'; +import { DsDynamicDisabledComponent } from './models/disabled/dynamic-disabled.component'; +import { DYNAMIC_FORM_CONTROL_TYPE_DISABLED } from './models/disabled/dynamic-disabled.model'; +import { DsDynamicFormGroupComponent } from './models/form-group/dynamic-form-group.component'; +import { DsDynamicListComponent } from './models/list/dynamic-list.component'; +import { DynamicListCheckboxGroupModel } from './models/list/dynamic-list-checkbox-group.model'; +import { DynamicListRadioGroupModel } from './models/list/dynamic-list-radio-group.model'; +import { DsDynamicLookupComponent } from './models/lookup/dynamic-lookup.component'; +import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP } from './models/lookup/dynamic-lookup.model'; +import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP_NAME } from './models/lookup/dynamic-lookup-name.model'; +import { DsDynamicOneboxComponent } from './models/onebox/dynamic-onebox.component'; +import { DYNAMIC_FORM_CONTROL_TYPE_ONEBOX } from './models/onebox/dynamic-onebox.model'; +import { DsDynamicRelationGroupComponent } from './models/relation-group/dynamic-relation-group.components'; +import { DsDynamicScrollableDropdownComponent } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.component'; +import { DYNAMIC_FORM_CONTROL_TYPE_SCROLLABLE_DROPDOWN } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; +import { DsDynamicTagComponent } from './models/tag/dynamic-tag.component'; +import { DYNAMIC_FORM_CONTROL_TYPE_TAG } from './models/tag/dynamic-tag.model'; +import { DsDynamicLookupRelationModalComponent } from './relation-lookup-modal/dynamic-lookup-relation-modal.component'; export function dsDynamicFormControlMapFn(model: DynamicFormControlModel): Type | null { switch (model.type) { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts index b1fce9769c..8ce98b4eb1 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts @@ -11,13 +11,14 @@ import { import { UntypedFormGroup } from '@angular/forms'; import { DynamicFormComponent, + DynamicFormComponentService, DynamicFormControlContainerComponent, DynamicFormControlEvent, DynamicFormControlModel, DynamicFormLayout, - DynamicFormComponentService, DynamicTemplateDirective, } from '@ng-dynamic-forms/core'; + import { DsDynamicFormControlContainerComponent } from './ds-dynamic-form-control-container.component'; @Component({ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.spec.ts index 6f2348148b..c7e18c72ed 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.spec.ts @@ -1,23 +1,31 @@ -import {inject, TestBed} from '@angular/core/testing'; - +import {Injector} from '@angular/core'; import { + inject, + TestBed, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormControl, +} from '@angular/forms'; +import { + DISABLED_MATCHER_PROVIDER, DynamicFormControlRelation, DynamicFormRelationService, + HIDDEN_MATCHER, + HIDDEN_MATCHER_PROVIDER, MATCH_VISIBLE, OR_OPERATOR, - HIDDEN_MATCHER, - HIDDEN_MATCHER_PROVIDER, REQUIRED_MATCHER_PROVIDER, DISABLED_MATCHER_PROVIDER, + REQUIRED_MATCHER_PROVIDER, } from '@ng-dynamic-forms/core'; -import { - mockInputWithTypeBindModel, MockRelationModel, -} from '../../../mocks/form-models.mock'; -import {DsDynamicTypeBindRelationService} from './ds-dynamic-type-bind-relation.service'; -import {FormFieldMetadataValueObject} from '../models/form-field-metadata-value.model'; -import {UntypedFormControl, ReactiveFormsModule} from '@angular/forms'; -import {FormBuilderService} from '../form-builder.service'; import {getMockFormBuilderService} from '../../../mocks/form-builder-service.mock'; -import {Injector} from '@angular/core'; +import { + mockInputWithTypeBindModel, + MockRelationModel, +} from '../../../mocks/form-models.mock'; +import {FormBuilderService} from '../form-builder.service'; +import {FormFieldMetadataValueObject} from '../models/form-field-metadata-value.model'; +import {DsDynamicTypeBindRelationService} from './ds-dynamic-type-bind-relation.service'; describe('DSDynamicTypeBindRelationService test suite', () => { let service: DsDynamicTypeBindRelationService; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.ts index 7aae2887df..6776fb6ef8 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service.ts @@ -1,9 +1,10 @@ -import { Inject, Injectable, Injector, Optional } from '@angular/core'; +import { + Inject, + Injectable, + Injector, + Optional, +} from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; - -import { Subscription } from 'rxjs'; -import { startWith } from 'rxjs/operators'; - import { AND_OPERATOR, DYNAMIC_MATCHERS, @@ -11,11 +12,17 @@ import { DynamicFormControlMatcher, DynamicFormControlModel, DynamicFormControlRelation, - DynamicFormRelationService, MATCH_VISIBLE, + DynamicFormRelationService, + MATCH_VISIBLE, OR_OPERATOR, } from '@ng-dynamic-forms/core'; +import { Subscription } from 'rxjs'; +import { startWith } from 'rxjs/operators'; -import {hasNoValue, hasValue} from '../../../empty.util'; +import { + hasNoValue, + hasValue, +} from '../../../empty.util'; import { FormBuilderService } from '../form-builder.service'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from './ds-dynamic-form-constants'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.spec.ts index 9dbfb47d2a..e0efc6d0ea 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.spec.ts @@ -1,23 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { Store } from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; +import { Item } from '../../../../../core/shared/item.model'; +import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; +import { SubmissionService } from '../../../../../submission/submission.service'; +import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; +import { SubmissionServiceStub } from '../../../../testing/submission-service.stub'; +import { TranslateLoaderMock } from '../../../../testing/translate-loader.mock'; +import { RelationshipOptions } from '../../models/relationship-options.model'; +import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship.actions'; import { ExistingMetadataListElementComponent, ReorderableRelationship, } from './existing-metadata-list-element.component'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; -import { Store } from '@ngrx/store'; -import { Item } from '../../../../../core/shared/item.model'; -import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; -import { RelationshipOptions } from '../../models/relationship-options.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; -import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship.actions'; -import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; -import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../../../testing/translate-loader.mock'; -import { SubmissionService } from '../../../../../submission/submission.service'; -import { SubmissionServiceStub } from '../../../../testing/submission-service.stub'; describe('ExistingMetadataListElementComponent', () => { let component: ExistingMetadataListElementComponent; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts index b46eebad33..38e5f6454f 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts @@ -1,26 +1,47 @@ /* eslint-disable max-classes-per-file */ -import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnChanges, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; import { DynamicFormArrayGroupModel } from '@ng-dynamic-forms/core'; import { Store } from '@ngrx/store'; -import { BehaviorSubject, Subscription } from 'rxjs'; -import { filter, take } from 'rxjs/operators'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; +import { + filter, + take, +} from 'rxjs/operators'; + import { AppState } from '../../../../../app.reducer'; -import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; import { Item } from '../../../../../core/shared/item.model'; +import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; +import { MetadataValue } from '../../../../../core/shared/metadata.models'; import { ItemMetadataRepresentation } from '../../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; import { MetadataRepresentation } from '../../../../../core/shared/metadata-representation/metadata-representation.model'; -import { MetadataValue } from '../../../../../core/shared/metadata.models'; -import { getAllSucceededRemoteData, getRemoteDataPayload } from '../../../../../core/shared/operators'; -import { hasValue, isNotEmpty } from '../../../../empty.util'; +import { + getAllSucceededRemoteData, + getRemoteDataPayload, +} from '../../../../../core/shared/operators'; +import { SubmissionObjectEntry } from '../../../../../submission/objects/submission-objects.reducer'; +import { SubmissionService } from '../../../../../submission/submission.service'; +import { + hasValue, + isNotEmpty, +} from '../../../../empty.util'; import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; import { FormFieldMetadataValueObject } from '../../models/form-field-metadata-value.model'; import { RelationshipOptions } from '../../models/relationship-options.model'; import { DynamicConcatModel } from '../models/ds-dynamic-concat.model'; import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship.actions'; -import { SubmissionService } from '../../../../../submission/submission.service'; -import { SubmissionObjectEntry } from '../../../../../submission/objects/submission-objects.reducer'; /** * Abstract class that defines objects that can be reordered diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.spec.ts index 34e8262bd2..5dc0a5894e 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.spec.ts @@ -1,19 +1,23 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - -import { ExistingRelationListElementComponent } from './existing-relation-list-element.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Store } from '@ngrx/store'; +import { of as observableOf } from 'rxjs'; + import { Item } from '../../../../../core/shared/item.model'; import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; -import { RelationshipOptions } from '../../models/relationship-options.model'; -import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship.actions'; -import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; -import { of as observableOf } from 'rxjs'; -import { ReorderableRelationship } from '../existing-metadata-list-element/existing-metadata-list-element.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; import { SubmissionService } from '../../../../../submission/submission.service'; +import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; import { SubmissionServiceStub } from '../../../../testing/submission-service.stub'; +import { RelationshipOptions } from '../../models/relationship-options.model'; +import { ReorderableRelationship } from '../existing-metadata-list-element/existing-metadata-list-element.component'; +import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship.actions'; +import { ExistingRelationListElementComponent } from './existing-relation-list-element.component'; describe('ExistingRelationListElementComponent', () => { let component: ExistingRelationListElementComponent; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts index 3fd5d0081e..53a83bb318 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts @@ -1,19 +1,38 @@ /* eslint-disable max-classes-per-file */ -import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnChanges, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { Store } from '@ngrx/store'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; import { filter } from 'rxjs/operators'; + import { AppState } from '../../../../../app.reducer'; import { Item } from '../../../../../core/shared/item.model'; -import { getAllSucceededRemoteData, getRemoteDataPayload } from '../../../../../core/shared/operators'; -import { hasValue, isNotEmpty } from '../../../../empty.util'; +import { + getAllSucceededRemoteData, + getRemoteDataPayload, +} from '../../../../../core/shared/operators'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { SubmissionService } from '../../../../../submission/submission.service'; +import { + hasValue, + isNotEmpty, +} from '../../../../empty.util'; import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; import { RelationshipOptions } from '../../models/relationship-options.model'; -import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship.actions'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ReorderableRelationship } from '../existing-metadata-list-element/existing-metadata-list-element.component'; -import { SubmissionService } from '../../../../../submission/submission.service'; +import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship.actions'; /** * Abstract class that defines objects that can be reordered diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts index 25e03edd78..a8d7a0ff61 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts @@ -1,5 +1,11 @@ import { CdkDragDrop } from '@angular/cdk/drag-drop'; -import { Component, EventEmitter, Input, Output, QueryList } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, + QueryList, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; import { DynamicFormArrayComponent, @@ -12,6 +18,7 @@ import { DynamicFormValidationService, DynamicTemplateDirective, } from '@ng-dynamic-forms/core'; + import { Relationship } from '../../../../../../core/shared/item-relationships/relationship.model'; import { hasValue } from '../../../../../empty.util'; import { DynamicRowArrayModel } from '../ds-dynamic-row-array-model'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.spec.ts index 46d6f04108..32d75224a2 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.spec.ts @@ -1,11 +1,23 @@ -import { DynamicFormsCoreModule, DynamicFormService } from '@ng-dynamic-forms/core'; -import { UntypedFormGroup, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; import { DebugElement } from '@angular/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { DynamicCustomSwitchModel } from './custom-switch.model'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + DynamicFormsCoreModule, + DynamicFormService, +} from '@ng-dynamic-forms/core'; + import { CustomSwitchComponent } from './custom-switch.component'; +import { DynamicCustomSwitchModel } from './custom-switch.model'; describe('CustomSwitchComponent', () => { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.ts index 47780e66f6..bf166e92b8 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.ts @@ -1,8 +1,15 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; - +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; import { DynamicNGBootstrapCheckboxComponent } from '@ng-dynamic-forms/ui-ng-bootstrap'; -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; import { DynamicCustomSwitchModel } from './custom-switch.model'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.spec.ts index d0fa80ee4b..9bd7bfe4ae 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.spec.ts @@ -1,10 +1,24 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; import { DebugElement } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; -import { DynamicDatePickerModel, DynamicFormsCoreModule, DynamicFormService } from '@ng-dynamic-forms/core'; +import { + DynamicDatePickerModel, + DynamicFormsCoreModule, + DynamicFormService, +} from '@ng-dynamic-forms/core'; + import { DsDatePickerInlineComponent } from './dynamic-date-picker-inline.component'; describe('DsDatePickerInlineComponent test suite', () => { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.ts index ca3f5acda3..a6f0c45a7c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.ts @@ -1,6 +1,15 @@ -import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, + ViewChild, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; -import { NgbDatepicker, NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap'; +import { + NgbDatepicker, + NgbDatepickerConfig, +} from '@ng-bootstrap/ng-bootstrap'; import { DynamicDatePickerModel, DynamicFormControlComponent, diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.spec.ts index 0b62e4ca30..fbe600a6ed 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.spec.ts @@ -1,18 +1,32 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; - +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; -import { DsDatePickerComponent } from './date-picker.component'; -import { DynamicDsDatePickerModel } from './date-picker.model'; -import { createTestComponent } from '../../../../../testing/utils.test'; import { mockDynamicFormLayoutService, mockDynamicFormValidationService, } from '../../../../../testing/dynamic-form-mock-services'; +import { createTestComponent } from '../../../../../testing/utils.test'; +import { DsDatePickerComponent } from './date-picker.component'; +import { DynamicDsDatePickerModel } from './date-picker.model'; export const DATE_TEST_GROUP = new UntypedFormGroup({ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.ts index 6b7c12d70c..f0ccacd37f 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.ts @@ -1,13 +1,20 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; -import { DynamicDsDatePickerModel } from './date-picker.model'; -import { hasValue } from '../../../../../empty.util'; import { DynamicFormControlComponent, DynamicFormLayoutService, DynamicFormValidationService, } from '@ng-dynamic-forms/core'; +import { hasValue } from '../../../../../empty.util'; +import { DynamicDsDatePickerModel } from './date-picker.model'; + export const DS_DATE_PICKER_SEPARATOR = '-'; @Component({ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.model.ts index bb6be79072..0b78d216a5 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.model.ts @@ -6,9 +6,16 @@ import { DynamicFormControlRelation, serializable, } from '@ng-dynamic-forms/core'; -import {BehaviorSubject, Subject} from 'rxjs'; -import {isEmpty, isNotUndefined} from '../../../../../empty.util'; +import { + BehaviorSubject, + Subject, +} from 'rxjs'; + import {MetadataValue} from '../../../../../../core/shared/metadata.models'; +import { + isEmpty, + isNotUndefined, +} from '../../../../../empty.util'; export const DYNAMIC_FORM_CONTROL_TYPE_DSDATEPICKER = 'DATE'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.spec.ts index f191320392..b1ce551255 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.spec.ts @@ -1,17 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, FormsModule } from '@angular/forms'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; - +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; import { TranslateModule } from '@ngx-translate/core'; -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; -import { DsDynamicDisabledComponent } from './dynamic-disabled.component'; -import { DynamicDisabledModel } from './dynamic-disabled.model'; import { mockDynamicFormLayoutService, mockDynamicFormValidationService, } from '../../../../../testing/dynamic-form-mock-services'; +import { DsDynamicDisabledComponent } from './dynamic-disabled.component'; +import { DynamicDisabledModel } from './dynamic-disabled.model'; describe('DsDynamicDisabledComponent', () => { let comp: DsDynamicDisabledComponent; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.ts index f928fb1683..dbedcb59cd 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.ts @@ -1,7 +1,15 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; - -import { DynamicFormControlComponent, DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; +import { + DynamicFormControlComponent, + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; import { DynamicDisabledModel } from './dynamic-disabled.model'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.model.ts index 381810dc62..5902a7cc3d 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.model.ts @@ -1,5 +1,12 @@ -import { DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-input.model'; +import { + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-input.model'; export const DYNAMIC_FORM_CONTROL_TYPE_DISABLED = 'EMPTY'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts index 96164a0ed6..fc59c58574 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-concat.model.ts @@ -5,14 +5,16 @@ import { DynamicFormGroupModelConfig, serializable, } from '@ng-dynamic-forms/core'; - import { Subject } from 'rxjs'; -import { hasNoValue, isNotEmpty } from '../../../../empty.util'; -import { DsDynamicInputModel } from './ds-dynamic-input.model'; +import { MetadataValue } from '../../../../../core/shared/metadata.models'; +import { + hasNoValue, + isNotEmpty, +} from '../../../../empty.util'; import { FormFieldMetadataValueObject } from '../../models/form-field-metadata-value.model'; import { RelationshipOptions } from '../../models/relationship-options.model'; -import { MetadataValue } from '../../../../../core/shared/metadata.models'; +import { DsDynamicInputModel } from './ds-dynamic-input.model'; export const CONCAT_GROUP_SUFFIX = '_CONCAT_GROUP'; export const CONCAT_FIRST_INPUT_SUFFIX = '_CONCAT_FIRST_INPUT'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model.ts index c28a24d5a6..132ed66a23 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model.ts @@ -7,9 +7,9 @@ import { } from '@ng-dynamic-forms/core'; import {Subject} from 'rxjs'; -import { LanguageCode } from '../../models/form-field-language-value.model'; import { VocabularyOptions } from '../../../../../core/submission/vocabularies/models/vocabulary-options.model'; import {hasValue} from '../../../../empty.util'; +import { LanguageCode } from '../../models/form-field-language-value.model'; import { FormFieldMetadataValueObject } from '../../models/form-field-metadata-value.model'; import { RelationshipOptions } from '../../models/relationship-options.model'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model.ts index 3ad793ae95..71b82f17b4 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model.ts @@ -4,10 +4,10 @@ import { DynamicFormGroupModelConfig, serializable, } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel } from './ds-dynamic-input.model'; import { Subject } from 'rxjs'; import { LanguageCode } from '../../models/form-field-language-value.model'; +import { DsDynamicInputModel } from './ds-dynamic-input.model'; export const QUALDROP_GROUP_SUFFIX = '_QUALDROP_GROUP'; export const QUALDROP_METADATA_SUFFIX = '_QUALDROP_METADATA'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model.ts index c7aea15be9..9549a3e82d 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model.ts @@ -5,8 +5,9 @@ import { DynamicFormControlRelation, serializable, } from '@ng-dynamic-forms/core'; -import { RelationshipOptions } from '../../models/relationship-options.model'; + import { hasValue } from '../../../../empty.util'; +import { RelationshipOptions } from '../../models/relationship-options.model'; export interface DynamicRowArrayModelConfig extends DynamicFormArrayModelConfig { notRepeatable: boolean; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model.ts index 00d385edef..532acf720a 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model.ts @@ -1,5 +1,13 @@ -import { DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA, DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from './ds-dynamic-input.model'; +import { + DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA, + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from './ds-dynamic-input.model'; export interface DsDynamicTextAreaModelConfig extends DsDynamicInputModelConfig { cols?: number; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts index 126951c923..74388df56b 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts @@ -1,20 +1,27 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; - import { DynamicFormControlComponent, DynamicFormLayoutService, DynamicFormValidationService, } from '@ng-dynamic-forms/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { map } from 'rxjs/operators'; -import { Observable, of as observableOf } from 'rxjs'; +import { PageInfo } from '../../../../../core/shared/page-info.model'; +import { VocabularyEntry } from '../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyService } from '../../../../../core/submission/vocabularies/vocabulary.service'; import { isNotEmpty } from '../../../../empty.util'; import { FormFieldMetadataValueObject } from '../../models/form-field-metadata-value.model'; -import { VocabularyEntry } from '../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { DsDynamicInputModel } from './ds-dynamic-input.model'; -import { PageInfo } from '../../../../../core/shared/page-info.model'; /** * An abstract class to be extended by form components that handle vocabulary diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts index 29bd9dbea0..45b6daa588 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts @@ -1,4 +1,11 @@ -import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, QueryList } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + Input, + Output, + QueryList, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; import { DynamicFormControlComponent, diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model.ts index e3205b4d34..9fa2ead2a6 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model.ts @@ -1,4 +1,3 @@ -import { Subject } from 'rxjs'; import { DynamicCheckboxGroupModel, DynamicFormControlLayout, @@ -6,6 +5,7 @@ import { DynamicFormGroupModelConfig, serializable, } from '@ng-dynamic-forms/core'; +import { Subject } from 'rxjs'; import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model.ts index db2b924da6..d6ab989cd5 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model.ts @@ -4,9 +4,10 @@ import { DynamicRadioGroupModelConfig, serializable, } from '@ng-dynamic-forms/core'; + +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; import { hasValue } from '../../../../../empty.util'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; export interface DynamicListModelConfig extends DynamicRadioGroupModelConfig { vocabularyOptions: VocabularyOptions; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.spec.ts index ddfddd764a..6ed94d239c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.spec.ts @@ -1,31 +1,43 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; - import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; import { DynamicFormControlLayout, DynamicFormLayoutService, DynamicFormsCoreModule, DynamicFormValidationService, } from '@ng-dynamic-forms/core'; +import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; -import { DsDynamicListComponent } from './dynamic-list.component'; -import { DynamicListCheckboxGroupModel } from './dynamic-list-checkbox-group.model'; -import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; -import { FormBuilderService } from '../../../form-builder.service'; -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; -import { DynamicListRadioGroupModel } from './dynamic-list-radio-group.model'; import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { createTestComponent } from '../../../../../testing/utils.test'; +import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; import { mockDynamicFormLayoutService, mockDynamicFormValidationService, } from '../../../../../testing/dynamic-form-mock-services'; +import { createTestComponent } from '../../../../../testing/utils.test'; +import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; +import { FormBuilderService } from '../../../form-builder.service'; +import { DsDynamicListComponent } from './dynamic-list.component'; +import { DynamicListCheckboxGroupModel } from './dynamic-list-checkbox-group.model'; +import { DynamicListRadioGroupModel } from './dynamic-list-radio-group.model'; export const LAYOUT_TEST = { element: { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.ts index 8701793870..cb02822e49 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.ts @@ -1,5 +1,17 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { UntypedFormGroup, ValidatorFn, ValidationErrors, AbstractControl } from '@angular/forms'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { + AbstractControl, + UntypedFormGroup, + ValidationErrors, + ValidatorFn, +} from '@angular/forms'; import { DynamicCheckboxModel, DynamicFormControlComponent, @@ -8,15 +20,18 @@ import { } from '@ng-dynamic-forms/core'; import findKey from 'lodash/findKey'; -import { hasValue, isNotEmpty } from '../../../../../empty.util'; -import { DynamicListCheckboxGroupModel } from './dynamic-list-checkbox-group.model'; -import { FormBuilderService } from '../../../form-builder.service'; -import { DynamicListRadioGroupModel } from './dynamic-list-radio-group.model'; -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; import { PaginatedList } from '../../../../../../core/data/paginated-list.model'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; import { PageInfo } from '../../../../../../core/shared/page-info.model'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; +import { + hasValue, + isNotEmpty, +} from '../../../../../empty.util'; +import { FormBuilderService } from '../../../form-builder.service'; +import { DynamicListCheckboxGroupModel } from './dynamic-list-checkbox-group.model'; +import { DynamicListRadioGroupModel } from './dynamic-list-radio-group.model'; export interface ListItem { id: string; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model.ts index 64590ec9e0..a9fc6fc429 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model.ts @@ -1,5 +1,12 @@ -import { DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DynamicLookupModel, DynamicLookupModelConfig } from './dynamic-lookup.model'; +import { + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + +import { + DynamicLookupModel, + DynamicLookupModelConfig, +} from './dynamic-lookup.model'; export const DYNAMIC_FORM_CONTROL_TYPE_LOOKUP_NAME = 'LOOKUP_NAME'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.spec.ts index cf23b71c0a..f506655f84 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.spec.ts @@ -1,31 +1,53 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; - -import { of as observableOf } from 'rxjs'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormsCoreModule, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; -import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; -import { DynamicFormLayoutService, DynamicFormsCoreModule, DynamicFormValidationService } from '@ng-dynamic-forms/core'; +import { of as observableOf } from 'rxjs'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; -import { DsDynamicLookupComponent } from './dynamic-lookup.component'; -import { DynamicLookupModel, DynamicLookupModelConfig } from './dynamic-lookup.model'; -import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { createTestComponent } from '../../../../../testing/utils.test'; -import { DynamicLookupNameModel } from './dynamic-lookup-name.model'; -import { AuthorityConfidenceStateDirective } from '../../../../directives/authority-confidence-state.directive'; -import { ObjNgFor } from '../../../../../utils/object-ngfor.pipe'; import { mockDynamicFormLayoutService, mockDynamicFormValidationService, } from '../../../../../testing/dynamic-form-mock-services'; +import { createTestComponent } from '../../../../../testing/utils.test'; +import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; +import { ObjNgFor } from '../../../../../utils/object-ngfor.pipe'; +import { AuthorityConfidenceStateDirective } from '../../../../directives/authority-confidence-state.directive'; +import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; +import { DsDynamicLookupComponent } from './dynamic-lookup.component'; +import { + DynamicLookupModel, + DynamicLookupModelConfig, +} from './dynamic-lookup.model'; +import { DynamicLookupNameModel } from './dynamic-lookup-name.model'; let LOOKUP_TEST_MODEL_CONFIG: DynamicLookupModelConfig = { vocabularyOptions: { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.ts index 5a4c63a607..fafda83ebd 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.ts @@ -1,24 +1,44 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; -import { UntypedFormGroup } from '@angular/forms'; - -import { of as observableOf, Subscription } from 'rxjs'; -import { catchError, distinctUntilChanged } from 'rxjs/operators'; -import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; - -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { hasValue, isEmpty, isNotEmpty } from '../../../../../empty.util'; -import { PageInfo } from '../../../../../../core/shared/page-info.model'; -import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { DynamicLookupNameModel } from './dynamic-lookup-name.model'; -import { ConfidenceType } from '../../../../../../core/shared/confidence-type'; import { - PaginatedList, + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; +import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { + of as observableOf, + Subscription, +} from 'rxjs'; +import { + catchError, + distinctUntilChanged, +} from 'rxjs/operators'; + +import { buildPaginatedList, + PaginatedList, } from '../../../../../../core/data/paginated-list.model'; +import { ConfidenceType } from '../../../../../../core/shared/confidence-type'; import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; +import { PageInfo } from '../../../../../../core/shared/page-info.model'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../../../../empty.util'; +import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; import { DsDynamicVocabularyComponent } from '../dynamic-vocabulary.component'; +import { DynamicLookupNameModel } from './dynamic-lookup-name.model'; /** * Component representing a lookup or lookup-name input field diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.model.ts index 20b1eccefe..bc8d2e9630 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.model.ts @@ -1,5 +1,13 @@ -import { AUTOCOMPLETE_OFF, DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-input.model'; +import { + AUTOCOMPLETE_OFF, + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-input.model'; export const DYNAMIC_FORM_CONTROL_TYPE_LOOKUP = 'LOOKUP'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts index 54a1b09a50..4185c3b4c9 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts @@ -1,35 +1,56 @@ /* eslint-disable max-classes-per-file */ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; import { CdkTreeModule } from '@angular/cdk/tree'; - -import { TestScheduler } from 'rxjs/testing'; -import { getTestScheduler } from 'jasmine-marbles'; -import { of as observableOf } from 'rxjs'; -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { DynamicFormLayoutService, DynamicFormsCoreModule, DynamicFormValidationService } from '@ng-dynamic-forms/core'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + NgbModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormsCoreModule, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; -import { DsDynamicOneboxComponent } from './dynamic-onebox.component'; -import { DynamicOneboxModel } from './dynamic-onebox.model'; -import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; -import { createTestComponent } from '../../../../../testing/utils.test'; -import { AuthorityConfidenceStateDirective } from '../../../../directives/authority-confidence-state.directive'; -import { ObjNgFor } from '../../../../../utils/object-ngfor.pipe'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { createSuccessfulRemoteDataObject$ } from '../../../../../remote-data.utils'; -import { VocabularyTreeviewComponent } from '../../../../vocabulary-treeview/vocabulary-treeview.component'; import { mockDynamicFormLayoutService, mockDynamicFormValidationService, } from '../../../../../testing/dynamic-form-mock-services'; +import { createTestComponent } from '../../../../../testing/utils.test'; +import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; +import { ObjNgFor } from '../../../../../utils/object-ngfor.pipe'; +import { AuthorityConfidenceStateDirective } from '../../../../directives/authority-confidence-state.directive'; +import { VocabularyTreeviewComponent } from '../../../../vocabulary-treeview/vocabulary-treeview.component'; +import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; +import { DsDynamicOneboxComponent } from './dynamic-onebox.component'; +import { DynamicOneboxModel } from './dynamic-onebox.model'; export let ONEBOX_TEST_GROUP; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.ts index 33bdc2c8a0..765143397c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.ts @@ -1,7 +1,29 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnInit, + Output, + ViewChild, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; - -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; +import { + NgbModal, + NgbModalRef, + NgbTypeahead, + NgbTypeaheadSelectItemEvent, +} from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { + Observable, + of as observableOf, + Subject, + Subscription, +} from 'rxjs'; import { catchError, debounceTime, @@ -13,25 +35,28 @@ import { take, tap, } from 'rxjs/operators'; -import { Observable, of as observableOf, Subject, Subscription } from 'rxjs'; -import { NgbModal, NgbModalRef, NgbTypeahead, NgbTypeaheadSelectItemEvent } from '@ng-bootstrap/ng-bootstrap'; -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { DynamicOneboxModel } from './dynamic-onebox.model'; -import { hasValue, isEmpty, isNotEmpty, isNotNull } from '../../../../../empty.util'; -import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../../../../core/data/paginated-list.model'; import { ConfidenceType } from '../../../../../../core/shared/confidence-type'; import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; -import { - PaginatedList, - buildPaginatedList, -} from '../../../../../../core/data/paginated-list.model'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { PageInfo } from '../../../../../../core/shared/page-info.model'; -import { DsDynamicVocabularyComponent } from '../dynamic-vocabulary.component'; import { Vocabulary } from '../../../../../../core/submission/vocabularies/models/vocabulary.model'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyEntryDetail } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; +import { + hasValue, + isEmpty, + isNotEmpty, + isNotNull, +} from '../../../../../empty.util'; import { VocabularyTreeviewModalComponent } from '../../../../vocabulary-treeview-modal/vocabulary-treeview-modal.component'; +import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; +import { DsDynamicVocabularyComponent } from '../dynamic-vocabulary.component'; +import { DynamicOneboxModel } from './dynamic-onebox.model'; /** * Component representing a onebox input field. diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.model.ts index 4b973e3058..bce1dc5f19 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.model.ts @@ -1,5 +1,13 @@ -import { AUTOCOMPLETE_OFF, DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-input.model'; +import { + AUTOCOMPLETE_OFF, + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-input.model'; export const DYNAMIC_FORM_CONTROL_TYPE_ONEBOX = 'ONEBOX'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.component.spec.ts index 2741c5b7b0..9a4eb78015 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.component.spec.ts @@ -1,30 +1,52 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - -import { Store, StoreModule } from '@ngrx/store'; -import { TranslateModule } from '@ngx-translate/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; -import { DsDynamicRelationGroupComponent } from './dynamic-relation-group.components'; -import { DynamicRelationGroupModel, DynamicRelationGroupModelConfig } from './dynamic-relation-group.model'; +import { storeModuleConfig } from '../../../../../../app.reducer'; +import { FormRowModel } from '../../../../../../core/config/models/config-submission-form.model'; import { SubmissionFormsModel } from '../../../../../../core/config/models/config-submission-forms.model'; -import { FormFieldModel } from '../../../models/form-field.model'; -import { FormBuilderService } from '../../../form-builder.service'; -import { FormService } from '../../../../form.service'; -import { FormComponent } from '../../../../form.component'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; +import { StoreMock } from '../../../../../testing/store.mock'; +import { createTestComponent } from '../../../../../testing/utils.test'; +import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; import { Chips } from '../../../../chips/models/chips.model'; +import { FormComponent } from '../../../../form.component'; +import { FormService } from '../../../../form.service'; +import { FormBuilderService } from '../../../form-builder.service'; +import { FormFieldModel } from '../../../models/form-field.model'; import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; import { DsDynamicInputModel } from '../ds-dynamic-input.model'; -import { createTestComponent } from '../../../../../testing/utils.test'; -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; -import { StoreMock } from '../../../../../testing/store.mock'; -import { FormRowModel } from '../../../../../../core/config/models/config-submission-form.model'; -import { storeModuleConfig } from '../../../../../../app.reducer'; +import { DsDynamicRelationGroupComponent } from './dynamic-relation-group.components'; +import { + DynamicRelationGroupModel, + DynamicRelationGroupModelConfig, +} from './dynamic-relation-group.model'; export let FORM_GROUP_TEST_MODEL_CONFIG; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.components.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.components.ts index 371009e594..afe0defa7d 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.components.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.components.ts @@ -1,8 +1,14 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, + ViewChild, +} from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; - -import { combineLatest, Observable, of as observableOf, Subscription } from 'rxjs'; -import { filter, map, mergeMap, scan } from 'rxjs/operators'; import { DynamicFormControlComponent, DynamicFormControlModel, @@ -13,23 +19,40 @@ import { } from '@ng-dynamic-forms/core'; import isEqual from 'lodash/isEqual'; import isObject from 'lodash/isObject'; +import { + combineLatest, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + filter, + map, + mergeMap, + scan, +} from 'rxjs/operators'; -import { DynamicRelationGroupModel } from './dynamic-relation-group.model'; -import { FormBuilderService } from '../../../form-builder.service'; -import { SubmissionFormsModel } from '../../../../../../core/config/models/config-submission-forms.model'; -import { FormService } from '../../../../form.service'; -import { FormComponent } from '../../../../form.component'; -import { Chips } from '../../../../chips/models/chips.model'; -import { hasValue, isEmpty, isNotEmpty, isNotNull } from '../../../../../empty.util'; -import { shrinkInOut } from '../../../../../animations/shrink'; -import { ChipsItem } from '../../../../chips/models/chips-item.model'; -import { hasOnlyEmptyProperties } from '../../../../../object.util'; -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; import { environment } from '../../../../../../../environments/environment'; -import { PLACEHOLDER_PARENT_METADATA } from '../../ds-dynamic-form-constants'; +import { SubmissionFormsModel } from '../../../../../../core/config/models/config-submission-forms.model'; import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; import { VocabularyEntryDetail } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; +import { shrinkInOut } from '../../../../../animations/shrink'; +import { + hasValue, + isEmpty, + isNotEmpty, + isNotNull, +} from '../../../../../empty.util'; +import { hasOnlyEmptyProperties } from '../../../../../object.util'; +import { Chips } from '../../../../chips/models/chips.model'; +import { ChipsItem } from '../../../../chips/models/chips-item.model'; +import { FormComponent } from '../../../../form.component'; +import { FormService } from '../../../../form.service'; +import { FormBuilderService } from '../../../form-builder.service'; +import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; +import { PLACEHOLDER_PARENT_METADATA } from '../../ds-dynamic-form-constants'; +import { DynamicRelationGroupModel } from './dynamic-relation-group.model'; /** * Component representing a group input field diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model.ts index 916d047a9c..d88c29d148 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model.ts @@ -1,8 +1,18 @@ -import { DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-input.model'; -import { isEmpty, isNull } from '../../../../../empty.util'; +import { + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + import { FormRowModel } from '../../../../../../core/config/models/config-submission-form.model'; +import { + isEmpty, + isNull, +} from '../../../../../empty.util'; import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from '../../ds-dynamic-form-constants'; +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-input.model'; /** * Dynamic Group Model configuration interface diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.spec.ts index d3e9ed2bef..f16654b45b 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.spec.ts @@ -1,25 +1,48 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormsCoreModule, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; -import { DynamicFormLayoutService, DynamicFormsCoreModule, DynamicFormValidationService } from '@ng-dynamic-forms/core'; -import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; -import { DsDynamicScrollableDropdownComponent } from './dynamic-scrollable-dropdown.component'; -import { DynamicScrollableDropdownModel } from './dynamic-scrollable-dropdown.model'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { createTestComponent, hasClass } from '../../../../../testing/utils.test'; import { mockDynamicFormLayoutService, mockDynamicFormValidationService, } from '../../../../../testing/dynamic-form-mock-services'; +import { + createTestComponent, + hasClass, +} from '../../../../../testing/utils.test'; +import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; +import { DsDynamicScrollableDropdownComponent } from './dynamic-scrollable-dropdown.component'; +import { DynamicScrollableDropdownModel } from './dynamic-scrollable-dropdown.model'; export const SD_TEST_GROUP = new UntypedFormGroup({ dropdown: new UntypedFormControl(), diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.ts index 8ce18c5633..52703e19c9 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.ts @@ -1,23 +1,40 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { UntypedFormGroup } from '@angular/forms'; - -import { Observable, of as observableOf } from 'rxjs'; -import { catchError, distinctUntilChanged, map, tap } from 'rxjs/operators'; -import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; - -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { DynamicScrollableDropdownModel } from './dynamic-scrollable-dropdown.model'; -import { PageInfo } from '../../../../../../core/shared/page-info.model'; -import { isEmpty } from '../../../../../empty.util'; -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; import { - PaginatedList, + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; +import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + catchError, + distinctUntilChanged, + map, + tap, +} from 'rxjs/operators'; + +import { buildPaginatedList, + PaginatedList, } from '../../../../../../core/data/paginated-list.model'; -import { DsDynamicVocabularyComponent } from '../dynamic-vocabulary.component'; +import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; +import { PageInfo } from '../../../../../../core/shared/page-info.model'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; +import { isEmpty } from '../../../../../empty.util'; import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; +import { DsDynamicVocabularyComponent } from '../dynamic-vocabulary.component'; +import { DynamicScrollableDropdownModel } from './dynamic-scrollable-dropdown.model'; /** * Component representing a dropdown input field diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model.ts index a9974717e4..870cd12cf6 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model.ts @@ -1,6 +1,14 @@ -import { AUTOCOMPLETE_OFF, DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-input.model'; +import { + AUTOCOMPLETE_OFF, + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-input.model'; export const DYNAMIC_FORM_CONTROL_TYPE_SCROLLABLE_DROPDOWN = 'SCROLLABLE_DROPDOWN'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts index 67214c812f..c64bc38604 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts @@ -1,26 +1,48 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, fakeAsync, flush, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + flush, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { + NgbModule, + NgbTypeaheadSelectItemEvent, +} from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormsCoreModule, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; import { of as observableOf } from 'rxjs'; -import { DynamicFormLayoutService, DynamicFormsCoreModule, DynamicFormValidationService } from '@ng-dynamic-forms/core'; -import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; -import { NgbModule, NgbTypeaheadSelectItemEvent } from '@ng-bootstrap/ng-bootstrap'; - +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; -import { DsDynamicTagComponent } from './dynamic-tag.component'; -import { DynamicTagModel } from './dynamic-tag.model'; -import { Chips } from '../../../../chips/models/chips.model'; -import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { createTestComponent } from '../../../../../testing/utils.test'; import { mockDynamicFormLayoutService, mockDynamicFormValidationService, } from '../../../../../testing/dynamic-form-mock-services'; +import { createTestComponent } from '../../../../../testing/utils.test'; +import { VocabularyServiceStub } from '../../../../../testing/vocabulary-service.stub'; +import { Chips } from '../../../../chips/models/chips.model'; +import { FormFieldMetadataValueObject } from '../../../models/form-field-metadata-value.model'; +import { DsDynamicTagComponent } from './dynamic-tag.component'; +import { DynamicTagModel } from './dynamic-tag.model'; function createKeyUpEvent(key: number) { /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts index d409a725f5..fd42cec0a6 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts @@ -1,25 +1,52 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; -import { UntypedFormGroup } from '@angular/forms'; - -import { DynamicFormLayoutService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { catchError, debounceTime, distinctUntilChanged, map, merge, switchMap, tap } from 'rxjs/operators'; -import { NgbTypeahead, NgbTypeaheadSelectItemEvent } from '@ng-bootstrap/ng-bootstrap'; -import isEqual from 'lodash/isEqual'; - -import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; -import { DynamicTagModel } from './dynamic-tag.model'; -import { Chips } from '../../../../chips/models/chips.model'; -import { hasValue, isNotEmpty } from '../../../../../empty.util'; -import { environment } from '../../../../../../../environments/environment'; -import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; import { - PaginatedList, + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnInit, + Output, + ViewChild, +} from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; +import { + NgbTypeahead, + NgbTypeaheadSelectItemEvent, +} from '@ng-bootstrap/ng-bootstrap'; +import { + DynamicFormLayoutService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import isEqual from 'lodash/isEqual'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + catchError, + debounceTime, + distinctUntilChanged, + map, + merge, + switchMap, + tap, +} from 'rxjs/operators'; + +import { environment } from '../../../../../../../environments/environment'; +import { buildPaginatedList, + PaginatedList, } from '../../../../../../core/data/paginated-list.model'; -import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { getFirstSucceededRemoteDataPayload } from '../../../../../../core/shared/operators'; import { PageInfo } from '../../../../../../core/shared/page-info.model'; +import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyService } from '../../../../../../core/submission/vocabularies/vocabulary.service'; +import { + hasValue, + isNotEmpty, +} from '../../../../../empty.util'; +import { Chips } from '../../../../chips/models/chips.model'; import { DsDynamicVocabularyComponent } from '../dynamic-vocabulary.component'; +import { DynamicTagModel } from './dynamic-tag.model'; /** * Component representing a tag input field diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.model.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.model.ts index 86dc1ff73a..2c7e2c5670 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.model.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.model.ts @@ -1,5 +1,13 @@ -import { AUTOCOMPLETE_OFF, DynamicFormControlLayout, serializable } from '@ng-dynamic-forms/core'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-input.model'; +import { + AUTOCOMPLETE_OFF, + DynamicFormControlLayout, + serializable, +} from '@ng-dynamic-forms/core'; + +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-input.model'; export const DYNAMIC_FORM_CONTROL_TYPE_TAG = 'TAG'; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts index d78739a4b2..376116bfe9 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts @@ -1,29 +1,47 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; +import { + DebugElement, + NgZone, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { DebugElement, NgZone, NO_ERRORS_SCHEMA } from '@angular/core'; -import { of as observableOf, Subscription } from 'rxjs'; -import { DsDynamicLookupRelationModalComponent } from './dynamic-lookup-relation-modal.component'; -import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; -import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; -import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; +import { + NgbActiveModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; -import { Item } from '../../../../../core/shared/item.model'; -import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; -import { RelationshipOptions } from '../../models/relationship-options.model'; -import { AddRelationshipAction, RemoveRelationshipAction } from './relationship.actions'; -import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; -import { PaginatedSearchOptions } from '../../../../search/models/paginated-search-options.model'; -import { ExternalSource } from '../../../../../core/shared/external-source.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; -import { createPaginatedList } from '../../../../testing/utils.test'; +import { TranslateModule } from '@ngx-translate/core'; +import { + of as observableOf, + Subscription, +} from 'rxjs'; + +import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; import { ExternalSourceDataService } from '../../../../../core/data/external-source-data.service'; import { LookupRelationService } from '../../../../../core/data/lookup-relation.service'; -import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; -import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; +import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; +import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; import { Collection } from '../../../../../core/shared/collection.model'; -import { By } from '@angular/platform-browser'; +import { ExternalSource } from '../../../../../core/shared/external-source.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; +import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; +import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; +import { PaginatedSearchOptions } from '../../../../search/models/paginated-search-options.model'; +import { createPaginatedList } from '../../../../testing/utils.test'; +import { RelationshipOptions } from '../../models/relationship-options.model'; +import { DsDynamicLookupRelationModalComponent } from './dynamic-lookup-relation-modal.component'; +import { + AddRelationshipAction, + RemoveRelationshipAction, +} from './relationship.actions'; describe('DsDynamicLookupRelationModalComponent', () => { let component: DsDynamicLookupRelationModalComponent; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts index ebcf70b937..ea641e9885 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts @@ -1,34 +1,55 @@ -import { Component, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable, Subscription, BehaviorSubject } from 'rxjs'; +import { + Component, + EventEmitter, + NgZone, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { Router } from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { hasValue, isNotEmpty } from '../../../../empty.util'; -import { map, skip, switchMap, take } from 'rxjs/operators'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; -import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; -import { SelectableListState } from '../../../../object-list/selectable-list/selectable-list.reducer'; -import { ListableObject } from '../../../../object-collection/shared/listable-object.model'; -import { RelationshipOptions } from '../../models/relationship-options.model'; -import { SearchResult } from '../../../../search/models/search-result.model'; +import { Store } from '@ngrx/store'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + map, + skip, + switchMap, + take, +} from 'rxjs/operators'; + +import { AppState } from '../../../../../app.reducer'; +import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; +import { ExternalSourceDataService } from '../../../../../core/data/external-source-data.service'; +import { LookupRelationService } from '../../../../../core/data/lookup-relation.service'; +import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; +import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; +import { Context } from '../../../../../core/shared/context.model'; +import { ExternalSource } from '../../../../../core/shared/external-source.model'; import { Item } from '../../../../../core/shared/item.model'; +import { RelationshipType } from '../../../../../core/shared/item-relationships/relationship-type.model'; +import { getAllSucceededRemoteDataPayload } from '../../../../../core/shared/operators'; +import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; +import { + hasValue, + isNotEmpty, +} from '../../../../empty.util'; +import { ListableObject } from '../../../../object-collection/shared/listable-object.model'; +import { SelectableListState } from '../../../../object-list/selectable-list/selectable-list.reducer'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { SearchResult } from '../../../../search/models/search-result.model'; +import { followLink } from '../../../../utils/follow-link-config.model'; +import { RelationshipOptions } from '../../models/relationship-options.model'; import { AddRelationshipAction, RemoveRelationshipAction, UpdateRelationshipNameVariantAction, } from './relationship.actions'; -import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; -import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; -import { Store } from '@ngrx/store'; -import { AppState } from '../../../../../app.reducer'; -import { Context } from '../../../../../core/shared/context.model'; -import { LookupRelationService } from '../../../../../core/data/lookup-relation.service'; -import { ExternalSource } from '../../../../../core/shared/external-source.model'; -import { ExternalSourceDataService } from '../../../../../core/data/external-source-data.service'; -import { Router } from '@angular/router'; -import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; -import { getAllSucceededRemoteDataPayload } from '../../../../../core/shared/operators'; -import { followLink } from '../../../../utils/follow-link-config.model'; -import { RelationshipType } from '../../../../../core/shared/item-relationships/relationship-type.model'; @Component({ selector: 'ds-dynamic-lookup-relation-modal', diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.spec.ts index 3231e7d27e..b1ba312c6e 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.spec.ts @@ -1,36 +1,43 @@ import { - DsDynamicLookupRelationExternalSourceTabComponent, -} from './dynamic-lookup-relation-external-source-tab.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../../../../utils/var.directive'; -import { TranslateModule } from '@ngx-translate/core'; + EventEmitter, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; -import { EventEmitter, NO_ERRORS_SCHEMA } from '@angular/core'; -import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { + EMPTY, + of as observableOf, +} from 'rxjs'; + +import { ExternalSourceDataService } from '../../../../../../core/data/external-source-data.service'; +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { Collection } from '../../../../../../core/shared/collection.model'; +import { ExternalSource } from '../../../../../../core/shared/external-source.model'; +import { ExternalSourceEntry } from '../../../../../../core/shared/external-source-entry.model'; +import { Item } from '../../../../../../core/shared/item.model'; +import { ItemType } from '../../../../../../core/shared/item-relationships/item-type.model'; import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; -import { of as observableOf, EMPTY } from 'rxjs'; +import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; import { createFailedRemoteDataObject$, createPendingRemoteDataObject$, createSuccessfulRemoteDataObject$, } from '../../../../../remote-data.utils'; -import { ExternalSourceDataService } from '../../../../../../core/data/external-source-data.service'; -import { ExternalSource } from '../../../../../../core/shared/external-source.model'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { By } from '@angular/platform-browser'; -import { ExternalSourceEntry } from '../../../../../../core/shared/external-source-entry.model'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; -import { Item } from '../../../../../../core/shared/item.model'; -import { Collection } from '../../../../../../core/shared/collection.model'; -import { RelationshipOptions } from '../../../models/relationship-options.model'; -import { createPaginatedList } from '../../../../../testing/utils.test'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; -import { ItemType } from '../../../../../../core/shared/item-relationships/item-type.model'; -import { - ThemedExternalSourceEntryImportModalComponent, -} from './external-source-entry-import-modal/themed-external-source-entry-import-modal.component'; +import { createPaginatedList } from '../../../../../testing/utils.test'; +import { VarDirective } from '../../../../../utils/var.directive'; +import { RelationshipOptions } from '../../../models/relationship-options.model'; +import { DsDynamicLookupRelationExternalSourceTabComponent } from './dynamic-lookup-relation-external-source-tab.component'; +import { ThemedExternalSourceEntryImportModalComponent } from './external-source-entry-import-modal/themed-external-source-entry-import-modal.component'; describe('DsDynamicLookupRelationExternalSourceTabComponent', () => { let component: DsDynamicLookupRelationExternalSourceTabComponent; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts index 8bf1903924..81d782d70b 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts @@ -1,30 +1,55 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ComponentRef } from '@angular/core'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { + Component, + ComponentRef, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { Router } from '@angular/router'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { + map, + startWith, + switchMap, +} from 'rxjs/operators'; + import { ExternalSourceDataService } from '../../../../../../core/data/external-source-data.service'; -import { RemoteData } from '../../../../../../core/data/remote-data'; import { PaginatedList } from '../../../../../../core/data/paginated-list.model'; -import { ExternalSourceEntry } from '../../../../../../core/shared/external-source-entry.model'; -import { ExternalSource } from '../../../../../../core/shared/external-source.model'; -import { map, startWith, switchMap } from 'rxjs/operators'; -import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; -import { Context } from '../../../../../../core/shared/context.model'; -import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; -import { fadeIn, fadeInOut } from '../../../../../animations/fade'; -import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; -import { RelationshipOptions } from '../../../models/relationship-options.model'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; -import { ExternalSourceEntryImportModalComponent } from './external-source-entry-import-modal/external-source-entry-import-modal.component'; -import { ThemedExternalSourceEntryImportModalComponent } from './external-source-entry-import-modal/themed-external-source-entry-import-modal.component'; -import { hasValue, hasValueOperator } from '../../../../../empty.util'; -import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; -import { Item } from '../../../../../../core/shared/item.model'; -import { Collection } from '../../../../../../core/shared/collection.model'; +import { RemoteData } from '../../../../../../core/data/remote-data'; import { PaginationService } from '../../../../../../core/pagination/pagination.service'; -import { Observable, Subscription } from 'rxjs'; +import { Collection } from '../../../../../../core/shared/collection.model'; +import { Context } from '../../../../../../core/shared/context.model'; +import { ExternalSource } from '../../../../../../core/shared/external-source.model'; +import { ExternalSourceEntry } from '../../../../../../core/shared/external-source-entry.model'; +import { Item } from '../../../../../../core/shared/item.model'; import { ItemType } from '../../../../../../core/shared/item-relationships/item-type.model'; import { getFirstCompletedRemoteData } from '../../../../../../core/shared/operators'; +import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component'; +import { + fadeIn, + fadeInOut, +} from '../../../../../animations/fade'; +import { + hasValue, + hasValueOperator, +} from '../../../../../empty.util'; +import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; +import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; +import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; +import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; +import { RelationshipOptions } from '../../../models/relationship-options.model'; +import { ExternalSourceEntryImportModalComponent } from './external-source-entry-import-modal/external-source-entry-import-modal.component'; +import { ThemedExternalSourceEntryImportModalComponent } from './external-source-entry-import-modal/themed-external-source-entry-import-modal.component'; @Component({ selector: 'ds-dynamic-lookup-relation-external-source-tab', diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.spec.ts index c896785876..f2bf9996cf 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.spec.ts @@ -1,20 +1,31 @@ -import { ExternalSourceEntryImportModalComponent, ImportType } from './external-source-entry-import-modal.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + NgbActiveModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ItemDataService } from '../../../../../../../core/data/item-data.service'; import { LookupRelationService } from '../../../../../../../core/data/lookup-relation.service'; +import { Collection } from '../../../../../../../core/shared/collection.model'; import { ExternalSourceEntry } from '../../../../../../../core/shared/external-source-entry.model'; import { Item } from '../../../../../../../core/shared/item.model'; -import { ItemSearchResult } from '../../../../../../object-collection/shared/item-search-result.model'; -import { Collection } from '../../../../../../../core/shared/collection.model'; -import { RelationshipOptions } from '../../../../models/relationship-options.model'; -import { SelectableListService } from '../../../../../../object-list/selectable-list/selectable-list.service'; -import { ItemDataService } from '../../../../../../../core/data/item-data.service'; import { NotificationsService } from '../../../../../../notifications/notifications.service'; +import { ItemSearchResult } from '../../../../../../object-collection/shared/item-search-result.model'; +import { SelectableListService } from '../../../../../../object-list/selectable-list/selectable-list.service'; import { createSuccessfulRemoteDataObject$ } from '../../../../../../remote-data.utils'; import { createPaginatedList } from '../../../../../../testing/utils.test'; +import { RelationshipOptions } from '../../../../models/relationship-options.model'; +import { + ExternalSourceEntryImportModalComponent, + ImportType, +} from './external-source-entry-import-modal.component'; describe('DsDynamicLookupRelationExternalSourceTabComponent', () => { let component: ExternalSourceEntryImportModalComponent; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts index aa4ba64c9c..fcdf591014 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts @@ -1,30 +1,45 @@ -import { Component, EventEmitter, OnInit } from '@angular/core'; -import { NgbActiveModal, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { + Component, + EventEmitter, + OnInit, +} from '@angular/core'; +import { + NgbActiveModal, + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { + switchMap, + take, +} from 'rxjs/operators'; + +import { ItemDataService } from '../../../../../../../core/data/item-data.service'; +import { LookupRelationService } from '../../../../../../../core/data/lookup-relation.service'; +import { PaginatedList } from '../../../../../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../../../../../core/data/remote-data'; +import { Context } from '../../../../../../../core/shared/context.model'; import { ExternalSourceEntry } from '../../../../../../../core/shared/external-source-entry.model'; +import { Item } from '../../../../../../../core/shared/item.model'; +import { ItemType } from '../../../../../../../core/shared/item-relationships/item-type.model'; import { MetadataValue } from '../../../../../../../core/shared/metadata.models'; import { Metadata } from '../../../../../../../core/shared/metadata.utils'; -import { Observable } from 'rxjs'; -import { RemoteData } from '../../../../../../../core/data/remote-data'; -import { PaginatedList } from '../../../../../../../core/data/paginated-list.model'; -import { SearchResult } from '../../../../../../search/models/search-result.model'; -import { Item } from '../../../../../../../core/shared/item.model'; -import { RelationshipOptions } from '../../../../models/relationship-options.model'; -import { LookupRelationService } from '../../../../../../../core/data/lookup-relation.service'; -import { PaginatedSearchOptions } from '../../../../../../search/models/paginated-search-options.model'; -import { CollectionElementLinkType } from '../../../../../../object-collection/collection-element-link.type'; -import { Context } from '../../../../../../../core/shared/context.model'; -import { SelectableListService } from '../../../../../../object-list/selectable-list/selectable-list.service'; -import { ListableObject } from '../../../../../../object-collection/shared/listable-object.model'; -import { ItemDataService } from '../../../../../../../core/data/item-data.service'; -import { PaginationComponentOptions } from '../../../../../../pagination/pagination-component-options.model'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../../../../../../../core/shared/operators'; -import { switchMap, take } from 'rxjs/operators'; -import { ItemSearchResult } from '../../../../../../object-collection/shared/item-search-result.model'; -import { NotificationsService } from '../../../../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { ItemType } from '../../../../../../../core/shared/item-relationships/item-type.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../../../../../core/shared/operators'; import { SubmissionImportExternalCollectionComponent } from '../../../../../../../submission/import-external/import-external-collection/submission-import-external-collection.component'; import { CollectionListEntry } from '../../../../../../collection-dropdown/collection-dropdown.component'; +import { NotificationsService } from '../../../../../../notifications/notifications.service'; +import { CollectionElementLinkType } from '../../../../../../object-collection/collection-element-link.type'; +import { ItemSearchResult } from '../../../../../../object-collection/shared/item-search-result.model'; +import { ListableObject } from '../../../../../../object-collection/shared/listable-object.model'; +import { SelectableListService } from '../../../../../../object-list/selectable-list/selectable-list.service'; +import { PaginationComponentOptions } from '../../../../../../pagination/pagination-component-options.model'; +import { PaginatedSearchOptions } from '../../../../../../search/models/paginated-search-options.model'; +import { SearchResult } from '../../../../../../search/models/search-result.model'; +import { RelationshipOptions } from '../../../../models/relationship-options.model'; /** * The possible types of import for the external entry diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component.ts index 26e6097c2d..97e8877829 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component.ts @@ -1,7 +1,8 @@ -import { ExternalSourceEntryImportModalComponent } from './external-source-entry-import-modal.component'; -import { ThemedComponent } from '../../../../../../theme-support/themed.component'; import { Component } from '@angular/core'; +import { ThemedComponent } from '../../../../../../theme-support/themed.component'; +import { ExternalSourceEntryImportModalComponent } from './external-source-entry-import-modal.component'; + @Component({ selector: 'ds-themed-external-source-entry-import-modal', styleUrls: [], diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component.ts index 637941ce5b..a951c888b3 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component.ts @@ -1,11 +1,17 @@ -import { ThemedComponent } from '../../../../../theme-support/themed.component'; -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { RelationshipOptions } from '../../../models/relationship-options.model'; -import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; -import { Context } from '../../../../../../core/shared/context.model'; -import { Item } from '../../../../../../core/shared/item.model'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { Collection } from '../../../../../../core/shared/collection.model'; +import { Context } from '../../../../../../core/shared/context.model'; import { ExternalSource } from '../../../../../../core/shared/external-source.model'; +import { Item } from '../../../../../../core/shared/item.model'; +import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; +import { ThemedComponent } from '../../../../../theme-support/themed.component'; +import { RelationshipOptions } from '../../../models/relationship-options.model'; import { DsDynamicLookupRelationExternalSourceTabComponent } from './dynamic-lookup-relation-external-source-tab.component'; @Component({ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts index e1cc49778e..59fd9feb77 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts @@ -2,9 +2,10 @@ /** * The list of NameVariantAction type definitions */ -import { type } from '../../../../ngrx/type'; import { Action } from '@ngrx/store'; +import { type } from '../../../../ngrx/type'; + export const NameVariantActionTypes = { SET_NAME_VARIANT: type('dspace/name-variant/SET_NAME_VARIANT'), REMOVE_NAME_VARIANT: type('dspace/name-variant/REMOVE_NAME_VARIANT'), diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.spec.ts index cb4128ec46..41a63c73d1 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.spec.ts @@ -1,5 +1,9 @@ -import { RemoveNameVariantAction, SetNameVariantAction } from './name-variant.actions'; import { Action } from '@ngrx/store'; + +import { + RemoveNameVariantAction, + SetNameVariantAction, +} from './name-variant.actions'; import { nameVariantReducer } from './name-variant.reducer'; class NullAction implements Action { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.ts index 9f93cf2dd1..a80bd4dc6c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer.ts @@ -2,8 +2,12 @@ * Represents the state of all lists containing name variants in the store */ -import { NameVariantAction, NameVariantActionTypes, SetNameVariantAction } from './name-variant.actions'; import { hasValue } from '../../../../empty.util'; +import { + NameVariantAction, + NameVariantActionTypes, + SetNameVariantAction, +} from './name-variant.actions'; export interface NameVariantListsState { [listID: string]: NameVariantListState; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts index 2cd5bbc6c4..7d21fcb1f6 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts @@ -2,10 +2,11 @@ /** * The list of RelationshipAction type definitions */ -import { type } from '../../../../ngrx/type'; import { Action } from '@ngrx/store'; + import { Item } from '../../../../../core/shared/item.model'; import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; +import { type } from '../../../../ngrx/type'; export const RelationshipActionTypes = { ADD_RELATIONSHIP: type('dspace/relationship/ADD_RELATIONSHIP'), diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts index acd88f1045..66684058cd 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts @@ -1,29 +1,44 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { BehaviorSubject, Observable, of as observableOf } from 'rxjs'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { provideMockActions } from '@ngrx/effects/testing'; import { Store } from '@ngrx/store'; -import { RelationshipEffects } from './relationship.effects'; -import { AddRelationshipAction, RelationshipActionTypes, RemoveRelationshipAction } from './relationship.actions'; -import { Item } from '../../../../../core/shared/item.model'; -import { MetadataValue } from '../../../../../core/shared/metadata.models'; -import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; -import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; -import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; -import { RelationshipType } from '../../../../../core/shared/item-relationships/relationship-type.model'; -import { ItemType } from '../../../../../core/shared/item-relationships/item-type.model'; -import { RestResponse } from '../../../../../core/cache/response.models'; -import { SubmissionObjectDataService } from '../../../../../core/submission/submission-object-data.service'; -import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; -import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; -import { RequestService } from '../../../../../core/data/request.service'; -import { NotificationsService } from '../../../../notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; -import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; -import { cold, hot } from 'jasmine-marbles'; -import { DEBOUNCE_TIME_OPERATOR } from '../../../../../core/shared/operators'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { + BehaviorSubject, + Observable, + of as observableOf, +} from 'rxjs'; import { last } from 'rxjs/operators'; +import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; +import { RestResponse } from '../../../../../core/cache/response.models'; +import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; +import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; +import { RequestService } from '../../../../../core/data/request.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { ItemType } from '../../../../../core/shared/item-relationships/item-type.model'; +import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../../../core/shared/item-relationships/relationship-type.model'; +import { MetadataValue } from '../../../../../core/shared/metadata.models'; +import { DEBOUNCE_TIME_OPERATOR } from '../../../../../core/shared/operators'; +import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; +import { SubmissionObjectDataService } from '../../../../../core/submission/submission-object-data.service'; +import { NotificationsService } from '../../../../notifications/notifications.service'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; +import { + AddRelationshipAction, + RelationshipActionTypes, + RemoveRelationshipAction, +} from './relationship.actions'; +import { RelationshipEffects } from './relationship.effects'; + describe('RelationshipEffects', () => { let relationEffects: RelationshipEffects; let actions: Observable; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts index 3e0acf9d91..51b3b70136 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts @@ -1,12 +1,53 @@ -import { Inject, Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; -import { filter, map, mergeMap, switchMap, take } from 'rxjs/operators'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; import { + Inject, + Injectable, +} from '@angular/core'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { Store } from '@ngrx/store'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + filter, + map, + mergeMap, + switchMap, + take, +} from 'rxjs/operators'; + +import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; +import { ServerSyncBufferActionTypes } from '../../../../../core/cache/server-sync-buffer.actions'; +import { RelationshipDataService } from '../../../../../core/data/relationship-data.service'; +import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; +import { RemoteData } from '../../../../../core/data/remote-data'; +import { RequestService } from '../../../../../core/data/request.service'; +import { JsonPatchOperationsActionTypes } from '../../../../../core/json-patch/json-patch-operations.actions'; +import { Item } from '../../../../../core/shared/item.model'; +import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../../../core/shared/item-relationships/relationship-type.model'; +import { + DEBOUNCE_TIME_OPERATOR, + getFirstSucceededRemoteData, getRemoteDataPayload, - getFirstSucceededRemoteData, DEBOUNCE_TIME_OPERATOR, } from '../../../../../core/shared/operators'; +import { SubmissionObject } from '../../../../../core/submission/models/submission-object.model'; +import { SubmissionObjectDataService } from '../../../../../core/submission/submission-object-data.service'; +import { SaveSubmissionSectionFormSuccessAction } from '../../../../../submission/objects/submission-objects.actions'; +import { SubmissionState } from '../../../../../submission/submission.reducers'; +import { + hasNoValue, + hasValue, + hasValueOperator, +} from '../../../../empty.util'; +import { NotificationsService } from '../../../../notifications/notifications.service'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { followLink } from '../../../../utils/follow-link-config.model'; import { AddRelationshipAction, RelationshipAction, @@ -14,25 +55,6 @@ import { UpdateRelationshipAction, UpdateRelationshipNameVariantAction, } from './relationship.actions'; -import { Item } from '../../../../../core/shared/item.model'; -import { hasNoValue, hasValue, hasValueOperator } from '../../../../empty.util'; -import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; -import { RelationshipType } from '../../../../../core/shared/item-relationships/relationship-type.model'; -import { RelationshipTypeDataService } from '../../../../../core/data/relationship-type-data.service'; -import { SubmissionObjectDataService } from '../../../../../core/submission/submission-object-data.service'; -import { SaveSubmissionSectionFormSuccessAction } from '../../../../../submission/objects/submission-objects.actions'; -import { SubmissionObject } from '../../../../../core/submission/models/submission-object.model'; -import { SubmissionState } from '../../../../../submission/submission.reducers'; -import { Store } from '@ngrx/store'; -import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; -import { RequestService } from '../../../../../core/data/request.service'; -import { ServerSyncBufferActionTypes } from '../../../../../core/cache/server-sync-buffer.actions'; -import { JsonPatchOperationsActionTypes } from '../../../../../core/json-patch/json-patch-operations.actions'; -import { followLink } from '../../../../utils/follow-link-config.model'; -import { RemoteData } from '../../../../../core/data/remote-data'; -import { NotificationsService } from '../../../../notifications/notifications.service'; -import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; -import { TranslateService } from '@ngx-translate/core'; const DEBOUNCE_TIME = 500; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.spec.ts index 9373ae1320..a9fb9235e1 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.spec.ts @@ -1,26 +1,31 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DsDynamicLookupRelationSearchTabComponent } from './dynamic-lookup-relation-search-tab.component'; -import { SearchService } from '../../../../../../core/shared/search/search.service'; -import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; -import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; -import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { LookupRelationService } from '../../../../../../core/data/lookup-relation.service'; +import { buildPaginatedList } from '../../../../../../core/data/paginated-list.model'; +import { RelationshipDataService } from '../../../../../../core/data/relationship-data.service'; +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { Item } from '../../../../../../core/shared/item.model'; +import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model'; +import { SearchService } from '../../../../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; +import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../remote-data.utils'; +import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; +import { SearchObjects } from '../../../../../search/models/search-objects.model'; +import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; +import { relatedRelationships } from '../../../../../testing/related-relationships.mock'; import { VarDirective } from '../../../../../utils/var.directive'; import { RelationshipOptions } from '../../../models/relationship-options.model'; -import { of as observableOf } from 'rxjs'; -import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../remote-data.utils'; -import { buildPaginatedList } from '../../../../../../core/data/paginated-list.model'; -import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../../core/shared/item.model'; -import { LookupRelationService } from '../../../../../../core/data/lookup-relation.service'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; -import { RelationshipDataService } from '../../../../../../core/data/relationship-data.service'; -import { relatedRelationships } from '../../../../../testing/related-relationships.mock'; -import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model'; -import { SearchObjects } from '../../../../../search/models/search-objects.model'; +import { DsDynamicLookupRelationSearchTabComponent } from './dynamic-lookup-relation-search-tab.component'; describe('DsDynamicLookupRelationSearchTabComponent', () => { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts index e5e61f6871..08cf2a155b 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts @@ -1,28 +1,47 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; -import { Item } from '../../../../../../core/shared/item.model'; -import { SearchResult } from '../../../../../search/models/search-result.model'; -import { PaginatedList } from '../../../../../../core/data/paginated-list.model'; -import { Observable, BehaviorSubject } from 'rxjs'; -import { RelationshipOptions } from '../../../models/relationship-options.model'; -import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; -import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; -import { SearchService } from '../../../../../../core/shared/search/search.service'; -import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; -import { hasValue } from '../../../../../empty.util'; -import { map, mapTo, switchMap, take, tap } from 'rxjs/operators'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../../../../../../core/shared/operators'; -import { CollectionElementLinkType } from '../../../../../object-collection/collection-element-link.type'; -import { Context } from '../../../../../../core/shared/context.model'; -import { LookupRelationService } from '../../../../../../core/data/lookup-relation.service'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; -import { RelationshipDataService } from '../../../../../../core/data/relationship-data.service'; -import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model'; +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + map, + mapTo, + switchMap, + take, + tap, +} from 'rxjs/operators'; -import { Relationship } from '../../../../../../core/shared/item-relationships/relationship.model'; -import { SearchObjects } from '../../../../../search/models/search-objects.model'; +import { LookupRelationService } from '../../../../../../core/data/lookup-relation.service'; +import { PaginatedList } from '../../../../../../core/data/paginated-list.model'; +import { RelationshipDataService } from '../../../../../../core/data/relationship-data.service'; +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { Context } from '../../../../../../core/shared/context.model'; import { DSpaceObject } from '../../../../../../core/shared/dspace-object.model'; +import { Item } from '../../../../../../core/shared/item.model'; +import { Relationship } from '../../../../../../core/shared/item-relationships/relationship.model'; +import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../../../../core/shared/operators'; +import { SearchService } from '../../../../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component'; +import { hasValue } from '../../../../../empty.util'; +import { CollectionElementLinkType } from '../../../../../object-collection/collection-element-link.type'; +import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; +import { SelectableListService } from '../../../../../object-list/selectable-list/selectable-list.service'; +import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; +import { SearchObjects } from '../../../../../search/models/search-objects.model'; +import { SearchResult } from '../../../../../search/models/search-result.model'; +import { RelationshipOptions } from '../../../models/relationship-options.model'; @Component({ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component.ts index d44f8f84a0..1c9375ce23 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component.ts @@ -1,15 +1,21 @@ -import { ThemedComponent } from '../../../../../theme-support/themed.component'; -import { DsDynamicLookupRelationSearchTabComponent } from './dynamic-lookup-relation-search-tab.component'; -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { RelationshipOptions } from '../../../models/relationship-options.model'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; import { Observable } from 'rxjs'; -import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; + import { Context } from '../../../../../../core/shared/context.model'; -import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model'; -import { Item } from '../../../../../../core/shared/item.model'; -import { SearchResult } from '../../../../../search/models/search-result.model'; -import { SearchObjects } from '../../../../../search/models/search-objects.model'; import { DSpaceObject } from '../../../../../../core/shared/dspace-object.model'; +import { Item } from '../../../../../../core/shared/item.model'; +import { RelationshipType } from '../../../../../../core/shared/item-relationships/relationship-type.model'; +import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; +import { SearchObjects } from '../../../../../search/models/search-objects.model'; +import { SearchResult } from '../../../../../search/models/search-result.model'; +import { ThemedComponent } from '../../../../../theme-support/themed.component'; +import { RelationshipOptions } from '../../../models/relationship-options.model'; +import { DsDynamicLookupRelationSearchTabComponent } from './dynamic-lookup-relation-search-tab.component'; @Component({ selector: 'ds-themed-dynamic-lookup-relation-search-tab', diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.spec.ts index f830a4af90..9dad2fb77f 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.spec.ts @@ -1,22 +1,33 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { VarDirective } from '../../../../../utils/var.directive'; -import { Observable, of as observableOf } from 'rxjs'; -import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; -import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../../core/shared/item.model'; -import { DsDynamicLookupRelationSelectionTabComponent } from './dynamic-lookup-relation-selection-tab.component'; -import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; -import { Router } from '@angular/router'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { + buildPaginatedList, + PaginatedList, +} from '../../../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../../../core/data/remote-data'; -import { buildPaginatedList, PaginatedList } from '../../../../../../core/data/paginated-list.model'; -import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../../remote-data.utils'; import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { Item } from '../../../../../../core/shared/item.model'; +import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; +import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; +import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../../../remote-data.utils'; +import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; +import { VarDirective } from '../../../../../utils/var.directive'; +import { DsDynamicLookupRelationSelectionTabComponent } from './dynamic-lookup-relation-selection-tab.component'; describe('DsDynamicLookupRelationSelectionTabComponent', () => { let component: DsDynamicLookupRelationSelectionTabComponent; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.ts index b78f4d5e68..e4454c4ea9 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.ts @@ -1,18 +1,31 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; -import { Observable } from 'rxjs'; -import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; -import { RemoteData } from '../../../../../../core/data/remote-data'; -import { map, switchMap, take } from 'rxjs/operators'; -import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; -import { buildPaginatedList, PaginatedList } from '../../../../../../core/data/paginated-list.model'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; import { Router } from '@angular/router'; -import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; -import { PageInfo } from '../../../../../../core/shared/page-info.model'; -import { Context } from '../../../../../../core/shared/context.model'; -import { createSuccessfulRemoteDataObject } from '../../../../../remote-data.utils'; +import { Observable } from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + buildPaginatedList, + PaginatedList, +} from '../../../../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../../../../core/data/remote-data'; import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { Context } from '../../../../../../core/shared/context.model'; +import { PageInfo } from '../../../../../../core/shared/page-info.model'; +import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component'; +import { ListableObject } from '../../../../../object-collection/shared/listable-object.model'; +import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject } from '../../../../../remote-data.utils'; +import { PaginatedSearchOptions } from '../../../../../search/models/paginated-search-options.model'; @Component({ selector: 'ds-dynamic-lookup-relation-selection-tab', diff --git a/src/app/shared/form/builder/form-builder.service.spec.ts b/src/app/shared/form/builder/form-builder.service.spec.ts index 3e74e64bde..0b8b264c95 100644 --- a/src/app/shared/form/builder/form-builder.service.spec.ts +++ b/src/app/shared/form/builder/form-builder.service.spec.ts @@ -1,11 +1,14 @@ -import { inject, TestBed } from '@angular/core/testing'; import { - UntypedFormArray, - UntypedFormControl, - UntypedFormGroup, + inject, + TestBed, +} from '@angular/core/testing'; +import { NG_ASYNC_VALIDATORS, NG_VALIDATORS, ReactiveFormsModule, + UntypedFormArray, + UntypedFormControl, + UntypedFormGroup, } from '@angular/forms'; import { DynamicCheckboxGroupModel, @@ -28,29 +31,30 @@ import { DynamicTextAreaModel, DynamicTimePickerModel, } from '@ng-dynamic-forms/core'; -import { DynamicTagModel } from './ds-dynamic-form-ui/models/tag/dynamic-tag.model'; -import { DynamicListCheckboxGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model'; -import { DynamicQualdropModel } from './ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; -import { DynamicScrollableDropdownModel } from './ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; -import { DynamicRelationGroupModel } from './ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; -import { DynamicLookupModel } from './ds-dynamic-form-ui/models/lookup/dynamic-lookup.model'; -import { DynamicDsDatePickerModel } from './ds-dynamic-form-ui/models/date-picker/date-picker.model'; -import { DynamicOneboxModel } from './ds-dynamic-form-ui/models/onebox/dynamic-onebox.model'; -import { DynamicListRadioGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model'; -import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; -import { FormFieldModel } from './models/form-field.model'; -import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; -import { FormBuilderService } from './form-builder.service'; -import { DynamicRowGroupModel } from './ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; -import { DsDynamicInputModel } from './ds-dynamic-form-ui/models/ds-dynamic-input.model'; -import { FormFieldMetadataValueObject } from './models/form-field-metadata-value.model'; -import { DynamicConcatModel } from './ds-dynamic-form-ui/models/ds-dynamic-concat.model'; -import { DynamicLookupNameModel } from './ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model'; -import { DynamicRowArrayModel } from './ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; + import { FormRowModel } from '../../../core/config/models/config-submission-form.model'; +import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; import {ConfigurationDataService} from '../../../core/data/configuration-data.service'; -import {createSuccessfulRemoteDataObject$} from '../../remote-data.utils'; import {ConfigurationProperty} from '../../../core/shared/configuration-property.model'; +import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; +import {createSuccessfulRemoteDataObject$} from '../../remote-data.utils'; +import { DynamicDsDatePickerModel } from './ds-dynamic-form-ui/models/date-picker/date-picker.model'; +import { DynamicConcatModel } from './ds-dynamic-form-ui/models/ds-dynamic-concat.model'; +import { DsDynamicInputModel } from './ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { DynamicQualdropModel } from './ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; +import { DynamicRowArrayModel } from './ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; +import { DynamicRowGroupModel } from './ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; +import { DynamicListCheckboxGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model'; +import { DynamicListRadioGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model'; +import { DynamicLookupModel } from './ds-dynamic-form-ui/models/lookup/dynamic-lookup.model'; +import { DynamicLookupNameModel } from './ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model'; +import { DynamicOneboxModel } from './ds-dynamic-form-ui/models/onebox/dynamic-onebox.model'; +import { DynamicRelationGroupModel } from './ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; +import { DynamicScrollableDropdownModel } from './ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; +import { DynamicTagModel } from './ds-dynamic-form-ui/models/tag/dynamic-tag.model'; +import { FormBuilderService } from './form-builder.service'; +import { FormFieldModel } from './models/form-field.model'; +import { FormFieldMetadataValueObject } from './models/form-field-metadata-value.model'; describe('FormBuilderService test suite', () => { diff --git a/src/app/shared/form/builder/form-builder.service.ts b/src/app/shared/form/builder/form-builder.service.ts index c3773266d8..6d13344d1a 100644 --- a/src/app/shared/form/builder/form-builder.service.ts +++ b/src/app/shared/form/builder/form-builder.service.ts @@ -1,6 +1,12 @@ -import {Injectable, Optional} from '@angular/core'; -import { AbstractControl, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; - +import { + Injectable, + Optional, +} from '@angular/core'; +import { + AbstractControl, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; import { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP, @@ -22,6 +28,14 @@ import isObject from 'lodash/isObject'; import isString from 'lodash/isString'; import mergeWith from 'lodash/mergeWith'; +import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; +import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; +import { VIRTUAL_METADATA_PREFIX } from '../../../core/shared/metadata.models'; +import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { + dateToString, + isNgbDateStruct, +} from '../../date.util'; import { hasNoValue, hasValue, @@ -31,20 +45,18 @@ import { isNotUndefined, isNull, } from '../../empty.util'; -import { DynamicQualdropModel } from './ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; -import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; -import { DYNAMIC_FORM_CONTROL_TYPE_TAG } from './ds-dynamic-form-ui/models/tag/dynamic-tag.model'; -import { RowParser } from './parsers/row-parser'; -import { DynamicRelationGroupModel } from './ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; -import { DynamicRowArrayModel } from './ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; -import { DsDynamicInputModel } from './ds-dynamic-form-ui/models/ds-dynamic-input.model'; -import { FormFieldMetadataValueObject } from './models/form-field-metadata-value.model'; -import { dateToString, isNgbDateStruct } from '../../date.util'; import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from './ds-dynamic-form-ui/ds-dynamic-form-constants'; -import { CONCAT_GROUP_SUFFIX, DynamicConcatModel } from './ds-dynamic-form-ui/models/ds-dynamic-concat.model'; -import { VIRTUAL_METADATA_PREFIX } from '../../../core/shared/metadata.models'; -import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; -import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { + CONCAT_GROUP_SUFFIX, + DynamicConcatModel, +} from './ds-dynamic-form-ui/models/ds-dynamic-concat.model'; +import { DsDynamicInputModel } from './ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { DynamicQualdropModel } from './ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; +import { DynamicRowArrayModel } from './ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; +import { DynamicRelationGroupModel } from './ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; +import { DYNAMIC_FORM_CONTROL_TYPE_TAG } from './ds-dynamic-form-ui/models/tag/dynamic-tag.model'; +import { FormFieldMetadataValueObject } from './models/form-field-metadata-value.model'; +import { RowParser } from './parsers/row-parser'; @Injectable() export class FormBuilderService extends DynamicFormService { diff --git a/src/app/shared/form/builder/models/form-field-metadata-value.model.ts b/src/app/shared/form/builder/models/form-field-metadata-value.model.ts index 7738bdb8a2..b36e793f44 100644 --- a/src/app/shared/form/builder/models/form-field-metadata-value.model.ts +++ b/src/app/shared/form/builder/models/form-field-metadata-value.model.ts @@ -1,6 +1,14 @@ -import { hasValue, isEmpty, isNotEmpty, isNotNull } from '../../../empty.util'; import { ConfidenceType } from '../../../../core/shared/confidence-type'; -import { MetadataValueInterface, VIRTUAL_METADATA_PREFIX } from '../../../../core/shared/metadata.models'; +import { + MetadataValueInterface, + VIRTUAL_METADATA_PREFIX, +} from '../../../../core/shared/metadata.models'; +import { + hasValue, + isEmpty, + isNotEmpty, + isNotNull, +} from '../../../empty.util'; import { PLACEHOLDER_PARENT_METADATA } from '../ds-dynamic-form-ui/ds-dynamic-form-constants'; export interface OtherInformation { diff --git a/src/app/shared/form/builder/models/form-field.model.ts b/src/app/shared/form/builder/models/form-field.model.ts index 5a542ab1d6..f81c955fab 100644 --- a/src/app/shared/form/builder/models/form-field.model.ts +++ b/src/app/shared/form/builder/models/form-field.model.ts @@ -1,9 +1,9 @@ -import { SectionVisibility } from './../../../../submission/objects/section-visibility.model'; import { autoserialize } from 'cerialize'; +import { FormRowModel } from '../../../../core/config/models/config-submission-form.model'; +import { SectionVisibility } from './../../../../submission/objects/section-visibility.model'; import { LanguageCode } from './form-field-language-value.model'; import { RelationshipOptions } from './relationship-options.model'; -import { FormRowModel } from '../../../../core/config/models/config-submission-form.model'; /** * Representing SelectableMetadata properties diff --git a/src/app/shared/form/builder/parsers/concat-field-parser.ts b/src/app/shared/form/builder/parsers/concat-field-parser.ts index 3186f37a4b..3f35c17e8f 100644 --- a/src/app/shared/form/builder/parsers/concat-field-parser.ts +++ b/src/app/shared/form/builder/parsers/concat-field-parser.ts @@ -1,6 +1,10 @@ import {Inject} from '@angular/core'; -import { FormFieldModel } from '../models/form-field.model'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; + +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../empty.util'; import { CONCAT_FIRST_INPUT_SUFFIX, CONCAT_GROUP_SUFFIX, @@ -8,8 +12,12 @@ import { DynamicConcatModel, DynamicConcatModelConfig, } from '../ds-dynamic-form-ui/models/ds-dynamic-concat.model'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../empty.util'; -import { ParserOptions } from './parser-options'; +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { FormFieldModel } from '../models/form-field.model'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { CONFIG_DATA, FieldParser, @@ -17,7 +25,7 @@ import { PARSER_OPTIONS, SUBMISSION_ID, } from './field-parser'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { ParserOptions } from './parser-options'; export class ConcatFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/date-field-parser.spec.ts b/src/app/shared/form/builder/parsers/date-field-parser.spec.ts index 10aa393ab2..d1912a7cad 100644 --- a/src/app/shared/form/builder/parsers/date-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/date-field-parser.spec.ts @@ -1,7 +1,7 @@ -import { FormFieldModel } from '../models/form-field.model'; -import { DateFieldParser } from './date-field-parser'; import { DynamicDsDatePickerModel } from '../ds-dynamic-form-ui/models/date-picker/date-picker.model'; +import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { DateFieldParser } from './date-field-parser'; import { ParserOptions } from './parser-options'; describe('DateFieldParser test suite', () => { diff --git a/src/app/shared/form/builder/parsers/date-field-parser.ts b/src/app/shared/form/builder/parsers/date-field-parser.ts index 31ba7ce0d9..ea9f193e33 100644 --- a/src/app/shared/form/builder/parsers/date-field-parser.ts +++ b/src/app/shared/form/builder/parsers/date-field-parser.ts @@ -1,11 +1,11 @@ -import { FieldParser } from './field-parser'; -import { - DynamicDsDatePickerModel, - DynamicDsDateControlModelConfig, -} from '../ds-dynamic-form-ui/models/date-picker/date-picker.model'; import { isNotEmpty } from '../../../empty.util'; import { DS_DATE_PICKER_SEPARATOR } from '../ds-dynamic-form-ui/models/date-picker/date-picker.component'; +import { + DynamicDsDateControlModelConfig, + DynamicDsDatePickerModel, +} from '../ds-dynamic-form-ui/models/date-picker/date-picker.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { FieldParser } from './field-parser'; export class DateFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/disabled-field-parser.spec.ts b/src/app/shared/form/builder/parsers/disabled-field-parser.spec.ts index 8576422098..fd6908ed3b 100644 --- a/src/app/shared/form/builder/parsers/disabled-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/disabled-field-parser.spec.ts @@ -1,7 +1,7 @@ -import { FormFieldModel } from '../models/form-field.model'; -import { ParserOptions } from './parser-options'; -import { DisabledFieldParser } from './disabled-field-parser'; import { DynamicDisabledModel } from '../ds-dynamic-form-ui/models/disabled/dynamic-disabled.model'; +import { FormFieldModel } from '../models/form-field.model'; +import { DisabledFieldParser } from './disabled-field-parser'; +import { ParserOptions } from './parser-options'; describe('DisabledFieldParser test suite', () => { let field: FormFieldModel; diff --git a/src/app/shared/form/builder/parsers/disabled-field-parser.ts b/src/app/shared/form/builder/parsers/disabled-field-parser.ts index df53f26c3a..e9b97ba7d9 100644 --- a/src/app/shared/form/builder/parsers/disabled-field-parser.ts +++ b/src/app/shared/form/builder/parsers/disabled-field-parser.ts @@ -1,6 +1,9 @@ -import { FieldParser } from './field-parser'; +import { + DsDynamicDisabledModelConfig, + DynamicDisabledModel, +} from '../ds-dynamic-form-ui/models/disabled/dynamic-disabled.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; -import { DsDynamicDisabledModelConfig, DynamicDisabledModel } from '../ds-dynamic-form-ui/models/disabled/dynamic-disabled.model'; +import { FieldParser } from './field-parser'; /** * Field parser for disabled fields diff --git a/src/app/shared/form/builder/parsers/dropdown-field-parser.spec.ts b/src/app/shared/form/builder/parsers/dropdown-field-parser.spec.ts index 7eed1dd9f7..0ab376d1aa 100644 --- a/src/app/shared/form/builder/parsers/dropdown-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/dropdown-field-parser.spec.ts @@ -1,6 +1,6 @@ +import { DynamicScrollableDropdownModel } from '../ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; import { FormFieldModel } from '../models/form-field.model'; import { DropdownFieldParser } from './dropdown-field-parser'; -import { DynamicScrollableDropdownModel } from '../ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; import { ParserOptions } from './parser-options'; describe('DropdownFieldParser test suite', () => { diff --git a/src/app/shared/form/builder/parsers/dropdown-field-parser.ts b/src/app/shared/form/builder/parsers/dropdown-field-parser.ts index e0a48e9016..a2deebe41f 100644 --- a/src/app/shared/form/builder/parsers/dropdown-field-parser.ts +++ b/src/app/shared/form/builder/parsers/dropdown-field-parser.ts @@ -1,5 +1,13 @@ import {Inject} from '@angular/core'; +import { DynamicFormControlLayout } from '@ng-dynamic-forms/core'; + +import { isNotEmpty } from '../../../empty.util'; +import { + DynamicScrollableDropdownModel, + DynamicScrollableDropdownModelConfig, +} from '../ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; import { FormFieldModel } from '../models/form-field.model'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { CONFIG_DATA, FieldParser, @@ -7,13 +15,6 @@ import { PARSER_OPTIONS, SUBMISSION_ID, } from './field-parser'; -import { DynamicFormControlLayout } from '@ng-dynamic-forms/core'; -import { - DynamicScrollableDropdownModel, - DynamicScrollableDropdownModelConfig, -} from '../ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model'; -import { isNotEmpty } from '../../../empty.util'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { ParserOptions } from './parser-options'; export class DropdownFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/field-parser.ts b/src/app/shared/form/builder/parsers/field-parser.ts index b73dd1d97a..c77b244d6a 100644 --- a/src/app/shared/form/builder/parsers/field-parser.ts +++ b/src/app/shared/form/builder/parsers/field-parser.ts @@ -1,30 +1,40 @@ -import { SectionVisibility } from './../../../../submission/objects/section-visibility.model'; -import { VisibilityType } from './../../../../submission/sections/visibility-type'; -import { Inject, InjectionToken } from '@angular/core'; - -import uniqueId from 'lodash/uniqueId'; +import { + Inject, + InjectionToken, +} from '@angular/core'; import { DynamicFormControlLayout, DynamicFormControlRelation, MATCH_VISIBLE, OR_OPERATOR, } from '@ng-dynamic-forms/core'; +import uniqueId from 'lodash/uniqueId'; -import { hasValue, isNotEmpty, isNotNull, isNotUndefined } from '../../../empty.util'; -import { FormFieldModel } from '../models/form-field.model'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { SubmissionScopeType } from '../../../../core/submission/submission-scope-type'; +import { VocabularyOptions } from '../../../../core/submission/vocabularies/models/vocabulary-options.model'; +import { isNgbDateStruct } from '../../../date.util'; +import { + hasValue, + isNotEmpty, + isNotNull, + isNotUndefined, +} from '../../../empty.util'; +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; import { DynamicRowArrayModel, DynamicRowArrayModelConfig, } from '../ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { FormFieldModel } from '../models/form-field.model'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { RelationshipOptions } from '../models/relationship-options.model'; +import { SectionVisibility } from './../../../../submission/objects/section-visibility.model'; +import { VisibilityType } from './../../../../submission/sections/visibility-type'; import { setLayout } from './parser.utils'; import { ParserOptions } from './parser-options'; -import { RelationshipOptions } from '../models/relationship-options.model'; -import { VocabularyOptions } from '../../../../core/submission/vocabularies/models/vocabulary-options.model'; import { ParserType } from './parser-type'; -import { isNgbDateStruct } from '../../../date.util'; -import { SubmissionScopeType } from '../../../../core/submission/submission-scope-type'; export const SUBMISSION_ID: InjectionToken = new InjectionToken('submissionId'); export const CONFIG_DATA: InjectionToken = new InjectionToken('configData'); diff --git a/src/app/shared/form/builder/parsers/list-field-parser.spec.ts b/src/app/shared/form/builder/parsers/list-field-parser.spec.ts index f1dc743c02..f0a446c0ce 100644 --- a/src/app/shared/form/builder/parsers/list-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/list-field-parser.spec.ts @@ -1,8 +1,8 @@ +import { DynamicListCheckboxGroupModel } from '../ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model'; +import { DynamicListRadioGroupModel } from '../ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model'; import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { ListFieldParser } from './list-field-parser'; -import { DynamicListCheckboxGroupModel } from '../ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model'; -import { DynamicListRadioGroupModel } from '../ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model'; import { ParserOptions } from './parser-options'; describe('ListFieldParser test suite', () => { diff --git a/src/app/shared/form/builder/parsers/list-field-parser.ts b/src/app/shared/form/builder/parsers/list-field-parser.ts index 48211b0aff..f786e888ce 100644 --- a/src/app/shared/form/builder/parsers/list-field-parser.ts +++ b/src/app/shared/form/builder/parsers/list-field-parser.ts @@ -1,8 +1,8 @@ -import { FieldParser } from './field-parser'; import { isNotEmpty } from '../../../empty.util'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { DynamicListCheckboxGroupModel } from '../ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model'; import { DynamicListRadioGroupModel } from '../ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { FieldParser } from './field-parser'; export class ListFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/lookup-field-parser.spec.ts b/src/app/shared/form/builder/parsers/lookup-field-parser.spec.ts index c332a7fb9a..6d57e68643 100644 --- a/src/app/shared/form/builder/parsers/lookup-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/lookup-field-parser.spec.ts @@ -1,7 +1,7 @@ +import { DynamicLookupModel } from '../ds-dynamic-form-ui/models/lookup/dynamic-lookup.model'; import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { LookupFieldParser } from './lookup-field-parser'; -import { DynamicLookupModel } from '../ds-dynamic-form-ui/models/lookup/dynamic-lookup.model'; import { ParserOptions } from './parser-options'; describe('LookupFieldParser test suite', () => { diff --git a/src/app/shared/form/builder/parsers/lookup-field-parser.ts b/src/app/shared/form/builder/parsers/lookup-field-parser.ts index 2c35d2ceb8..de7ba04e76 100644 --- a/src/app/shared/form/builder/parsers/lookup-field-parser.ts +++ b/src/app/shared/form/builder/parsers/lookup-field-parser.ts @@ -1,6 +1,9 @@ -import { FieldParser } from './field-parser'; -import { DynamicLookupModel, DynamicLookupModelConfig } from '../ds-dynamic-form-ui/models/lookup/dynamic-lookup.model'; +import { + DynamicLookupModel, + DynamicLookupModelConfig, +} from '../ds-dynamic-form-ui/models/lookup/dynamic-lookup.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { FieldParser } from './field-parser'; export class LookupFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/lookup-name-field-parser.spec.ts b/src/app/shared/form/builder/parsers/lookup-name-field-parser.spec.ts index 12b8841f58..c6e8df8985 100644 --- a/src/app/shared/form/builder/parsers/lookup-name-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/lookup-name-field-parser.spec.ts @@ -1,7 +1,7 @@ +import { DynamicLookupNameModel } from '../ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model'; import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { LookupNameFieldParser } from './lookup-name-field-parser'; -import { DynamicLookupNameModel } from '../ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model'; import { ParserOptions } from './parser-options'; describe('LookupNameFieldParser test suite', () => { diff --git a/src/app/shared/form/builder/parsers/lookup-name-field-parser.ts b/src/app/shared/form/builder/parsers/lookup-name-field-parser.ts index b52c853e70..0701d7cb7d 100644 --- a/src/app/shared/form/builder/parsers/lookup-name-field-parser.ts +++ b/src/app/shared/form/builder/parsers/lookup-name-field-parser.ts @@ -1,9 +1,9 @@ -import { FieldParser } from './field-parser'; import { DynamicLookupNameModel, DynamicLookupNameModelConfig, } from '../ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { FieldParser } from './field-parser'; export class LookupNameFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/name-field-parser.spec.ts b/src/app/shared/form/builder/parsers/name-field-parser.spec.ts index ab75e6b861..7184e67e96 100644 --- a/src/app/shared/form/builder/parsers/name-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/name-field-parser.spec.ts @@ -1,7 +1,7 @@ -import { FormFieldModel } from '../models/form-field.model'; -import { NameFieldParser } from './name-field-parser'; import { DynamicConcatModel } from '../ds-dynamic-form-ui/models/ds-dynamic-concat.model'; +import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { NameFieldParser } from './name-field-parser'; import { ParserOptions } from './parser-options'; describe('NameFieldParser test suite', () => { diff --git a/src/app/shared/form/builder/parsers/name-field-parser.ts b/src/app/shared/form/builder/parsers/name-field-parser.ts index 66bc92c735..1c0fbd6d01 100644 --- a/src/app/shared/form/builder/parsers/name-field-parser.ts +++ b/src/app/shared/form/builder/parsers/name-field-parser.ts @@ -1,7 +1,13 @@ import { Inject } from '@angular/core'; + import { FormFieldModel } from '../models/form-field.model'; import { ConcatFieldParser } from './concat-field-parser'; -import { CONFIG_DATA, INIT_FORM_VALUES, PARSER_OPTIONS, SUBMISSION_ID } from './field-parser'; +import { + CONFIG_DATA, + INIT_FORM_VALUES, + PARSER_OPTIONS, + SUBMISSION_ID, +} from './field-parser'; import { ParserOptions } from './parser-options'; export class NameFieldParser extends ConcatFieldParser { diff --git a/src/app/shared/form/builder/parsers/onebox-field-parser.spec.ts b/src/app/shared/form/builder/parsers/onebox-field-parser.spec.ts index 6a08472142..467431d963 100644 --- a/src/app/shared/form/builder/parsers/onebox-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/onebox-field-parser.spec.ts @@ -1,10 +1,10 @@ -import { FormFieldModel } from '../models/form-field.model'; -import { OneboxFieldParser } from './onebox-field-parser'; +import { DsDynamicInputModel } from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; import { DynamicQualdropModel } from '../ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; import { DynamicOneboxModel } from '../ds-dynamic-form-ui/models/onebox/dynamic-onebox.model'; -import { DsDynamicInputModel } from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; -import { ParserOptions } from './parser-options'; +import { FormFieldModel } from '../models/form-field.model'; import { FieldParser } from './field-parser'; +import { OneboxFieldParser } from './onebox-field-parser'; +import { ParserOptions } from './parser-options'; describe('OneboxFieldParser test suite', () => { let field1: FormFieldModel; diff --git a/src/app/shared/form/builder/parsers/onebox-field-parser.ts b/src/app/shared/form/builder/parsers/onebox-field-parser.ts index 585c5dbe5b..2b994146c7 100644 --- a/src/app/shared/form/builder/parsers/onebox-field-parser.ts +++ b/src/app/shared/form/builder/parsers/onebox-field-parser.ts @@ -1,6 +1,13 @@ -import { DynamicSelectModel, DynamicSelectModelConfig } from '@ng-dynamic-forms/core'; +import { + DynamicSelectModel, + DynamicSelectModelConfig, +} from '@ng-dynamic-forms/core'; -import { FieldParser } from './field-parser'; +import { isNotEmpty } from '../../../empty.util'; +import { + DsDynamicInputModel, + DsDynamicInputModelConfig, +} from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; import { DsDynamicQualdropModelConfig, DynamicQualdropModel, @@ -8,13 +15,12 @@ import { QUALDROP_METADATA_SUFFIX, QUALDROP_VALUE_SUFFIX, } from '../ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; -import { isNotEmpty } from '../../../empty.util'; -import { DsDynamicInputModel, DsDynamicInputModelConfig } from '../ds-dynamic-form-ui/models/ds-dynamic-input.model'; import { DsDynamicOneboxModelConfig, DynamicOneboxModel, } from '../ds-dynamic-form-ui/models/onebox/dynamic-onebox.model'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { FieldParser } from './field-parser'; export class OneboxFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/parser-factory.ts b/src/app/shared/form/builder/parsers/parser-factory.ts index 7afad3b505..439baf4d4b 100644 --- a/src/app/shared/form/builder/parsers/parser-factory.ts +++ b/src/app/shared/form/builder/parsers/parser-factory.ts @@ -1,5 +1,8 @@ import { StaticProvider } from '@angular/core'; -import { ParserType } from './parser-type'; + +import { DateFieldParser } from './date-field-parser'; +import { DisabledFieldParser } from './disabled-field-parser'; +import { DropdownFieldParser } from './dropdown-field-parser'; import { CONFIG_DATA, FieldParser, @@ -7,18 +10,16 @@ import { PARSER_OPTIONS, SUBMISSION_ID, } from './field-parser'; -import { DateFieldParser } from './date-field-parser'; -import { DropdownFieldParser } from './dropdown-field-parser'; -import { RelationGroupFieldParser } from './relation-group-field-parser'; import { ListFieldParser } from './list-field-parser'; import { LookupFieldParser } from './lookup-field-parser'; import { LookupNameFieldParser } from './lookup-name-field-parser'; -import { OneboxFieldParser } from './onebox-field-parser'; import { NameFieldParser } from './name-field-parser'; +import { OneboxFieldParser } from './onebox-field-parser'; +import { ParserType } from './parser-type'; +import { RelationGroupFieldParser } from './relation-group-field-parser'; import { SeriesFieldParser } from './series-field-parser'; import { TagFieldParser } from './tag-field-parser'; import { TextareaFieldParser } from './textarea-field-parser'; -import { DisabledFieldParser } from './disabled-field-parser'; const fieldParserDeps = [ SUBMISSION_ID, diff --git a/src/app/shared/form/builder/parsers/parser.utils.ts b/src/app/shared/form/builder/parsers/parser.utils.ts index 734ec4b83a..e8b23b257d 100644 --- a/src/app/shared/form/builder/parsers/parser.utils.ts +++ b/src/app/shared/form/builder/parsers/parser.utils.ts @@ -1,5 +1,12 @@ -import { isNull, isUndefined } from '../../../empty.util'; -import { DynamicFormControlLayout, DynamicFormControlLayoutConfig } from '@ng-dynamic-forms/core'; +import { + DynamicFormControlLayout, + DynamicFormControlLayoutConfig, +} from '@ng-dynamic-forms/core'; + +import { + isNull, + isUndefined, +} from '../../../empty.util'; export function setLayout(model: any, controlLayout: string, controlLayoutConfig: string, style: string) { if (isNull(model.layout)) { diff --git a/src/app/shared/form/builder/parsers/relation-group-field-parser.spec.ts b/src/app/shared/form/builder/parsers/relation-group-field-parser.spec.ts index 1931bb26f8..ef4f0f709a 100644 --- a/src/app/shared/form/builder/parsers/relation-group-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/relation-group-field-parser.spec.ts @@ -1,8 +1,8 @@ -import { FormFieldModel } from '../models/form-field.model'; -import { RelationGroupFieldParser } from './relation-group-field-parser'; import { DynamicRelationGroupModel } from '../ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; +import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { ParserOptions } from './parser-options'; +import { RelationGroupFieldParser } from './relation-group-field-parser'; describe('RelationGroupFieldParser test suite', () => { let field: FormFieldModel; diff --git a/src/app/shared/form/builder/parsers/relation-group-field-parser.ts b/src/app/shared/form/builder/parsers/relation-group-field-parser.ts index cd1b834c5b..112bfdaf24 100644 --- a/src/app/shared/form/builder/parsers/relation-group-field-parser.ts +++ b/src/app/shared/form/builder/parsers/relation-group-field-parser.ts @@ -1,14 +1,13 @@ -import { FieldParser } from './field-parser'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; -import { FormFieldModel } from '../models/form-field.model'; - +import { FormRowModel } from '../../../../core/config/models/config-submission-form.model'; import { isNotEmpty } from '../../../empty.util'; +import { PLACEHOLDER_PARENT_METADATA } from '../ds-dynamic-form-ui/ds-dynamic-form-constants'; import { DynamicRelationGroupModel, DynamicRelationGroupModelConfig, } from '../ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; -import { FormRowModel } from '../../../../core/config/models/config-submission-form.model'; -import { PLACEHOLDER_PARENT_METADATA } from '../ds-dynamic-form-ui/ds-dynamic-form-constants'; +import { FormFieldModel } from '../models/form-field.model'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { FieldParser } from './field-parser'; export class RelationGroupFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/row-parser.spec.ts b/src/app/shared/form/builder/parsers/row-parser.spec.ts index 6e6c410422..9fde7cc839 100644 --- a/src/app/shared/form/builder/parsers/row-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/row-parser.spec.ts @@ -1,8 +1,8 @@ +import { FormRowModel } from '../../../../core/config/models/config-submission-form.model'; +import { DynamicRowArrayModel } from '../ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; +import { DynamicRowGroupModel } from '../ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; import { FormFieldModel } from '../models/form-field.model'; import { RowParser } from './row-parser'; -import { DynamicRowGroupModel } from '../ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; -import { DynamicRowArrayModel } from '../ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; -import { FormRowModel } from '../../../../core/config/models/config-submission-form.model'; describe('RowParser test suite', () => { diff --git a/src/app/shared/form/builder/parsers/row-parser.ts b/src/app/shared/form/builder/parsers/row-parser.ts index 0840f7d2c3..97c9cb8257 100644 --- a/src/app/shared/form/builder/parsers/row-parser.ts +++ b/src/app/shared/form/builder/parsers/row-parser.ts @@ -1,20 +1,34 @@ -import { SubmissionFieldScopeType } from './../../../../core/submission/submission-field-scope-type'; -import { SectionVisibility } from './../../../../submission/objects/section-visibility.model'; -import { Injectable, Injector } from '@angular/core'; - -import { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DynamicFormGroupModelConfig } from '@ng-dynamic-forms/core'; +import { + Injectable, + Injector, +} from '@angular/core'; +import { + DYNAMIC_FORM_CONTROL_TYPE_ARRAY, + DynamicFormGroupModelConfig, +} from '@ng-dynamic-forms/core'; import uniqueId from 'lodash/uniqueId'; -import { isEmpty, isNotEmpty } from '../../../empty.util'; +import { SubmissionScopeType } from '../../../../core/submission/submission-scope-type'; +import { + isEmpty, + isNotEmpty, +} from '../../../empty.util'; +import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from '../ds-dynamic-form-ui/ds-dynamic-form-constants'; import { DynamicRowGroupModel } from '../ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; import { FormFieldModel } from '../models/form-field.model'; -import { CONFIG_DATA, FieldParser, INIT_FORM_VALUES, PARSER_OPTIONS, SUBMISSION_ID } from './field-parser'; +import { SubmissionFieldScopeType } from './../../../../core/submission/submission-field-scope-type'; +import { SectionVisibility } from './../../../../submission/objects/section-visibility.model'; +import { + CONFIG_DATA, + FieldParser, + INIT_FORM_VALUES, + PARSER_OPTIONS, + SUBMISSION_ID, +} from './field-parser'; +import { setLayout } from './parser.utils'; import { ParserFactory } from './parser-factory'; import { ParserOptions } from './parser-options'; import { ParserType } from './parser-type'; -import { setLayout } from './parser.utils'; -import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from '../ds-dynamic-form-ui/ds-dynamic-form-constants'; -import { SubmissionScopeType } from '../../../../core/submission/submission-scope-type'; export const ROW_ID_PREFIX = 'df-row-group-config-'; diff --git a/src/app/shared/form/builder/parsers/series-field-parser.spec.ts b/src/app/shared/form/builder/parsers/series-field-parser.spec.ts index edab7a6e50..d4b37e5d7f 100644 --- a/src/app/shared/form/builder/parsers/series-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/series-field-parser.spec.ts @@ -1,8 +1,8 @@ -import { FormFieldModel } from '../models/form-field.model'; import { DynamicConcatModel } from '../ds-dynamic-form-ui/models/ds-dynamic-concat.model'; -import { SeriesFieldParser } from './series-field-parser'; +import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; import { ParserOptions } from './parser-options'; +import { SeriesFieldParser } from './series-field-parser'; describe('SeriesFieldParser test suite', () => { let field: FormFieldModel; diff --git a/src/app/shared/form/builder/parsers/series-field-parser.ts b/src/app/shared/form/builder/parsers/series-field-parser.ts index cc1e8ab3bd..ce85d07d29 100644 --- a/src/app/shared/form/builder/parsers/series-field-parser.ts +++ b/src/app/shared/form/builder/parsers/series-field-parser.ts @@ -1,7 +1,13 @@ import { Inject } from '@angular/core'; + import { FormFieldModel } from '../models/form-field.model'; import { ConcatFieldParser } from './concat-field-parser'; -import { CONFIG_DATA, INIT_FORM_VALUES, PARSER_OPTIONS, SUBMISSION_ID } from './field-parser'; +import { + CONFIG_DATA, + INIT_FORM_VALUES, + PARSER_OPTIONS, + SUBMISSION_ID, +} from './field-parser'; import { ParserOptions } from './parser-options'; export class SeriesFieldParser extends ConcatFieldParser { diff --git a/src/app/shared/form/builder/parsers/tag-field-parser.spec.ts b/src/app/shared/form/builder/parsers/tag-field-parser.spec.ts index cde1ce9323..571d06d983 100644 --- a/src/app/shared/form/builder/parsers/tag-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/tag-field-parser.spec.ts @@ -1,8 +1,8 @@ +import { DynamicTagModel } from '../ds-dynamic-form-ui/models/tag/dynamic-tag.model'; import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; -import { TagFieldParser } from './tag-field-parser'; -import { DynamicTagModel } from '../ds-dynamic-form-ui/models/tag/dynamic-tag.model'; import { ParserOptions } from './parser-options'; +import { TagFieldParser } from './tag-field-parser'; describe('TagFieldParser test suite', () => { let field: FormFieldModel; diff --git a/src/app/shared/form/builder/parsers/tag-field-parser.ts b/src/app/shared/form/builder/parsers/tag-field-parser.ts index dcc2c5575f..5c3f2e60bc 100644 --- a/src/app/shared/form/builder/parsers/tag-field-parser.ts +++ b/src/app/shared/form/builder/parsers/tag-field-parser.ts @@ -1,6 +1,9 @@ -import { FieldParser } from './field-parser'; +import { + DynamicTagModel, + DynamicTagModelConfig, +} from '../ds-dynamic-form-ui/models/tag/dynamic-tag.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; -import { DynamicTagModel, DynamicTagModelConfig } from '../ds-dynamic-form-ui/models/tag/dynamic-tag.model'; +import { FieldParser } from './field-parser'; export class TagFieldParser extends FieldParser { diff --git a/src/app/shared/form/builder/parsers/textarea-field-parser.spec.ts b/src/app/shared/form/builder/parsers/textarea-field-parser.spec.ts index 48acae016f..95fef2103c 100644 --- a/src/app/shared/form/builder/parsers/textarea-field-parser.spec.ts +++ b/src/app/shared/form/builder/parsers/textarea-field-parser.spec.ts @@ -1,8 +1,8 @@ +import { DsDynamicTextAreaModel } from '../ds-dynamic-form-ui/models/ds-dynamic-textarea.model'; import { FormFieldModel } from '../models/form-field.model'; import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; -import { TextareaFieldParser } from './textarea-field-parser'; -import { DsDynamicTextAreaModel } from '../ds-dynamic-form-ui/models/ds-dynamic-textarea.model'; import { ParserOptions } from './parser-options'; +import { TextareaFieldParser } from './textarea-field-parser'; describe('TextareaFieldParser test suite', () => { let field: FormFieldModel; diff --git a/src/app/shared/form/builder/parsers/textarea-field-parser.ts b/src/app/shared/form/builder/parsers/textarea-field-parser.ts index d738a428cb..c253899b3d 100644 --- a/src/app/shared/form/builder/parsers/textarea-field-parser.ts +++ b/src/app/shared/form/builder/parsers/textarea-field-parser.ts @@ -1,10 +1,10 @@ -import { FieldParser } from './field-parser'; -import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { environment } from '../../../../../environments/environment'; import { DsDynamicTextAreaModel, DsDynamicTextAreaModelConfig, } from '../ds-dynamic-form-ui/models/ds-dynamic-textarea.model'; -import { environment } from '../../../../../environments/environment'; +import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model'; +import { FieldParser } from './field-parser'; export class TextareaFieldParser extends FieldParser { diff --git a/src/app/shared/form/chips/chips.component.spec.ts b/src/app/shared/form/chips/chips.component.spec.ts index 8d59466479..ea6aa80882 100644 --- a/src/app/shared/form/chips/chips.component.spec.ts +++ b/src/app/shared/form/chips/chips.component.spec.ts @@ -1,18 +1,29 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; - -import { Chips } from './models/chips.model'; -import { ChipsComponent } from './chips.component'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { FormFieldMetadataValueObject } from '../builder/models/form-field-metadata-value.model'; -import { createTestComponent } from '../../testing/utils.test'; -import { AuthorityConfidenceStateDirective } from '../directives/authority-confidence-state.directive'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; -import { ConfidenceType } from '../../../core/shared/confidence-type'; import { SortablejsModule } from 'ngx-sortablejs'; + import { environment } from '../../../../environments/environment'; +import { ConfidenceType } from '../../../core/shared/confidence-type'; +import { createTestComponent } from '../../testing/utils.test'; +import { FormFieldMetadataValueObject } from '../builder/models/form-field-metadata-value.model'; +import { AuthorityConfidenceStateDirective } from '../directives/authority-confidence-state.directive'; +import { ChipsComponent } from './chips.component'; +import { Chips } from './models/chips.model'; describe('ChipsComponent test suite', () => { diff --git a/src/app/shared/form/chips/chips.component.ts b/src/app/shared/form/chips/chips.component.ts index b497e5ee28..00addb06c7 100644 --- a/src/app/shared/form/chips/chips.component.ts +++ b/src/app/shared/form/chips/chips.component.ts @@ -1,14 +1,21 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; - +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnChanges, + Output, + SimpleChanges, +} from '@angular/core'; import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; import isObject from 'lodash/isObject'; +import { BehaviorSubject } from 'rxjs'; +import { Options } from 'sortablejs'; +import { DragService } from '../../../core/drag.service'; import { Chips } from './models/chips.model'; import { ChipsItem } from './models/chips-item.model'; -import { DragService } from '../../../core/drag.service'; -import { TranslateService } from '@ngx-translate/core'; -import { Options } from 'sortablejs'; -import { BehaviorSubject } from 'rxjs'; @Component({ selector: 'ds-chips', diff --git a/src/app/shared/form/chips/models/chips-item.model.spec.ts b/src/app/shared/form/chips/models/chips-item.model.spec.ts index 49a368f197..fd02032b25 100644 --- a/src/app/shared/form/chips/models/chips-item.model.spec.ts +++ b/src/app/shared/form/chips/models/chips-item.model.spec.ts @@ -1,5 +1,8 @@ -import { ChipsItem, ChipsItemIcon } from './chips-item.model'; import { FormFieldMetadataValueObject } from '../../builder/models/form-field-metadata-value.model'; +import { + ChipsItem, + ChipsItemIcon, +} from './chips-item.model'; describe('ChipsItem model test suite', () => { let item: ChipsItem; diff --git a/src/app/shared/form/chips/models/chips-item.model.ts b/src/app/shared/form/chips/models/chips-item.model.ts index b2c2a299e1..a2c6033ff8 100644 --- a/src/app/shared/form/chips/models/chips-item.model.ts +++ b/src/app/shared/form/chips/models/chips-item.model.ts @@ -1,9 +1,13 @@ import isObject from 'lodash/isObject'; import uniqueId from 'lodash/uniqueId'; -import { hasValue, isNotEmpty } from '../../../empty.util'; -import { FormFieldMetadataValueObject } from '../../builder/models/form-field-metadata-value.model'; + import { ConfidenceType } from '../../../../core/shared/confidence-type'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; import { PLACEHOLDER_PARENT_METADATA } from '../../builder/ds-dynamic-form-ui/ds-dynamic-form-constants'; +import { FormFieldMetadataValueObject } from '../../builder/models/form-field-metadata-value.model'; export interface ChipsItemIcon { metadata: string; diff --git a/src/app/shared/form/chips/models/chips.model.spec.ts b/src/app/shared/form/chips/models/chips.model.spec.ts index f2b6fe8f7e..eee87fef74 100644 --- a/src/app/shared/form/chips/models/chips.model.spec.ts +++ b/src/app/shared/form/chips/models/chips.model.spec.ts @@ -1,6 +1,6 @@ +import { FormFieldMetadataValueObject } from '../../builder/models/form-field-metadata-value.model'; import { Chips } from './chips.model'; import { ChipsItem } from './chips-item.model'; -import { FormFieldMetadataValueObject } from '../../builder/models/form-field-metadata-value.model'; describe('Chips model test suite', () => { let items: any[]; diff --git a/src/app/shared/form/chips/models/chips.model.ts b/src/app/shared/form/chips/models/chips.model.ts index b8cb063e62..988af8a1e0 100644 --- a/src/app/shared/form/chips/models/chips.model.ts +++ b/src/app/shared/form/chips/models/chips.model.ts @@ -2,12 +2,16 @@ import findIndex from 'lodash/findIndex'; import isEqual from 'lodash/isEqual'; import isObject from 'lodash/isObject'; import { BehaviorSubject } from 'rxjs'; -import { ChipsItem } from './chips-item.model'; -import { hasValue, isNotEmpty } from '../../../empty.util'; + import { MetadataIconConfig } from '../../../../../config/submission-config.interface'; -import { FormFieldMetadataValueObject } from '../../builder/models/form-field-metadata-value.model'; import { VocabularyEntry } from '../../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; import { PLACEHOLDER_PARENT_METADATA } from '../../builder/ds-dynamic-form-ui/ds-dynamic-form-constants'; +import { FormFieldMetadataValueObject } from '../../builder/models/form-field-metadata-value.model'; +import { ChipsItem } from './chips-item.model'; export class Chips { chipsItems: BehaviorSubject; diff --git a/src/app/shared/form/directives/authority-confidence-state.directive.ts b/src/app/shared/form/directives/authority-confidence-state.directive.ts index 9bd5f1d2c2..c229c0fbfa 100644 --- a/src/app/shared/form/directives/authority-confidence-state.directive.ts +++ b/src/app/shared/form/directives/authority-confidence-state.directive.ts @@ -18,16 +18,18 @@ import { Renderer2, SimpleChanges, } from '@angular/core'; - import findIndex from 'lodash/findIndex'; -import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { FormFieldMetadataValueObject } from '../builder/models/form-field-metadata-value.model'; -import { ConfidenceType } from '../../../core/shared/confidence-type'; -import { isNotEmpty, isNull } from '../../empty.util'; import { ConfidenceIconConfig } from '../../../../config/submission-config.interface'; import { environment } from '../../../../environments/environment'; +import { ConfidenceType } from '../../../core/shared/confidence-type'; +import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { + isNotEmpty, + isNull, +} from '../../empty.util'; +import { FormFieldMetadataValueObject } from '../builder/models/form-field-metadata-value.model'; /** * Directive to add to the element a bootstrap utility class based on metadata confidence value diff --git a/src/app/shared/form/form.component.spec.ts b/src/app/shared/form/form.component.spec.ts index df9c683b40..edbe1ab610 100644 --- a/src/app/shared/form/form.component.spec.ts +++ b/src/app/shared/form/form.component.spec.ts @@ -1,8 +1,21 @@ -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { DynamicFormArrayModel, DynamicFormControlEvent, @@ -10,20 +23,25 @@ import { DynamicFormValidationService, DynamicInputModel, } from '@ng-dynamic-forms/core'; -import { Store, StoreModule } from '@ngrx/store'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; - -import { FormComponent } from './form.component'; -import { FormService } from './form.service'; -import { FormBuilderService } from './builder/form-builder.service'; -import { FormState } from './form.reducer'; -import { FormChangeAction, FormStatusChangeAction } from './form.actions'; -import { StoreMock } from '../testing/store.mock'; -import { FormFieldMetadataValueObject } from './builder/models/form-field-metadata-value.model'; -import { createTestComponent } from '../testing/utils.test'; import { BehaviorSubject } from 'rxjs'; + import { storeModuleConfig } from '../../app.reducer'; +import { StoreMock } from '../testing/store.mock'; +import { createTestComponent } from '../testing/utils.test'; +import { FormBuilderService } from './builder/form-builder.service'; +import { FormFieldMetadataValueObject } from './builder/models/form-field-metadata-value.model'; +import { + FormChangeAction, + FormStatusChangeAction, +} from './form.actions'; +import { FormComponent } from './form.component'; +import { FormState } from './form.reducer'; +import { FormService } from './form.service'; let TEST_FORM_MODEL; diff --git a/src/app/shared/form/form.component.ts b/src/app/shared/form/form.component.ts index a4054861b8..c449cee89d 100644 --- a/src/app/shared/form/form.component.ts +++ b/src/app/shared/form/form.component.ts @@ -1,8 +1,19 @@ -import { distinctUntilChanged, filter, map } from 'rxjs/operators'; -import { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; -import { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; - -import { Observable, Subscription } from 'rxjs'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { + AbstractControl, + UntypedFormArray, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; import { DynamicFormArrayModel, DynamicFormControlEvent, @@ -10,14 +21,30 @@ import { DynamicFormGroupModel, DynamicFormLayout, } from '@ng-dynamic-forms/core'; -import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; import findIndex from 'lodash/findIndex'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, +} from 'rxjs/operators'; +import { + hasValue, + isNotEmpty, + isNotNull, + isNull, +} from '../empty.util'; import { FormBuilderService } from './builder/form-builder.service'; -import { hasValue, isNotEmpty, isNotNull, isNull } from '../empty.util'; -import { FormService } from './form.service'; -import { FormEntry, FormError } from './form.reducer'; import { FormFieldMetadataValueObject } from './builder/models/form-field-metadata-value.model'; +import { + FormEntry, + FormError, +} from './form.reducer'; +import { FormService } from './form.service'; /** * The default form component. diff --git a/src/app/shared/form/form.module.ts b/src/app/shared/form/form.module.ts index 4a4d6c0fe3..5e3c26be92 100644 --- a/src/app/shared/form/form.module.ts +++ b/src/app/shared/form/form.module.ts @@ -1,47 +1,60 @@ -import { NgModule } from '@angular/core'; +import { CdkTreeModule } from '@angular/cdk/tree'; import { CommonModule } from '@angular/common'; -import { FormComponent } from './form.component'; -import { DsDynamicFormComponent } from './builder/ds-dynamic-form-ui/ds-dynamic-form.component'; -import { DsDynamicFormControlContainerComponent, dsDynamicFormControlMapFn } from './builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component'; -import { DsDynamicListComponent } from './builder/ds-dynamic-form-ui/models/list/dynamic-list.component'; -import { DsDynamicLookupComponent } from './builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component'; -import { DsDynamicDisabledComponent } from './builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component'; -import { DsDynamicLookupRelationModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component'; -import { DsDynamicScrollableDropdownComponent } from './builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component'; -import { DsDynamicTagComponent } from './builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component'; -import { DsDynamicOneboxComponent } from './builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component'; -import { DsDynamicRelationGroupComponent } from './builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.components'; -import { DsDatePickerComponent } from './builder/ds-dynamic-form-ui/models/date-picker/date-picker.component'; -import { DsDynamicFormGroupComponent } from './builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component'; -import { DsDynamicFormArrayComponent } from './builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component'; -import { DsDatePickerInlineComponent } from './builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component'; -import { DsDynamicLookupRelationSearchTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; -import { DsDynamicLookupRelationSelectionTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component'; -import { DsDynamicLookupRelationExternalSourceTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; -import { SharedModule } from '../shared.module'; +import { NgModule } from '@angular/core'; +import { + NgbDatepickerModule, + NgbTimepickerModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + DYNAMIC_FORM_CONTROL_MAP_FN, + DynamicFormLayoutService, + DynamicFormsCoreModule, + DynamicFormService, + DynamicFormValidationService, +} from '@ng-dynamic-forms/core'; +import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { NgxMaskModule } from 'ngx-mask'; +import { SortablejsModule } from 'ngx-sortablejs'; + import { SearchModule } from '../search/search.module'; -import { DYNAMIC_FORM_CONTROL_MAP_FN, DynamicFormLayoutService, DynamicFormsCoreModule, DynamicFormService, DynamicFormValidationService } from '@ng-dynamic-forms/core'; +import { SharedModule } from '../shared.module'; +import { DsDynamicFormComponent } from './builder/ds-dynamic-form-ui/ds-dynamic-form.component'; +import { + DsDynamicFormControlContainerComponent, + dsDynamicFormControlMapFn, +} from './builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component'; +import { DsDynamicTypeBindRelationService } from './builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service'; import { ExistingMetadataListElementComponent } from './builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component'; import { ExistingRelationListElementComponent } from './builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component'; -import { ExternalSourceEntryImportModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; +import { DsDynamicFormArrayComponent } from './builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component'; import { CustomSwitchComponent } from './builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component'; -import { DynamicFormsNGBootstrapUIModule } from '@ng-dynamic-forms/ui-ng-bootstrap'; +import { DsDatePickerComponent } from './builder/ds-dynamic-form-ui/models/date-picker/date-picker.component'; +import { DsDatePickerInlineComponent } from './builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component'; +import { DsDynamicDisabledComponent } from './builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component'; +import { DsDynamicFormGroupComponent } from './builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component'; +import { DsDynamicListComponent } from './builder/ds-dynamic-form-ui/models/list/dynamic-list.component'; +import { DsDynamicLookupComponent } from './builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component'; +import { DsDynamicOneboxComponent } from './builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component'; +import { DsDynamicRelationGroupComponent } from './builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.components'; +import { DsDynamicScrollableDropdownComponent } from './builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component'; +import { DsDynamicTagComponent } from './builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component'; +import { DsDynamicLookupRelationModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component'; +import { DsDynamicLookupRelationExternalSourceTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; +import { ExternalSourceEntryImportModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; +import { ThemedExternalSourceEntryImportModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component'; +import { ThemedDynamicLookupRelationExternalSourceTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component'; +import { DsDynamicLookupRelationSearchTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; +import { ThemedDynamicLookupRelationSearchTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component'; +import { DsDynamicLookupRelationSelectionTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component'; +import { FormBuilderService } from './builder/form-builder.service'; import { ChipsComponent } from './chips/chips.component'; -import { NumberPickerComponent } from './number-picker/number-picker.component'; import { AuthorityConfidenceStateDirective } from './directives/authority-confidence-state.directive'; -import { SortablejsModule } from 'ngx-sortablejs'; +import { FormComponent } from './form.component'; +import { FormService } from './form.service'; +import { NumberPickerComponent } from './number-picker/number-picker.component'; import { VocabularyTreeviewComponent } from './vocabulary-treeview/vocabulary-treeview.component'; import { VocabularyTreeviewModalComponent } from './vocabulary-treeview-modal/vocabulary-treeview-modal.component'; -import { FormBuilderService } from './builder/form-builder.service'; -import { DsDynamicTypeBindRelationService } from './builder/ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service'; -import { FormService } from './form.service'; -import { NgxMaskModule } from 'ngx-mask'; -import { ThemedExternalSourceEntryImportModalComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/themed-external-source-entry-import-modal.component'; -import { NgbDatepickerModule, NgbTimepickerModule } from '@ng-bootstrap/ng-bootstrap'; -import { CdkTreeModule } from '@angular/cdk/tree'; -import { ThemedDynamicLookupRelationSearchTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/themed-dynamic-lookup-relation-search-tab.component'; -import { ThemedDynamicLookupRelationExternalSourceTabComponent } from './builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/themed-dynamic-lookup-relation-external-source-tab.component'; const COMPONENTS = [ CustomSwitchComponent, diff --git a/src/app/shared/form/form.reducer.spec.ts b/src/app/shared/form/form.reducer.spec.ts index 5f78c6d1b6..d79d3404db 100644 --- a/src/app/shared/form/form.reducer.spec.ts +++ b/src/app/shared/form/form.reducer.spec.ts @@ -1,4 +1,3 @@ -import { formReducer } from './form.reducer'; import { FormAddError, FormAddTouchedAction, @@ -9,6 +8,7 @@ import { FormRemoveErrorAction, FormStatusChangeAction, } from './form.actions'; +import { formReducer } from './form.reducer'; describe('formReducer', () => { diff --git a/src/app/shared/form/form.reducer.ts b/src/app/shared/form/form.reducer.ts index ec47d2e787..c4947a3cd9 100644 --- a/src/app/shared/form/form.reducer.ts +++ b/src/app/shared/form/form.reducer.ts @@ -1,3 +1,7 @@ +import isEqual from 'lodash/isEqual'; +import uniqWith from 'lodash/uniqWith'; + +import { hasValue } from '../empty.util'; import { FormAction, FormActionTypes, @@ -10,9 +14,6 @@ import { FormRemoveErrorAction, FormStatusChangeAction, } from './form.actions'; -import { hasValue } from '../empty.util'; -import isEqual from 'lodash/isEqual'; -import uniqWith from 'lodash/uniqWith'; export interface FormError { message: string; diff --git a/src/app/shared/form/form.service.spec.ts b/src/app/shared/form/form.service.spec.ts index 0515a932d8..a5c09c5854 100644 --- a/src/app/shared/form/form.service.spec.ts +++ b/src/app/shared/form/form.service.spec.ts @@ -1,14 +1,29 @@ -import { Store, StoreModule } from '@ngrx/store'; -import { inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { AbstractControl, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; +import { + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + AbstractControl, + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { + DynamicFormControlModel, + DynamicFormGroupModel, + DynamicInputModel, +} from '@ng-dynamic-forms/core'; +import { + Store, + StoreModule, +} from '@ngrx/store'; -import { DynamicFormControlModel, DynamicFormGroupModel, DynamicInputModel } from '@ng-dynamic-forms/core'; - -import { FormService } from './form.service'; -import { FormBuilderService } from './builder/form-builder.service'; import { AppState } from '../../app.reducer'; -import { formReducer } from './form.reducer'; import { getMockFormBuilderService } from '../mocks/form-builder-service.mock'; +import { FormBuilderService } from './builder/form-builder.service'; +import { formReducer } from './form.reducer'; +import { FormService } from './form.service'; describe('FormService test suite', () => { const config = { diff --git a/src/app/shared/form/form.service.ts b/src/app/shared/form/form.service.ts index 704be58eff..35da58f5f6 100644 --- a/src/app/shared/form/form.service.ts +++ b/src/app/shared/form/form.service.ts @@ -1,15 +1,34 @@ -import { distinctUntilChanged, filter, map } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; -import { Observable } from 'rxjs'; -import { select, Store } from '@ngrx/store'; - -import { AppState } from '../../app.reducer'; -import { formObjectFromIdSelector } from './selectors'; -import { FormBuilderService } from './builder/form-builder.service'; -import { DynamicFormControlEvent, DynamicFormControlModel, DynamicFormGroupModel } from '@ng-dynamic-forms/core'; -import { isEmpty, isNotUndefined } from '../empty.util'; +import { + AbstractControl, + UntypedFormArray, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { + DynamicFormControlEvent, + DynamicFormControlModel, + DynamicFormGroupModel, +} from '@ng-dynamic-forms/core'; +import { + select, + Store, +} from '@ngrx/store'; import uniqueId from 'lodash/uniqueId'; +import { Observable } from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, +} from 'rxjs/operators'; + +import { environment } from '../../../environments/environment'; +import { AppState } from '../../app.reducer'; +import { + isEmpty, + isNotUndefined, +} from '../empty.util'; +import { FormBuilderService } from './builder/form-builder.service'; import { FormAddError, FormAddTouchedAction, @@ -19,8 +38,12 @@ import { FormRemoveErrorAction, FormStatusChangeAction, } from './form.actions'; -import { FormEntry, FormError, FormTouchedState } from './form.reducer'; -import { environment } from '../../../environments/environment'; +import { + FormEntry, + FormError, + FormTouchedState, +} from './form.reducer'; +import { formObjectFromIdSelector } from './selectors'; @Injectable() export class FormService { diff --git a/src/app/shared/form/number-picker/number-picker.component.spec.ts b/src/app/shared/form/number-picker/number-picker.component.spec.ts index 1e7923f8a6..cdd102ce6b 100644 --- a/src/app/shared/form/number-picker/number-picker.component.spec.ts +++ b/src/app/shared/form/number-picker/number-picker.component.spec.ts @@ -1,12 +1,24 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { NumberPickerComponent } from './number-picker.component'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; + import { createTestComponent } from '../../testing/utils.test'; +import { NumberPickerComponent } from './number-picker.component'; describe('NumberPickerComponent test suite', () => { diff --git a/src/app/shared/form/number-picker/number-picker.component.ts b/src/app/shared/form/number-picker/number-picker.component.ts index 191210b4b8..66312a7d69 100644 --- a/src/app/shared/form/number-picker/number-picker.component.ts +++ b/src/app/shared/form/number-picker/number-picker.component.ts @@ -1,5 +1,18 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core'; -import { ControlValueAccessor, UntypedFormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnInit, + Output, + SimpleChanges, +} from '@angular/core'; +import { + ControlValueAccessor, + NG_VALUE_ACCESSOR, + UntypedFormBuilder, +} from '@angular/forms'; + import { isEmpty } from '../../empty.util'; @Component({ diff --git a/src/app/shared/form/selectors.ts b/src/app/shared/form/selectors.ts index aeefb5f984..95fdb19178 100644 --- a/src/app/shared/form/selectors.ts +++ b/src/app/shared/form/selectors.ts @@ -1,7 +1,13 @@ -import { createSelector, MemoizedSelector } from '@ngrx/store'; +import { + createSelector, + MemoizedSelector, +} from '@ngrx/store'; import { AppState } from '../../app.reducer'; -import { FormEntry, FormState } from './form.reducer'; +import { + FormEntry, + FormState, +} from './form.reducer'; export const formStateSelector = (state: AppState) => state.forms; diff --git a/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.spec.ts b/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.spec.ts index 87a54a3310..53b265a2b6 100644 --- a/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.spec.ts +++ b/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.spec.ts @@ -1,9 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { VocabularyTreeviewModalComponent } from './vocabulary-treeview-modal.component'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { VocabularyTreeviewModalComponent } from './vocabulary-treeview-modal.component'; + describe('VocabularyTreeviewModalComponent', () => { let component: VocabularyTreeviewModalComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.ts b/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.ts index c6d9df5fc1..484684b0b3 100644 --- a/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.ts +++ b/src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; + import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; @Component({ selector: 'ds-vocabulary-treeview-modal', diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flat-data-source.ts b/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flat-data-source.ts index 44f6100780..5c6279aa0d 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flat-data-source.ts +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flat-data-source.ts @@ -1,8 +1,15 @@ -import { CollectionViewer, DataSource } from '@angular/cdk/collections'; +import { + CollectionViewer, + DataSource, +} from '@angular/cdk/collections'; import { FlatTreeControl } from '@angular/cdk/tree'; - -import { BehaviorSubject, merge, Observable } from 'rxjs'; +import { + BehaviorSubject, + merge, + Observable, +} from 'rxjs'; import { map } from 'rxjs/operators'; + import { VocabularyTreeFlattener } from './vocabulary-tree-flattener'; /** diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flattener.ts b/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flattener.ts index 4e1c342521..734e2cf460 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flattener.ts +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-tree-flattener.ts @@ -1,5 +1,4 @@ import { TreeControl } from '@angular/cdk/tree'; - import { Observable } from 'rxjs'; import { take } from 'rxjs/operators'; diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview-node.model.ts b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview-node.model.ts index 4ac1b08425..c4dc5fb1fd 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview-node.model.ts +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview-node.model.ts @@ -1,7 +1,8 @@ /* eslint-disable max-classes-per-file */ import { BehaviorSubject } from 'rxjs'; -import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; + import { PageInfo } from '../../../core/shared/page-info.model'; +import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; export const LOAD_MORE = 'LOAD_MORE'; export const LOAD_MORE_ROOT = 'LOAD_MORE_ROOT'; diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.spec.ts b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.spec.ts index 399bc8bec5..52cfd9bd3f 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.spec.ts +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.spec.ts @@ -1,27 +1,38 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; import { CdkTreeModule } from '@angular/cdk/tree'; - -import { of as observableOf } from 'rxjs'; -import { StoreModule } from '@ngrx/store'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { StoreModule } from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; -import { createTestComponent } from '../../testing/utils.test'; -import { VocabularyTreeviewComponent } from './vocabulary-treeview.component'; -import { VocabularyTreeviewService } from './vocabulary-treeview.service'; -import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; -import { TreeviewFlatNode, TreeviewNode } from './vocabulary-treeview-node.model'; -import { FormFieldMetadataValueObject } from '../builder/models/form-field-metadata-value.model'; -import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; +import { storeModuleConfig } from '../../../app.reducer'; +import { authReducer } from '../../../core/auth/auth.reducer'; +import { AuthTokenInfo } from '../../../core/auth/models/auth-token-info.model'; import { PageInfo } from '../../../core/shared/page-info.model'; import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { AuthTokenInfo } from '../../../core/auth/models/auth-token-info.model'; -import { authReducer } from '../../../core/auth/auth.reducer'; -import { storeModuleConfig } from '../../../app.reducer'; -import { By } from '@angular/platform-browser'; +import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyService } from '../../../core/submission/vocabularies/vocabulary.service'; +import { createTestComponent } from '../../testing/utils.test'; +import { FormFieldMetadataValueObject } from '../builder/models/form-field-metadata-value.model'; +import { VocabularyTreeviewComponent } from './vocabulary-treeview.component'; +import { VocabularyTreeviewService } from './vocabulary-treeview.service'; +import { + TreeviewFlatNode, + TreeviewNode, +} from './vocabulary-treeview-node.model'; describe('VocabularyTreeviewComponent test suite', () => { diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts index 40a7f79b30..a034aaaa04 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts @@ -1,24 +1,42 @@ import { FlatTreeControl } from '@angular/cdk/tree'; -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; - -import { map } from 'rxjs/operators'; -import { Observable, Subscription } from 'rxjs'; +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; +import { lowerCase } from 'lodash/string'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { map } from 'rxjs/operators'; -import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; -import { hasValue, isEmpty, isNotEmpty } from '../../empty.util'; -import { VocabularyTreeviewService } from './vocabulary-treeview.service'; -import { LOAD_MORE, LOAD_MORE_ROOT, TreeviewFlatNode, TreeviewNode } from './vocabulary-treeview-node.model'; -import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; +import { CoreState } from '../../../core/core-state.model'; +import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; import { PageInfo } from '../../../core/shared/page-info.model'; import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { VocabularyTreeFlattener } from './vocabulary-tree-flattener'; -import { VocabularyTreeFlatDataSource } from './vocabulary-tree-flat-data-source'; -import { CoreState } from '../../../core/core-state.model'; -import { lowerCase } from 'lodash/string'; +import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyService } from '../../../core/submission/vocabularies/vocabulary.service'; -import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../empty.util'; +import { VocabularyTreeFlatDataSource } from './vocabulary-tree-flat-data-source'; +import { VocabularyTreeFlattener } from './vocabulary-tree-flattener'; +import { VocabularyTreeviewService } from './vocabulary-treeview.service'; +import { + LOAD_MORE, + LOAD_MORE_ROOT, + TreeviewFlatNode, + TreeviewNode, +} from './vocabulary-treeview-node.model'; /** * Component that shows a hierarchical vocabulary in a tree view diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.spec.ts b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.spec.ts index 7e3ac21966..fea65250a0 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.spec.ts +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.spec.ts @@ -1,21 +1,40 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; - +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { from as observableFrom } from 'rxjs'; +import { + expand, + map, + switchMap, +} from 'rxjs/operators'; import { TestScheduler } from 'rxjs/testing'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; -import { VocabularyTreeviewService } from './vocabulary-treeview.service'; +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; +import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyService } from '../../../core/submission/vocabularies/vocabulary.service'; import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; -import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; -import { LOAD_MORE_NODE, LOAD_MORE_ROOT_NODE, TreeviewFlatNode, TreeviewNode } from './vocabulary-treeview-node.model'; -import { PageInfo } from '../../../core/shared/page-info.model'; -import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; -import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { expand, map, switchMap } from 'rxjs/operators'; -import { from as observableFrom } from 'rxjs'; +import { VocabularyTreeviewService } from './vocabulary-treeview.service'; +import { + LOAD_MORE_NODE, + LOAD_MORE_ROOT_NODE, + TreeviewFlatNode, + TreeviewNode, +} from './vocabulary-treeview-node.model'; describe('VocabularyTreeviewService test suite', () => { diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.ts b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.ts index 0f9caf46a7..0cf951bfaf 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.ts +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.service.ts @@ -1,26 +1,37 @@ import { Injectable } from '@angular/core'; - -import { BehaviorSubject, Observable, of as observableOf } from 'rxjs'; -import { map, merge, mergeMap, scan } from 'rxjs/operators'; import findIndex from 'lodash/findIndex'; +import { + BehaviorSubject, + Observable, + of as observableOf, +} from 'rxjs'; +import { + map, + merge, + mergeMap, + scan, +} from 'rxjs/operators'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { + getFirstSucceededRemoteDataPayload, + getFirstSucceededRemoteListPayload, +} from '../../../core/shared/operators'; +import { PageInfo } from '../../../core/shared/page-info.model'; +import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; +import { VocabularyService } from '../../../core/submission/vocabularies/vocabulary.service'; +import { + isEmpty, + isNotEmpty, +} from '../../empty.util'; import { LOAD_MORE_NODE, LOAD_MORE_ROOT_NODE, TreeviewFlatNode, TreeviewNode, } from './vocabulary-treeview-node.model'; -import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { VocabularyService } from '../../../core/submission/vocabularies/vocabulary.service'; -import { PageInfo } from '../../../core/shared/page-info.model'; -import { isEmpty, isNotEmpty } from '../../empty.util'; -import { VocabularyOptions } from '../../../core/submission/vocabularies/models/vocabulary-options.model'; -import { - getFirstSucceededRemoteDataPayload, - getFirstSucceededRemoteListPayload, -} from '../../../core/shared/operators'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; /** * A service that provides methods to deal with vocabulary tree diff --git a/src/app/shared/google-recaptcha/google-recaptcha.component.spec.ts b/src/app/shared/google-recaptcha/google-recaptcha.component.spec.ts index 466cceed71..870e636023 100644 --- a/src/app/shared/google-recaptcha/google-recaptcha.component.spec.ts +++ b/src/app/shared/google-recaptcha/google-recaptcha.component.spec.ts @@ -1,8 +1,11 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { NativeWindowService } from '../../core/services/window.service'; import { ConfigurationDataService } from '../../core/data/configuration-data.service'; +import { NativeWindowService } from '../../core/services/window.service'; import { NativeWindowMockFactory } from '../mocks/mock-native-window-ref'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { GoogleRecaptchaComponent } from './google-recaptcha.component'; diff --git a/src/app/shared/google-recaptcha/google-recaptcha.component.ts b/src/app/shared/google-recaptcha/google-recaptcha.component.ts index 16c49ba45b..4ea408d596 100644 --- a/src/app/shared/google-recaptcha/google-recaptcha.component.ts +++ b/src/app/shared/google-recaptcha/google-recaptcha.component.ts @@ -1,9 +1,19 @@ -import { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Inject, + Input, + OnInit, + Output, +} from '@angular/core'; +import { Observable } from 'rxjs'; +import { + NativeWindowRef, + NativeWindowService, +} from 'src/app/core/services/window.service'; import { ConfigurationDataService } from '../../core/data/configuration-data.service'; import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { Observable } from 'rxjs'; -import { NativeWindowRef, NativeWindowService } from 'src/app/core/services/window.service'; import { isNotEmpty } from '../empty.util'; @Component({ diff --git a/src/app/shared/handle.service.ts b/src/app/shared/handle.service.ts index 4c5ea82963..588a48d756 100644 --- a/src/app/shared/handle.service.ts +++ b/src/app/shared/handle.service.ts @@ -1,5 +1,9 @@ import { Injectable } from '@angular/core'; -import { isNotEmpty, isEmpty } from './empty.util'; + +import { + isEmpty, + isNotEmpty, +} from './empty.util'; const PREFIX_REGEX = /handle\/([^\/]+\/[^\/]+)$/; const NO_PREFIX_REGEX = /^([^\/]+\/[^\/]+)$/; diff --git a/src/app/shared/host-window.reducer.spec.ts b/src/app/shared/host-window.reducer.spec.ts index f580c0e1da..816f4504ee 100644 --- a/src/app/shared/host-window.reducer.spec.ts +++ b/src/app/shared/host-window.reducer.spec.ts @@ -1,7 +1,8 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; -import { hostWindowReducer } from './search/host-window.reducer'; + import { HostWindowResizeAction } from './host-window.actions'; +import { hostWindowReducer } from './search/host-window.reducer'; class NullAction extends HostWindowResizeAction { type = null; diff --git a/src/app/shared/host-window.service.spec.ts b/src/app/shared/host-window.service.spec.ts index 87fae29d91..345eb8f36d 100644 --- a/src/app/shared/host-window.service.spec.ts +++ b/src/app/shared/host-window.service.spec.ts @@ -1,9 +1,15 @@ import { Store } from '@ngrx/store'; -import { cold, hot } from 'jasmine-marbles'; +import { + cold, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { AppState } from '../app.reducer'; -import { HostWindowService, WidthCategory } from './host-window.service'; +import { AppState } from '../app.reducer'; +import { + HostWindowService, + WidthCategory, +} from './host-window.service'; import { CSSVariableServiceStub } from './testing/css-variable-service.stub'; describe('HostWindowService', () => { diff --git a/src/app/shared/host-window.service.ts b/src/app/shared/host-window.service.ts index 4cd60f9581..2fecf478fc 100644 --- a/src/app/shared/host-window.service.ts +++ b/src/app/shared/host-window.service.ts @@ -1,13 +1,23 @@ -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; - -import { filter, distinctUntilChanged, map } from 'rxjs/operators'; -import { HostWindowState } from './search/host-window.reducer'; import { Injectable } from '@angular/core'; -import { createSelector, select, Store } from '@ngrx/store'; +import { + createSelector, + select, + Store, +} from '@ngrx/store'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, +} from 'rxjs/operators'; -import { hasValue } from './empty.util'; import { AppState } from '../app.reducer'; +import { hasValue } from './empty.util'; import { CSSVariableService } from './sass-helper/css-variable.service'; +import { HostWindowState } from './search/host-window.reducer'; export enum WidthCategory { XS, diff --git a/src/app/shared/hover-class.directive.spec.ts b/src/app/shared/hover-class.directive.spec.ts index 8390b8fdda..80c2b9d1b1 100644 --- a/src/app/shared/hover-class.directive.spec.ts +++ b/src/app/shared/hover-class.directive.spec.ts @@ -1,8 +1,15 @@ -import { Component, DebugElement } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { HoverClassDirective } from './hover-class.directive'; +import { + Component, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { HoverClassDirective } from './hover-class.directive'; + @Component({ template: `
`, }) diff --git a/src/app/shared/hover-class.directive.ts b/src/app/shared/hover-class.directive.ts index 982791ba7c..d0caa5a530 100644 --- a/src/app/shared/hover-class.directive.ts +++ b/src/app/shared/hover-class.directive.ts @@ -1,4 +1,9 @@ -import { Directive, ElementRef, HostListener, Input } from '@angular/core'; +import { + Directive, + ElementRef, + HostListener, + Input, +} from '@angular/core'; @Directive({ selector: '[dsHoverClass]', diff --git a/src/app/shared/idle-modal/idle-modal.component.spec.ts b/src/app/shared/idle-modal/idle-modal.component.spec.ts index 1664edf289..18cfafe5f4 100644 --- a/src/app/shared/idle-modal/idle-modal.component.spec.ts +++ b/src/app/shared/idle-modal/idle-modal.component.spec.ts @@ -1,12 +1,22 @@ -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateModule } from '@ngx-translate/core'; -import { IdleModalComponent } from './idle-modal.component'; -import { AuthService } from '../../core/auth/auth.service'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; + import { LogOutAction } from '../../core/auth/auth.actions'; +import { AuthService } from '../../core/auth/auth.service'; +import { IdleModalComponent } from './idle-modal.component'; describe('IdleModalComponent', () => { let component: IdleModalComponent; diff --git a/src/app/shared/idle-modal/idle-modal.component.ts b/src/app/shared/idle-modal/idle-modal.component.ts index 1948fd5917..23456b1468 100644 --- a/src/app/shared/idle-modal/idle-modal.component.ts +++ b/src/app/shared/idle-modal/idle-modal.component.ts @@ -1,11 +1,17 @@ -import { Component, EventEmitter, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + OnInit, + Output, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { environment } from '../../../environments/environment'; -import { AuthService } from '../../core/auth/auth.service'; -import { hasValue } from '../empty.util'; import { Store } from '@ngrx/store'; + +import { environment } from '../../../environments/environment'; import { AppState } from '../../app.reducer'; import { LogOutAction } from '../../core/auth/auth.actions'; +import { AuthService } from '../../core/auth/auth.service'; +import { hasValue } from '../empty.util'; @Component({ selector: 'ds-idle-modal', diff --git a/src/app/shared/impersonate-navbar/impersonate-navbar.component.spec.ts b/src/app/shared/impersonate-navbar/impersonate-navbar.component.spec.ts index cb99cecd9a..6cf37497eb 100644 --- a/src/app/shared/impersonate-navbar/impersonate-navbar.component.spec.ts +++ b/src/app/shared/impersonate-navbar/impersonate-navbar.component.spec.ts @@ -1,19 +1,28 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RouterTestingModule } from '@angular/router/testing'; - -import { TranslateModule } from '@ngx-translate/core'; -import { Store, StoreModule } from '@ngrx/store'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; +import { TranslateModule } from '@ngx-translate/core'; -import { ImpersonateNavbarComponent } from './impersonate-navbar.component'; -import { VarDirective } from '../utils/var.directive'; -import { AuthService } from '../../core/auth/auth.service'; +import { + AppState, + storeModuleConfig, +} from '../../app.reducer'; import { authReducer } from '../../core/auth/auth.reducer'; +import { AuthService } from '../../core/auth/auth.service'; import { AuthTokenInfo } from '../../core/auth/models/auth-token-info.model'; import { EPersonMock } from '../testing/eperson.mock'; -import { AppState, storeModuleConfig } from '../../app.reducer'; +import { VarDirective } from '../utils/var.directive'; +import { ImpersonateNavbarComponent } from './impersonate-navbar.component'; describe('ImpersonateNavbarComponent', () => { let component: ImpersonateNavbarComponent; diff --git a/src/app/shared/impersonate-navbar/impersonate-navbar.component.ts b/src/app/shared/impersonate-navbar/impersonate-navbar.component.ts index 5c63326b80..ed1529f318 100644 --- a/src/app/shared/impersonate-navbar/impersonate-navbar.component.ts +++ b/src/app/shared/impersonate-navbar/impersonate-navbar.component.ts @@ -1,8 +1,15 @@ -import { Component, OnInit } from '@angular/core'; -import { select, Store } from '@ngrx/store'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + select, + Store, +} from '@ngrx/store'; +import { Observable } from 'rxjs'; + import { AppState } from '../../app.reducer'; import { AuthService } from '../../core/auth/auth.service'; -import { Observable } from 'rxjs'; import { isAuthenticated } from '../../core/auth/selectors'; @Component({ diff --git a/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.spec.ts b/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.spec.ts index df53f4c809..93ee64e036 100644 --- a/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.spec.ts +++ b/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.spec.ts @@ -1,13 +1,21 @@ -import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { TranslateModule } from '@ngx-translate/core'; -import { By } from '@angular/platform-browser'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; -import { DsoInputSuggestionsComponent } from './dso-input-suggestions.component'; +import { TranslateModule } from '@ngx-translate/core'; + import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { DsoInputSuggestionsComponent } from './dso-input-suggestions.component'; describe('DsoInputSuggestionsComponent', () => { diff --git a/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts b/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts index 0d34cd1f51..788db8930c 100644 --- a/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts +++ b/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts @@ -1,11 +1,16 @@ -import { Component, forwardRef, Input } from '@angular/core'; +import { + Component, + forwardRef, + Input, +} from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; -import { InputSuggestionsComponent } from '../input-suggestions.component'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { ViewMode } from '../../../core/shared/view-mode.model'; -import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; import { hasValue } from '../../empty.util'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; +import { InputSuggestionsComponent } from '../input-suggestions.component'; @Component({ selector: 'ds-dso-input-suggestions', diff --git a/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.spec.ts b/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.spec.ts index d1581d0d2c..fddce7db48 100644 --- a/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.spec.ts +++ b/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.spec.ts @@ -1,11 +1,19 @@ -import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { TranslateModule } from '@ngx-translate/core'; -import { By } from '@angular/platform-browser'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + import { FilterInputSuggestionsComponent } from './filter-input-suggestions.component'; describe('FilterInputSuggestionsComponent', () => { diff --git a/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts b/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts index 1ae8987137..09ed9de602 100644 --- a/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts +++ b/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts @@ -1,5 +1,10 @@ -import { Component, forwardRef, Input } from '@angular/core'; +import { + Component, + forwardRef, + Input, +} from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; + import { InputSuggestionsComponent } from '../input-suggestions.component'; import { InputSuggestion } from '../input-suggestions.model'; diff --git a/src/app/shared/input-suggestions/input-suggestions.component.spec.ts b/src/app/shared/input-suggestions/input-suggestions.component.spec.ts index cf69a5f47f..d21ee75037 100644 --- a/src/app/shared/input-suggestions/input-suggestions.component.spec.ts +++ b/src/app/shared/input-suggestions/input-suggestions.component.spec.ts @@ -1,12 +1,20 @@ -import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { TranslateModule } from '@ngx-translate/core'; -import { InputSuggestionsComponent } from './input-suggestions.component'; -import { By } from '@angular/platform-browser'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { InputSuggestionsComponent } from './input-suggestions.component'; describe('InputSuggestionsComponent', () => { diff --git a/src/app/shared/input-suggestions/input-suggestions.component.ts b/src/app/shared/input-suggestions/input-suggestions.component.ts index 9344e1b4d1..686670d464 100644 --- a/src/app/shared/input-suggestions/input-suggestions.component.ts +++ b/src/app/shared/input-suggestions/input-suggestions.component.ts @@ -10,9 +10,13 @@ import { ViewChild, ViewChildren, } from '@angular/core'; -import { BehaviorSubject } from 'rxjs'; -import { hasValue, isNotEmpty } from '../empty.util'; import { ControlValueAccessor } from '@angular/forms'; +import { BehaviorSubject } from 'rxjs'; + +import { + hasValue, + isNotEmpty, +} from '../empty.util'; @Component({ selector: 'ds-input-suggestions', diff --git a/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.spec.ts b/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.spec.ts index c3ab4b3371..a610368016 100644 --- a/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.spec.ts +++ b/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.spec.ts @@ -1,11 +1,22 @@ -import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { TranslateModule } from '@ngx-translate/core'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; + import { MetadataFieldDataService } from '../../../core/data/metadata-field-data.service'; import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; import { ValidationSuggestionsComponent } from './validation-suggestions.component'; diff --git a/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts b/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts index 60f2f899c7..a867b59179 100644 --- a/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts +++ b/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts @@ -1,5 +1,16 @@ -import { Component, forwardRef, Input, OnInit } from '@angular/core'; -import { UntypedFormControl, UntypedFormGroup, NG_VALUE_ACCESSOR, Validators } from '@angular/forms'; +import { + Component, + forwardRef, + Input, + OnInit, +} from '@angular/core'; +import { + NG_VALUE_ACCESSOR, + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; + import { ObjectUpdatesService } from '../../../core/data/object-updates/object-updates.service'; import { MetadatumViewModel } from '../../../core/shared/metadata.models'; import { MetadataFieldValidator } from '../../utils/metadatafield-validator.directive'; diff --git a/src/app/shared/lang-switch/lang-switch.component.spec.ts b/src/app/shared/lang-switch/lang-switch.component.spec.ts index 96b1dd97c7..d0147146da 100644 --- a/src/app/shared/lang-switch/lang-switch.component.spec.ts +++ b/src/app/shared/lang-switch/lang-switch.component.spec.ts @@ -1,14 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + HttpClientTestingModule, + HttpTestingController, +} from '@angular/common/http/testing'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + Observable, + of, +} from 'rxjs'; -import { Observable, of } from 'rxjs'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; - -import { LangSwitchComponent } from './lang-switch.component'; import { LangConfig } from '../../../config/lang-config.interface'; import { LocaleService } from '../../core/locale/locale.service'; +import { LangSwitchComponent } from './lang-switch.component'; // This test is completely independent from any message catalogs or keys in the codebase // The translation module is instantiated with these bogus messages that we aren't using anyway. diff --git a/src/app/shared/lang-switch/lang-switch.component.ts b/src/app/shared/lang-switch/lang-switch.component.ts index 35d29b0d34..f3f5fc7e28 100644 --- a/src/app/shared/lang-switch/lang-switch.component.ts +++ b/src/app/shared/lang-switch/lang-switch.component.ts @@ -1,5 +1,7 @@ -import { Component, OnInit } from '@angular/core'; - +import { + Component, + OnInit, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { LangConfig } from '../../../config/lang-config.interface'; diff --git a/src/app/shared/loading/loading.component.spec.ts b/src/app/shared/loading/loading.component.spec.ts index b7a2f1c78e..6afa60d93a 100644 --- a/src/app/shared/loading/loading.component.spec.ts +++ b/src/app/shared/loading/loading.component.spec.ts @@ -1,11 +1,17 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; - -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; - import { LoadingComponent } from './loading.component'; describe('LoadingComponent (inline template)', () => { diff --git a/src/app/shared/loading/loading.component.ts b/src/app/shared/loading/loading.component.ts index dceb7e482a..4ad335983b 100644 --- a/src/app/shared/loading/loading.component.ts +++ b/src/app/shared/loading/loading.component.ts @@ -1,8 +1,12 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; - +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; - import { Subscription } from 'rxjs'; + import { hasValue } from '../empty.util'; @Component({ diff --git a/src/app/shared/loading/themed-loading.component.ts b/src/app/shared/loading/themed-loading.component.ts index 12f16c1fbc..deb092d80e 100644 --- a/src/app/shared/loading/themed-loading.component.ts +++ b/src/app/shared/loading/themed-loading.component.ts @@ -1,7 +1,13 @@ -import { Component, Input, ComponentFactoryResolver, ChangeDetectorRef } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + ComponentFactoryResolver, + Input, +} from '@angular/core'; + +import { ThemeService } from '../theme-support/theme.service'; import { ThemedComponent } from '../theme-support/themed.component'; import { LoadingComponent } from './loading.component'; -import { ThemeService } from '../theme-support/theme.service'; /** * Themed wrapper for LoadingComponent diff --git a/src/app/shared/log-in/container/log-in-container.component.spec.ts b/src/app/shared/log-in/container/log-in-container.component.spec.ts index 085f1fc5b2..e89c718d9c 100644 --- a/src/app/shared/log-in/container/log-in-container.component.spec.ts +++ b/src/app/shared/log-in/container/log-in-container.component.spec.ts @@ -1,18 +1,28 @@ -import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; - +import { + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { StoreModule } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; -import { LogInContainerComponent } from './log-in-container.component'; import { authReducer } from '../../../core/auth/auth.reducer'; -import { SharedModule } from '../../shared.module'; import { AuthService } from '../../../core/auth/auth.service'; import { AuthMethod } from '../../../core/auth/models/auth.method'; +import { HardRedirectService } from '../../../core/services/hard-redirect.service'; +import { SharedModule } from '../../shared.module'; import { AuthServiceStub } from '../../testing/auth-service.stub'; import { createTestComponent } from '../../testing/utils.test'; -import { HardRedirectService } from '../../../core/services/hard-redirect.service'; +import { LogInContainerComponent } from './log-in-container.component'; describe('LogInContainerComponent', () => { diff --git a/src/app/shared/log-in/container/log-in-container.component.ts b/src/app/shared/log-in/container/log-in-container.component.ts index 7e471a1a39..9433215936 100644 --- a/src/app/shared/log-in/container/log-in-container.component.ts +++ b/src/app/shared/log-in/container/log-in-container.component.ts @@ -1,7 +1,12 @@ -import { Component, Injector, Input, OnInit } from '@angular/core'; +import { + Component, + Injector, + Input, + OnInit, +} from '@angular/core'; -import { rendersAuthMethodType } from '../methods/log-in.methods-decorator'; import { AuthMethod } from '../../../core/auth/models/auth.method'; +import { rendersAuthMethodType } from '../methods/log-in.methods-decorator'; /** * This component represents a component container for log-in methods available. diff --git a/src/app/shared/log-in/log-in.component.spec.ts b/src/app/shared/log-in/log-in.component.spec.ts index 50ce45b268..fb7cd6b4d2 100644 --- a/src/app/shared/log-in/log-in.component.spec.ts +++ b/src/app/shared/log-in/log-in.component.spec.ts @@ -1,27 +1,40 @@ -import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { StoreModule } from '@ngrx/store'; - -import { LogInComponent } from './log-in.component'; -import { authReducer } from '../../core/auth/auth.reducer'; -import { TranslateModule } from '@ngx-translate/core'; - -import { AuthService } from '../../core/auth/auth.service'; -import { authMethodsMock, AuthServiceStub } from '../testing/auth-service.stub'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { SharedModule } from '../shared.module'; -import { NativeWindowMockFactory } from '../mocks/mock-native-window-ref'; -import { ActivatedRouteStub } from '../testing/active-router.stub'; import { ActivatedRoute } from '@angular/router'; -import { NativeWindowService } from '../../core/services/window.service'; -import { provideMockStore } from '@ngrx/store/testing'; -import { createTestComponent } from '../testing/utils.test'; import { RouterTestingModule } from '@angular/router/testing'; -import { HardRedirectService } from '../../core/services/hard-redirect.service'; -import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { StoreModule } from '@ngrx/store'; +import { provideMockStore } from '@ngrx/store/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of } from 'rxjs'; +import { authReducer } from '../../core/auth/auth.reducer'; +import { AuthService } from '../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; +import { HardRedirectService } from '../../core/services/hard-redirect.service'; +import { NativeWindowService } from '../../core/services/window.service'; +import { NativeWindowMockFactory } from '../mocks/mock-native-window-ref'; +import { SharedModule } from '../shared.module'; +import { ActivatedRouteStub } from '../testing/active-router.stub'; +import { + authMethodsMock, + AuthServiceStub, +} from '../testing/auth-service.stub'; +import { createTestComponent } from '../testing/utils.test'; +import { LogInComponent } from './log-in.component'; + describe('LogInComponent', () => { let component: LogInComponent; diff --git a/src/app/shared/log-in/log-in.component.ts b/src/app/shared/log-in/log-in.component.ts index 22247f5083..f99e56a2dc 100644 --- a/src/app/shared/log-in/log-in.component.ts +++ b/src/app/shared/log-in/log-in.component.ts @@ -1,20 +1,31 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { select, Store } from '@ngrx/store'; + +import { + getForgotPasswordRoute, + getRegisterRoute, +} from '../../app-routing-paths'; +import { AuthService } from '../../core/auth/auth.service'; import { AuthMethod } from '../../core/auth/models/auth.method'; +import { AuthMethodType } from '../../core/auth/models/auth.method-type'; import { getAuthenticationError, getAuthenticationMethods, isAuthenticated, isAuthenticationLoading, } from '../../core/auth/selectors'; -import { getForgotPasswordRoute, getRegisterRoute } from '../../app-routing-paths'; -import { hasValue } from '../empty.util'; -import { AuthService } from '../../core/auth/auth.service'; +import { CoreState } from '../../core/core-state.model'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; -import { CoreState } from '../../core/core-state.model'; -import { AuthMethodType } from '../../core/auth/models/auth.method-type'; +import { hasValue } from '../empty.util'; /** * /users/sign-in diff --git a/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts b/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts index 8f4c70e6f4..6b9259f198 100644 --- a/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts +++ b/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts @@ -1,25 +1,34 @@ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; -import { Store, StoreModule } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; -import { EPerson } from '../../../../core/eperson/models/eperson.model'; -import { EPersonMock } from '../../../testing/eperson.mock'; +import { storeModuleConfig } from '../../../../app.reducer'; import { authReducer } from '../../../../core/auth/auth.reducer'; import { AuthService } from '../../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../testing/auth-service.stub'; -import { storeModuleConfig } from '../../../../app.reducer'; import { AuthMethod } from '../../../../core/auth/models/auth.method'; import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; -import { LogInExternalProviderComponent } from './log-in-external-provider.component'; -import { NativeWindowService } from '../../../../core/services/window.service'; -import { RouterStub } from '../../../testing/router.stub'; -import { ActivatedRouteStub } from '../../../testing/active-router.stub'; -import { NativeWindowMockFactory } from '../../../mocks/mock-native-window-ref'; +import { EPerson } from '../../../../core/eperson/models/eperson.model'; import { HardRedirectService } from '../../../../core/services/hard-redirect.service'; +import { NativeWindowService } from '../../../../core/services/window.service'; +import { NativeWindowMockFactory } from '../../../mocks/mock-native-window-ref'; +import { ActivatedRouteStub } from '../../../testing/active-router.stub'; +import { AuthServiceStub } from '../../../testing/auth-service.stub'; +import { EPersonMock } from '../../../testing/eperson.mock'; +import { RouterStub } from '../../../testing/router.stub'; +import { LogInExternalProviderComponent } from './log-in-external-provider.component'; describe('LogInExternalProviderComponent', () => { diff --git a/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.ts b/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.ts index 5a8d14116d..bab69875f9 100644 --- a/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.ts +++ b/src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.ts @@ -1,20 +1,34 @@ -import { Component, Inject, OnInit } from '@angular/core'; - +import { + Component, + Inject, + OnInit, +} from '@angular/core'; +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; import { take } from 'rxjs/operators'; -import { select, Store } from '@ngrx/store'; -import { AuthMethod } from '../../../../core/auth/models/auth.method'; - -import { isAuthenticated, isAuthenticationLoading } from '../../../../core/auth/selectors'; -import { NativeWindowRef, NativeWindowService } from '../../../../core/services/window.service'; -import { isEmpty, isNotNull } from '../../../empty.util'; import { AuthService } from '../../../../core/auth/auth.service'; -import { HardRedirectService } from '../../../../core/services/hard-redirect.service'; -import { URLCombiner } from '../../../../core/url-combiner/url-combiner'; -import { CoreState } from '../../../../core/core-state.model'; -import { renderAuthMethodFor } from '../log-in.methods-decorator'; +import { AuthMethod } from '../../../../core/auth/models/auth.method'; import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; +import { + isAuthenticated, + isAuthenticationLoading, +} from '../../../../core/auth/selectors'; +import { CoreState } from '../../../../core/core-state.model'; +import { HardRedirectService } from '../../../../core/services/hard-redirect.service'; +import { + NativeWindowRef, + NativeWindowService, +} from '../../../../core/services/window.service'; +import { URLCombiner } from '../../../../core/url-combiner/url-combiner'; +import { + isEmpty, + isNotNull, +} from '../../../empty.util'; +import { renderAuthMethodFor } from '../log-in.methods-decorator'; @Component({ selector: 'ds-log-in-external-provider', diff --git a/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts b/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts index 07290796ec..95b1b1b059 100644 --- a/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts +++ b/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts @@ -1,23 +1,33 @@ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; - +import { + Store, + StoreModule, +} from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; -import { Store, StoreModule } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; -import { LogInPasswordComponent } from './log-in-password.component'; -import { EPerson } from '../../../../core/eperson/models/eperson.model'; -import { EPersonMock } from '../../../testing/eperson.mock'; +import { storeModuleConfig } from '../../../../app.reducer'; import { authReducer } from '../../../../core/auth/auth.reducer'; import { AuthService } from '../../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../testing/auth-service.stub'; -import { storeModuleConfig } from '../../../../app.reducer'; import { AuthMethod } from '../../../../core/auth/models/auth.method'; import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; +import { EPerson } from '../../../../core/eperson/models/eperson.model'; import { HardRedirectService } from '../../../../core/services/hard-redirect.service'; +import { AuthServiceStub } from '../../../testing/auth-service.stub'; import { BrowserOnlyMockPipe } from '../../../testing/browser-only-mock.pipe'; +import { EPersonMock } from '../../../testing/eperson.mock'; +import { LogInPasswordComponent } from './log-in-password.component'; describe('LogInPasswordComponent', () => { diff --git a/src/app/shared/log-in/methods/password/log-in-password.component.ts b/src/app/shared/log-in/methods/password/log-in-password.component.ts index 37766d6290..41fbb8e388 100644 --- a/src/app/shared/log-in/methods/password/log-in-password.component.ts +++ b/src/app/shared/log-in/methods/password/log-in-password.component.ts @@ -1,20 +1,36 @@ -import { map } from 'rxjs/operators'; -import { Component, Inject, OnInit } from '@angular/core'; -import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; - -import { select, Store } from '@ngrx/store'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; +import { + UntypedFormBuilder, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { AuthenticateAction, ResetAuthenticationMessagesAction } from '../../../../core/auth/auth.actions'; +import { map } from 'rxjs/operators'; -import { getAuthenticationError, getAuthenticationInfo } from '../../../../core/auth/selectors'; -import { isNotEmpty } from '../../../empty.util'; -import { fadeOut } from '../../../animations/fade'; -import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; -import { renderAuthMethodFor } from '../log-in.methods-decorator'; -import { AuthMethod } from '../../../../core/auth/models/auth.method'; +import { + AuthenticateAction, + ResetAuthenticationMessagesAction, +} from '../../../../core/auth/auth.actions'; import { AuthService } from '../../../../core/auth/auth.service'; -import { HardRedirectService } from '../../../../core/services/hard-redirect.service'; +import { AuthMethod } from '../../../../core/auth/models/auth.method'; +import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; +import { + getAuthenticationError, + getAuthenticationInfo, +} from '../../../../core/auth/selectors'; import { CoreState } from '../../../../core/core-state.model'; +import { HardRedirectService } from '../../../../core/services/hard-redirect.service'; +import { fadeOut } from '../../../animations/fade'; +import { isNotEmpty } from '../../../empty.util'; +import { renderAuthMethodFor } from '../log-in.methods-decorator'; /** * /users/sign-in diff --git a/src/app/shared/log-out/log-out.component.spec.ts b/src/app/shared/log-out/log-out.component.spec.ts index 0883b96695..260a920558 100644 --- a/src/app/shared/log-out/log-out.component.spec.ts +++ b/src/app/shared/log-out/log-out.component.spec.ts @@ -1,18 +1,28 @@ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; - -import { Store, StoreModule } from '@ngrx/store'; - -import { authReducer } from '../../core/auth/auth.reducer'; -import { EPersonMock } from '../testing/eperson.mock'; -import { EPerson } from '../../core/eperson/models/eperson.model'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { Router } from '@angular/router'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; + import { AppState } from '../../app.reducer'; -import { LogOutComponent } from './log-out.component'; -import { RouterStub } from '../testing/router.stub'; +import { authReducer } from '../../core/auth/auth.reducer'; +import { EPerson } from '../../core/eperson/models/eperson.model'; import { BrowserOnlyMockPipe } from '../testing/browser-only-mock.pipe'; +import { EPersonMock } from '../testing/eperson.mock'; +import { RouterStub } from '../testing/router.stub'; +import { LogOutComponent } from './log-out.component'; describe('LogOutComponent', () => { diff --git a/src/app/shared/log-out/log-out.component.ts b/src/app/shared/log-out/log-out.component.ts index 1539efd5af..24cc38f3ce 100644 --- a/src/app/shared/log-out/log-out.component.ts +++ b/src/app/shared/log-out/log-out.component.ts @@ -1,12 +1,17 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - +import { + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { select, Store } from '@ngrx/store'; +import { AppState } from '../../app.reducer'; import { LogOutAction } from '../../core/auth/auth.actions'; import { getLogOutError } from '../../core/auth/selectors'; -import { AppState } from '../../app.reducer'; import { fadeOut } from '../animations/fade'; @Component({ diff --git a/src/app/shared/menu/initial-menus-state.ts b/src/app/shared/menu/initial-menus-state.ts index b7da0b45b7..3794458dd4 100644 --- a/src/app/shared/menu/initial-menus-state.ts +++ b/src/app/shared/menu/initial-menus-state.ts @@ -1,5 +1,5 @@ -import { MenusState } from './menus-state.model'; import { MenuID } from './menu-id.model'; +import { MenusState } from './menus-state.model'; /** * The initial state of the menus diff --git a/src/app/shared/menu/menu-item/external-link-menu-item.component.spec.ts b/src/app/shared/menu/menu-item/external-link-menu-item.component.spec.ts index 3a50dbfb55..22039ed0d6 100644 --- a/src/app/shared/menu/menu-item/external-link-menu-item.component.spec.ts +++ b/src/app/shared/menu/menu-item/external-link-menu-item.component.spec.ts @@ -1,7 +1,15 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; + import { ExternalLinkMenuItemComponent } from './external-link-menu-item.component'; describe('ExternalLinkMenuItemComponent', () => { diff --git a/src/app/shared/menu/menu-item/external-link-menu-item.component.ts b/src/app/shared/menu/menu-item/external-link-menu-item.component.ts index 430b5f115e..d2442de8c8 100644 --- a/src/app/shared/menu/menu-item/external-link-menu-item.component.ts +++ b/src/app/shared/menu/menu-item/external-link-menu-item.component.ts @@ -1,8 +1,13 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { rendersMenuItemForType } from '../menu-item.decorator'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; + import { isNotEmpty } from '../../empty.util'; -import { ExternalLinkMenuItemModel } from './models/external-link.model'; +import { rendersMenuItemForType } from '../menu-item.decorator'; import { MenuItemType } from '../menu-item-type.model'; +import { ExternalLinkMenuItemModel } from './models/external-link.model'; /** * Component that renders a menu section of type EXTERNAL diff --git a/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts b/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts index e66b04a78c..21dd2a531f 100644 --- a/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts +++ b/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts @@ -1,12 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { LinkMenuItemComponent } from './link-menu-item.component'; -import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub'; +import { Router } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + import { QueryParamsDirectiveStub } from '../../testing/query-params-directive.stub'; import { RouterStub } from '../../testing/router.stub'; -import { Router } from '@angular/router'; +import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub'; +import { LinkMenuItemComponent } from './link-menu-item.component'; describe('LinkMenuItemComponent', () => { let component: LinkMenuItemComponent; diff --git a/src/app/shared/menu/menu-item/link-menu-item.component.ts b/src/app/shared/menu/menu-item/link-menu-item.component.ts index 0c1594a068..17e2158815 100644 --- a/src/app/shared/menu/menu-item/link-menu-item.component.ts +++ b/src/app/shared/menu/menu-item/link-menu-item.component.ts @@ -1,10 +1,15 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { LinkMenuItemModel } from './models/link.model'; -import { rendersMenuItemForType } from '../menu-item.decorator'; -import { isNotEmpty } from '../../empty.util'; -import { MenuItemType } from '../menu-item-type.model'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; +import { isNotEmpty } from '../../empty.util'; +import { rendersMenuItemForType } from '../menu-item.decorator'; +import { MenuItemType } from '../menu-item-type.model'; +import { LinkMenuItemModel } from './models/link.model'; + /** * Component that renders a menu section of type LINK */ diff --git a/src/app/shared/menu/menu-item/models/altmetric.model.ts b/src/app/shared/menu/menu-item/models/altmetric.model.ts index e27004c268..cf007f92b6 100644 --- a/src/app/shared/menu/menu-item/models/altmetric.model.ts +++ b/src/app/shared/menu/menu-item/models/altmetric.model.ts @@ -1,5 +1,5 @@ -import { MenuItemModel } from './menu-item.model'; import { MenuItemType } from '../../menu-item-type.model'; +import { MenuItemModel } from './menu-item.model'; /** * Model representing an Altmetric Menu Section diff --git a/src/app/shared/menu/menu-item/models/external-link.model.ts b/src/app/shared/menu/menu-item/models/external-link.model.ts index d835691107..8cd9854113 100644 --- a/src/app/shared/menu/menu-item/models/external-link.model.ts +++ b/src/app/shared/menu/menu-item/models/external-link.model.ts @@ -1,5 +1,5 @@ -import { MenuItemModel } from './menu-item.model'; import { MenuItemType } from '../../menu-item-type.model'; +import { MenuItemModel } from './menu-item.model'; /** * Model representing a Link Menu Section for an external link diff --git a/src/app/shared/menu/menu-item/models/link.model.ts b/src/app/shared/menu/menu-item/models/link.model.ts index f26340749c..b80a259717 100644 --- a/src/app/shared/menu/menu-item/models/link.model.ts +++ b/src/app/shared/menu/menu-item/models/link.model.ts @@ -1,7 +1,8 @@ -import { MenuItemModel } from './menu-item.model'; -import { MenuItemType } from '../../menu-item-type.model'; import { Params } from '@angular/router'; +import { MenuItemType } from '../../menu-item-type.model'; +import { MenuItemModel } from './menu-item.model'; + /** * Model representing an Link Menu Section */ diff --git a/src/app/shared/menu/menu-item/models/onclick.model.ts b/src/app/shared/menu/menu-item/models/onclick.model.ts index afb533bb24..3ec19dfe19 100644 --- a/src/app/shared/menu/menu-item/models/onclick.model.ts +++ b/src/app/shared/menu/menu-item/models/onclick.model.ts @@ -1,5 +1,5 @@ -import { MenuItemModel } from './menu-item.model'; import { MenuItemType } from '../../menu-item-type.model'; +import { MenuItemModel } from './menu-item.model'; /** * Model representing an OnClick Menu Section diff --git a/src/app/shared/menu/menu-item/models/search.model.ts b/src/app/shared/menu/menu-item/models/search.model.ts index 1c2b5a6456..c9d3c9fe4e 100644 --- a/src/app/shared/menu/menu-item/models/search.model.ts +++ b/src/app/shared/menu/menu-item/models/search.model.ts @@ -1,5 +1,5 @@ -import { MenuItemModel } from './menu-item.model'; import { MenuItemType } from '../../menu-item-type.model'; +import { MenuItemModel } from './menu-item.model'; /** * Model representing an Search Bar Menu Section diff --git a/src/app/shared/menu/menu-item/models/text.model.ts b/src/app/shared/menu/menu-item/models/text.model.ts index 4fe8a41cc9..04eea7e53b 100644 --- a/src/app/shared/menu/menu-item/models/text.model.ts +++ b/src/app/shared/menu/menu-item/models/text.model.ts @@ -1,5 +1,5 @@ -import { MenuItemModel } from './menu-item.model'; import { MenuItemType } from '../../menu-item-type.model'; +import { MenuItemModel } from './menu-item.model'; /** * Model representing an Text Menu Section diff --git a/src/app/shared/menu/menu-item/onclick-menu-item.component.spec.ts b/src/app/shared/menu/menu-item/onclick-menu-item.component.spec.ts index 0e576dd52b..e47f623d4f 100644 --- a/src/app/shared/menu/menu-item/onclick-menu-item.component.spec.ts +++ b/src/app/shared/menu/menu-item/onclick-menu-item.component.spec.ts @@ -1,9 +1,17 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { OnClickMenuItemComponent } from './onclick-menu-item.component'; +import { TranslateModule } from '@ngx-translate/core'; + import { OnClickMenuItemModel } from './models/onclick.model'; +import { OnClickMenuItemComponent } from './onclick-menu-item.component'; describe('OnClickMenuItemComponent', () => { let component: OnClickMenuItemComponent; diff --git a/src/app/shared/menu/menu-item/onclick-menu-item.component.ts b/src/app/shared/menu/menu-item/onclick-menu-item.component.ts index 4a003583a8..79d297ff3e 100644 --- a/src/app/shared/menu/menu-item/onclick-menu-item.component.ts +++ b/src/app/shared/menu/menu-item/onclick-menu-item.component.ts @@ -1,7 +1,11 @@ -import { Component, Inject } from '@angular/core'; +import { + Component, + Inject, +} from '@angular/core'; + import { rendersMenuItemForType } from '../menu-item.decorator'; -import { OnClickMenuItemModel } from './models/onclick.model'; import { MenuItemType } from '../menu-item-type.model'; +import { OnClickMenuItemModel } from './models/onclick.model'; /** * Component that renders a menu section of type ONCLICK diff --git a/src/app/shared/menu/menu-item/text-menu-item.component.spec.ts b/src/app/shared/menu/menu-item/text-menu-item.component.spec.ts index 0cbf773bd6..81c565c539 100644 --- a/src/app/shared/menu/menu-item/text-menu-item.component.spec.ts +++ b/src/app/shared/menu/menu-item/text-menu-item.component.spec.ts @@ -1,8 +1,16 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TextMenuItemComponent } from './text-menu-item.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; + +import { TextMenuItemComponent } from './text-menu-item.component'; describe('TextMenuItemComponent', () => { let component: TextMenuItemComponent; diff --git a/src/app/shared/menu/menu-item/text-menu-item.component.ts b/src/app/shared/menu/menu-item/text-menu-item.component.ts index 25549f53a8..74d6830c7f 100644 --- a/src/app/shared/menu/menu-item/text-menu-item.component.ts +++ b/src/app/shared/menu/menu-item/text-menu-item.component.ts @@ -1,7 +1,11 @@ -import { Component, Inject } from '@angular/core'; -import { TextMenuItemModel } from './models/text.model'; +import { + Component, + Inject, +} from '@angular/core'; + import { rendersMenuItemForType } from '../menu-item.decorator'; import { MenuItemType } from '../menu-item-type.model'; +import { TextMenuItemModel } from './models/text.model'; /** * Component that renders a menu section of type TEXT diff --git a/src/app/shared/menu/menu-section.decorator.ts b/src/app/shared/menu/menu-section.decorator.ts index 2713ee8787..f052a7e981 100644 --- a/src/app/shared/menu/menu-section.decorator.ts +++ b/src/app/shared/menu/menu-section.decorator.ts @@ -1,6 +1,6 @@ +import { hasValue } from '../empty.util'; import { DEFAULT_THEME } from '../object-collection/shared/listable-object/listable-object.decorator'; import { MenuID } from './menu-id.model'; -import { hasValue } from '../empty.util'; const menuComponentMap = new Map(); diff --git a/src/app/shared/menu/menu-section/menu-section.component.spec.ts b/src/app/shared/menu/menu-section/menu-section.component.spec.ts index 65214bd22a..4e1ee897bf 100644 --- a/src/app/shared/menu/menu-section/menu-section.component.spec.ts +++ b/src/app/shared/menu/menu-section/menu-section.component.spec.ts @@ -1,13 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { MenuSectionComponent } from './menu-section.component'; -import { MenuService } from '../menu.service'; -import { MenuServiceStub } from '../../testing/menu-service.stub'; import { of as observableOf } from 'rxjs'; + +import { MenuServiceStub } from '../../testing/menu-service.stub'; +import { MenuService } from '../menu.service'; import { LinkMenuItemComponent } from '../menu-item/link-menu-item.component'; import { MenuSection } from '../menu-section.model'; +import { MenuSectionComponent } from './menu-section.component'; describe('MenuSectionComponent', () => { let comp: MenuSectionComponent; diff --git a/src/app/shared/menu/menu-section/menu-section.component.ts b/src/app/shared/menu/menu-section/menu-section.component.ts index d9b4649cdd..1624e83aa8 100644 --- a/src/app/shared/menu/menu-section/menu-section.component.ts +++ b/src/app/shared/menu/menu-section/menu-section.component.ts @@ -1,14 +1,30 @@ -import { Component, Injector, OnDestroy, OnInit } from '@angular/core'; -import { MenuService } from '../menu.service'; -import { getComponentForMenuItemType } from '../menu-item.decorator'; -import { hasNoValue, hasValue } from '../../empty.util'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { MenuItemModel } from '../menu-item/models/menu-item.model'; -import { distinctUntilChanged, switchMap } from 'rxjs/operators'; +import { + Component, + Injector, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + switchMap, +} from 'rxjs/operators'; + import { GenericConstructor } from '../../../core/shared/generic-constructor'; -import { MenuSection } from '../menu-section.model'; +import { + hasNoValue, + hasValue, +} from '../../empty.util'; +import { MenuService } from '../menu.service'; import { MenuID } from '../menu-id.model'; +import { getComponentForMenuItemType } from '../menu-item.decorator'; +import { MenuItemModel } from '../menu-item/models/menu-item.model'; import { MenuItemType } from '../menu-item-type.model'; +import { MenuSection } from '../menu-section.model'; /** * A basic implementation of a menu section's component diff --git a/src/app/shared/menu/menu-state.model.ts b/src/app/shared/menu/menu-state.model.ts index 0bedac2129..398f2732fe 100644 --- a/src/app/shared/menu/menu-state.model.ts +++ b/src/app/shared/menu/menu-state.model.ts @@ -1,6 +1,6 @@ +import { MenuID } from './menu-id.model'; import { MenuSectionIndex } from './menu-section-Index.model'; import { MenuSections } from './menu-sections.model'; -import { MenuID } from './menu-id.model'; /** * Represents the state of a single menu in the store diff --git a/src/app/shared/menu/menu.actions.ts b/src/app/shared/menu/menu.actions.ts index f02fd73292..a9590a60dc 100644 --- a/src/app/shared/menu/menu.actions.ts +++ b/src/app/shared/menu/menu.actions.ts @@ -1,8 +1,9 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { type } from '../ngrx/type'; -import { MenuSection } from './menu-section.model'; import { MenuID } from './menu-id.model'; +import { MenuSection } from './menu-section.model'; /** * For each action type in an action group, make a simple diff --git a/src/app/shared/menu/menu.component.spec.ts b/src/app/shared/menu/menu.component.spec.ts index a51dfa7537..d37ce457c0 100644 --- a/src/app/shared/menu/menu.component.spec.ts +++ b/src/app/shared/menu/menu.component.spec.ts @@ -1,20 +1,34 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { MenuService } from './menu.service'; -import { MenuComponent } from './menu.component'; -import { MenuServiceStub } from '../testing/menu-service.stub'; -import { of as observableOf } from 'rxjs'; -import { Router, ActivatedRoute } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { MenuSection } from './menu-section.model'; -import { MenuID } from './menu-id.model'; -import { Item } from '../../core/shared/item.model'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; -import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; -import { ThemeService } from '../theme-support/theme.service'; +import { Item } from '../../core/shared/item.model'; import { getMockThemeService } from '../mocks/theme-service.mock'; +import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; +import { MenuServiceStub } from '../testing/menu-service.stub'; +import { ThemeService } from '../theme-support/theme.service'; +import { MenuComponent } from './menu.component'; +import { MenuService } from './menu.service'; +import { MenuID } from './menu-id.model'; +import { MenuSection } from './menu-section.model'; describe('MenuComponent', () => { let comp: MenuComponent; diff --git a/src/app/shared/menu/menu.component.ts b/src/app/shared/menu/menu.component.ts index 48cf98f656..fce08d3677 100644 --- a/src/app/shared/menu/menu.component.ts +++ b/src/app/shared/menu/menu.component.ts @@ -1,18 +1,38 @@ -import { ChangeDetectionStrategy, Component, Injector, OnDestroy, OnInit } from '@angular/core'; -import { BehaviorSubject, Observable, of as observableOf, Subscription } from 'rxjs'; -import { MenuService } from './menu.service'; -import { distinctUntilChanged, map, mergeMap, switchMap } from 'rxjs/operators'; -import { GenericConstructor } from '../../core/shared/generic-constructor'; -import { hasValue, isNotEmptyOperator } from '../empty.util'; -import { MenuSectionComponent } from './menu-section/menu-section.component'; -import { getComponentForMenu } from './menu-section.decorator'; -import { compareArraysUsingIds } from '../../item-page/simple/item-types/shared/item-relationships-utils'; -import { MenuSection } from './menu-section.model'; -import { MenuID } from './menu-id.model'; +import { + ChangeDetectionStrategy, + Component, + Injector, + OnDestroy, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; +import { + BehaviorSubject, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + map, + mergeMap, + switchMap, +} from 'rxjs/operators'; + import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../core/data/feature-authorization/feature-id'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { compareArraysUsingIds } from '../../item-page/simple/item-types/shared/item-relationships-utils'; +import { + hasValue, + isNotEmptyOperator, +} from '../empty.util'; import { ThemeService } from '../theme-support/theme.service'; +import { MenuService } from './menu.service'; +import { MenuID } from './menu-id.model'; +import { getComponentForMenu } from './menu-section.decorator'; +import { MenuSection } from './menu-section.model'; +import { MenuSectionComponent } from './menu-section/menu-section.component'; /** * A basic implementation of a MenuComponent diff --git a/src/app/shared/menu/menu.module.ts b/src/app/shared/menu/menu.module.ts index e5427125d0..e650788f88 100644 --- a/src/app/shared/menu/menu.module.ts +++ b/src/app/shared/menu/menu.module.ts @@ -1,13 +1,14 @@ -import { MenuSectionComponent } from './menu-section/menu-section.component'; -import { MenuComponent } from './menu.component'; -import { NgModule } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterModule } from '@angular/router'; -import { LinkMenuItemComponent } from './menu-item/link-menu-item.component'; -import { TextMenuItemComponent } from './menu-item/text-menu-item.component'; -import { OnClickMenuItemComponent } from './menu-item/onclick-menu-item.component'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MenuComponent } from './menu.component'; import { ExternalLinkMenuItemComponent } from './menu-item/external-link-menu-item.component'; +import { LinkMenuItemComponent } from './menu-item/link-menu-item.component'; +import { OnClickMenuItemComponent } from './menu-item/onclick-menu-item.component'; +import { TextMenuItemComponent } from './menu-item/text-menu-item.component'; +import { MenuSectionComponent } from './menu-section/menu-section.component'; const COMPONENTS = [ MenuSectionComponent, diff --git a/src/app/shared/menu/menu.reducer.spec.ts b/src/app/shared/menu/menu.reducer.spec.ts index afe9265a42..e2ec28edef 100644 --- a/src/app/shared/menu/menu.reducer.spec.ts +++ b/src/app/shared/menu/menu.reducer.spec.ts @@ -1,5 +1,7 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; + +import { initialMenusState} from './initial-menus-state'; import { ActivateMenuSectionAction, AddMenuSectionAction, @@ -17,9 +19,8 @@ import { ToggleMenuAction, } from './menu.actions'; import { menusReducer } from './menu.reducer'; -import { initialMenusState} from './initial-menus-state'; -import { MenuSectionIndex } from './menu-section-Index.model'; import { MenuID } from './menu-id.model'; +import { MenuSectionIndex } from './menu-section-Index.model'; let visibleSection1; let dummyState; diff --git a/src/app/shared/menu/menu.reducer.ts b/src/app/shared/menu/menu.reducer.ts index 2fdc756f7e..e25cb24acf 100644 --- a/src/app/shared/menu/menu.reducer.ts +++ b/src/app/shared/menu/menu.reducer.ts @@ -1,3 +1,5 @@ +import { hasValue } from '../empty.util'; +import { initialMenusState} from './initial-menus-state'; import { ActivateMenuSectionAction, AddMenuSectionAction, @@ -10,14 +12,12 @@ import { ShowMenuSectionAction, ToggleActiveMenuSectionAction, } from './menu.actions'; -import { initialMenusState} from './initial-menus-state'; -import { hasValue } from '../empty.util'; -import { MenusState } from './menus-state.model'; -import { MenuState } from './menu-state.model'; +import { MenuID } from './menu-id.model'; +import { MenuSection } from './menu-section.model'; import { MenuSectionIndex } from './menu-section-Index.model'; import { MenuSections } from './menu-sections.model'; -import { MenuSection } from './menu-section.model'; -import { MenuID } from './menu-id.model'; +import { MenuState } from './menu-state.model'; +import { MenusState } from './menus-state.model'; /** * Reducer that handles MenuActions to update the MenusState diff --git a/src/app/shared/menu/menu.service.spec.ts b/src/app/shared/menu/menu.service.spec.ts index ce8a241b38..ea44508bf0 100644 --- a/src/app/shared/menu/menu.service.spec.ts +++ b/src/app/shared/menu/menu.service.spec.ts @@ -1,11 +1,17 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; - -import { of as observableOf } from 'rxjs'; -import { Store, StoreModule } from '@ngrx/store'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { NavigationEnd } from '@angular/router'; +import { + Store, + StoreModule, +} from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; import { cold } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; -import { MenuService } from './menu.service'; +import { storeModuleConfig } from '../../app.reducer'; import { ActivateMenuSectionAction, AddMenuSectionAction, @@ -21,12 +27,11 @@ import { ToggleMenuAction, } from './menu.actions'; import { menusReducer } from './menu.reducer'; -import { storeModuleConfig } from '../../app.reducer'; -import { MenuSection } from './menu-section.model'; +import { MenuService } from './menu.service'; import { MenuID } from './menu-id.model'; -import { MenuItemType } from './menu-item-type.model'; import { LinkMenuItemModel } from './menu-item/models/link.model'; -import { NavigationEnd } from '@angular/router'; +import { MenuItemType } from './menu-item-type.model'; +import { MenuSection } from './menu-section.model'; describe('MenuService', () => { let service: MenuService; diff --git a/src/app/shared/menu/menu.service.ts b/src/app/shared/menu/menu.service.ts index d8b6449248..ba887efdc8 100644 --- a/src/app/shared/menu/menu.service.ts +++ b/src/app/shared/menu/menu.service.ts @@ -1,8 +1,37 @@ import { Injectable } from '@angular/core'; -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; -import { AppState, keySelector } from '../../app.reducer'; -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { filter, map, switchMap, take } from 'rxjs/operators'; +import { + ActivatedRoute, + NavigationEnd, + Router, +} from '@angular/router'; +import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; + +import { + AppState, + keySelector, +} from '../../app.reducer'; +import { + hasNoValue, + hasValue, + hasValueOperator, + isEmpty, + isNotEmpty, +} from '../empty.util'; import { ActivateMenuSectionAction, AddMenuSectionAction, @@ -11,18 +40,18 @@ import { DeactivateMenuSectionAction, ExpandMenuAction, ExpandMenuPreviewAction, - HideMenuAction, HideMenuSectionAction, + HideMenuAction, + HideMenuSectionAction, RemoveMenuSectionAction, - ShowMenuAction, ShowMenuSectionAction, + ShowMenuAction, + ShowMenuSectionAction, ToggleActiveMenuSectionAction, ToggleMenuAction, } from './menu.actions'; -import { hasNoValue, hasValue, hasValueOperator, isNotEmpty, isEmpty } from '../empty.util'; -import { MenuState } from './menu-state.model'; -import { MenuSections } from './menu-sections.model'; -import { MenuSection } from './menu-section.model'; import { MenuID } from './menu-id.model'; -import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; +import { MenuSection } from './menu-section.model'; +import { MenuSections } from './menu-sections.model'; +import { MenuState } from './menu-state.model'; export function menuKeySelector(key: string, selector): MemoizedSelector { return createSelector(selector, (state) => { diff --git a/src/app/shared/menu/menus-state.model.ts b/src/app/shared/menu/menus-state.model.ts index 9590fa1760..096da4d3eb 100644 --- a/src/app/shared/menu/menus-state.model.ts +++ b/src/app/shared/menu/menus-state.model.ts @@ -1,5 +1,5 @@ -import { MenuState } from './menu-state.model'; import { MenuID } from './menu-id.model'; +import { MenuState } from './menu-state.model'; /** * Represents the state of all menus in the store diff --git a/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts b/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts index 074ba24b32..0047e72640 100644 --- a/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts +++ b/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts @@ -1,6 +1,13 @@ /* eslint-disable max-classes-per-file */ -import { Component, Input } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + Component, + Input, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { MetadataFieldWrapperComponent } from './metadata-field-wrapper.component'; diff --git a/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.ts b/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.ts index bf7615ffbb..0a159e76ec 100644 --- a/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.ts +++ b/src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; /** * This component renders any content inside this wrapper. diff --git a/src/app/shared/metadata-representation/metadata-representation-loader.component.spec.ts b/src/app/shared/metadata-representation/metadata-representation-loader.component.spec.ts index 81cba104ef..da5ba222f5 100644 --- a/src/app/shared/metadata-representation/metadata-representation-loader.component.spec.ts +++ b/src/app/shared/metadata-representation/metadata-representation-loader.component.spec.ts @@ -1,15 +1,23 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; + import { Context } from '../../core/shared/context.model'; import { MetadataRepresentation, MetadataRepresentationType, } from '../../core/shared/metadata-representation/metadata-representation.model'; -import { MetadataRepresentationLoaderComponent } from './metadata-representation-loader.component'; -import { MetadataRepresentationDirective } from './metadata-representation.directive'; -import { METADATA_REPRESENTATION_COMPONENT_FACTORY } from './metadata-representation.decorator'; -import { ThemeService } from '../theme-support/theme.service'; import { PlainTextMetadataListElementComponent } from '../object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component'; +import { ThemeService } from '../theme-support/theme.service'; +import { METADATA_REPRESENTATION_COMPONENT_FACTORY } from './metadata-representation.decorator'; +import { MetadataRepresentationDirective } from './metadata-representation.directive'; +import { MetadataRepresentationLoaderComponent } from './metadata-representation-loader.component'; const testType = 'TestType'; const testContext = Context.Search; diff --git a/src/app/shared/metadata-representation/metadata-representation-loader.component.ts b/src/app/shared/metadata-representation/metadata-representation-loader.component.ts index bd344594db..2c0325f51f 100644 --- a/src/app/shared/metadata-representation/metadata-representation-loader.component.ts +++ b/src/app/shared/metadata-representation/metadata-representation-loader.component.ts @@ -1,15 +1,32 @@ -import { Component, ComponentFactoryResolver, Inject, Input, OnInit, ViewChild, OnChanges, SimpleChanges, ComponentRef, ViewContainerRef, ComponentFactory } from '@angular/core'; +import { + Component, + ComponentFactory, + ComponentFactoryResolver, + ComponentRef, + Inject, + Input, + OnChanges, + OnInit, + SimpleChanges, + ViewChild, + ViewContainerRef, +} from '@angular/core'; + +import { Context } from '../../core/shared/context.model'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; import { MetadataRepresentation, MetadataRepresentationType, } from '../../core/shared/metadata-representation/metadata-representation.model'; -import { METADATA_REPRESENTATION_COMPONENT_FACTORY } from './metadata-representation.decorator'; -import { Context } from '../../core/shared/context.model'; -import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../empty.util'; import { MetadataRepresentationListElementComponent } from '../object-list/metadata-representation-list-element/metadata-representation-list-element.component'; -import { MetadataRepresentationDirective } from './metadata-representation.directive'; -import { hasValue, isNotEmpty, hasNoValue } from '../empty.util'; import { ThemeService } from '../theme-support/theme.service'; +import { METADATA_REPRESENTATION_COMPONENT_FACTORY } from './metadata-representation.decorator'; +import { MetadataRepresentationDirective } from './metadata-representation.directive'; @Component({ selector: 'ds-metadata-representation-loader', diff --git a/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts b/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts index 4640d39f07..8a6ac7eb22 100644 --- a/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts +++ b/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts @@ -1,14 +1,15 @@ /* eslint-disable max-classes-per-file */ +import { v4 as uuidv4 } from 'uuid'; + +import { environment } from '../../../environments/environment'; +import { Context } from '../../core/shared/context.model'; +import { MetadataRepresentationType } from '../../core/shared/metadata-representation/metadata-representation.model'; import { DEFAULT_ENTITY_TYPE, DEFAULT_REPRESENTATION_TYPE, getMetadataRepresentationComponent, metadataRepresentationComponent, } from './metadata-representation.decorator'; -import { MetadataRepresentationType } from '../../core/shared/metadata-representation/metadata-representation.model'; -import { Context } from '../../core/shared/context.model'; -import { v4 as uuidv4 } from 'uuid'; -import { environment } from '../../../environments/environment'; let ogEnvironmentThemes; diff --git a/src/app/shared/metadata-representation/metadata-representation.decorator.ts b/src/app/shared/metadata-representation/metadata-representation.decorator.ts index f94259bd8b..1267aa60c0 100644 --- a/src/app/shared/metadata-representation/metadata-representation.decorator.ts +++ b/src/app/shared/metadata-representation/metadata-representation.decorator.ts @@ -1,11 +1,16 @@ -import { MetadataRepresentationType } from '../../core/shared/metadata-representation/metadata-representation.model'; -import { hasNoValue, hasValue } from '../empty.util'; -import { Context } from '../../core/shared/context.model'; import { InjectionToken } from '@angular/core'; + +import { Context } from '../../core/shared/context.model'; import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { MetadataRepresentationType } from '../../core/shared/metadata-representation/metadata-representation.model'; import { + hasNoValue, + hasValue, +} from '../empty.util'; +import { + DEFAULT_CONTEXT, + DEFAULT_THEME, resolveTheme, - DEFAULT_THEME, DEFAULT_CONTEXT, } from '../object-collection/shared/listable-object/listable-object.decorator'; export const METADATA_REPRESENTATION_COMPONENT_FACTORY = new InjectionToken<(entityType: string, mdRepresentationType: MetadataRepresentationType, context: Context, theme: string) => GenericConstructor>('getMetadataRepresentationComponent', { diff --git a/src/app/shared/metadata-representation/metadata-representation.directive.ts b/src/app/shared/metadata-representation/metadata-representation.directive.ts index 9ff0573baf..605d3ca176 100644 --- a/src/app/shared/metadata-representation/metadata-representation.directive.ts +++ b/src/app/shared/metadata-representation/metadata-representation.directive.ts @@ -1,4 +1,7 @@ -import { Directive, ViewContainerRef } from '@angular/core'; +import { + Directive, + ViewContainerRef, +} from '@angular/core'; @Directive({ selector: '[dsMetadataRepresentation]', diff --git a/src/app/shared/mocks/active-router.mock.ts b/src/app/shared/mocks/active-router.mock.ts index 12fb45df6b..0d5895095b 100644 --- a/src/app/shared/mocks/active-router.mock.ts +++ b/src/app/shared/mocks/active-router.mock.ts @@ -1,5 +1,4 @@ import { Params } from '@angular/router'; - import { BehaviorSubject } from 'rxjs'; export class MockActivatedRoute { diff --git a/src/app/shared/mocks/admin-guard.service.mock.ts b/src/app/shared/mocks/admin-guard.service.mock.ts index 5d77f4610c..ee7b599324 100644 --- a/src/app/shared/mocks/admin-guard.service.mock.ts +++ b/src/app/shared/mocks/admin-guard.service.mock.ts @@ -1,5 +1,10 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + CanActivate, + CanActivateChild, + RouterStateSnapshot, +} from '@angular/router'; import { hasValue } from '../empty.util'; diff --git a/src/app/shared/mocks/auth.service.mock.ts b/src/app/shared/mocks/auth.service.mock.ts index c32615a4f6..c5737ca170 100644 --- a/src/app/shared/mocks/auth.service.mock.ts +++ b/src/app/shared/mocks/auth.service.mock.ts @@ -1,5 +1,8 @@ /* eslint-disable no-empty, @typescript-eslint/no-empty-function */ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; export class AuthServiceMock { public checksAuthenticationToken() { diff --git a/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.spec.ts b/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.spec.ts index 1c1f491a51..84664b7b20 100644 --- a/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.spec.ts +++ b/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.spec.ts @@ -1,5 +1,9 @@ -import { HttpHeaders, HttpResponse } from '@angular/common/http'; +import { + HttpHeaders, + HttpResponse, +} from '@angular/common/http'; import { of as observableOf } from 'rxjs'; + import { RestRequestMethod } from '../../../core/data/rest-request-method'; import { EndpointMockingRestService } from './endpoint-mocking-rest.service'; import { ResponseMapMock } from './mocks/response-map.mock'; diff --git a/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.ts b/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.ts index d03ce8eec6..ad867e0cf0 100644 --- a/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.ts +++ b/src/app/shared/mocks/dspace-rest/endpoint-mocking-rest.service.ts @@ -1,13 +1,28 @@ -import { HttpClient, HttpHeaders } from '@angular/common/http'; -import { Inject, Injectable } from '@angular/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { isEmpty } from '../../empty.util'; -import { RestRequestMethod } from '../../../core/data/rest-request-method'; +import { + HttpClient, + HttpHeaders, +} from '@angular/common/http'; +import { + Inject, + Injectable, +} from '@angular/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; -import { RawRestResponse } from '../../../core/dspace-rest/raw-rest-response.model'; -import { DspaceRestService, HttpOptions } from '../../../core/dspace-rest/dspace-rest.service'; -import { MOCK_RESPONSE_MAP, ResponseMapMock } from './mocks/response-map.mock'; import { environment } from '../../../../environments/environment'; +import { RestRequestMethod } from '../../../core/data/rest-request-method'; +import { + DspaceRestService, + HttpOptions, +} from '../../../core/dspace-rest/dspace-rest.service'; +import { RawRestResponse } from '../../../core/dspace-rest/raw-rest-response.model'; +import { isEmpty } from '../../empty.util'; +import { + MOCK_RESPONSE_MAP, + ResponseMapMock, +} from './mocks/response-map.mock'; /** * Service to access DSpace's REST API. diff --git a/src/app/shared/mocks/find-id-config-data.service.mock.ts b/src/app/shared/mocks/find-id-config-data.service.mock.ts index 581cae040d..1be0fc5720 100644 --- a/src/app/shared/mocks/find-id-config-data.service.mock.ts +++ b/src/app/shared/mocks/find-id-config-data.service.mock.ts @@ -1,5 +1,5 @@ -import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; +import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; export function getMockFindByIdDataService(propertyKey: string, ...values: string[]) { return jasmine.createSpyObj('findByIdDataService', { diff --git a/src/app/shared/mocks/form-builder-service.mock.ts b/src/app/shared/mocks/form-builder-service.mock.ts index 422c7ca38a..abdbf80053 100644 --- a/src/app/shared/mocks/form-builder-service.mock.ts +++ b/src/app/shared/mocks/form-builder-service.mock.ts @@ -1,6 +1,10 @@ -import { FormBuilderService } from '../form/builder/form-builder.service'; -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; + import {DsDynamicInputModel} from '../form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { FormBuilderService } from '../form/builder/form-builder.service'; export function getMockFormBuilderService(): FormBuilderService { diff --git a/src/app/shared/mocks/form-models.mock.ts b/src/app/shared/mocks/form-models.mock.ts index 1320284261..603452e6e0 100644 --- a/src/app/shared/mocks/form-models.mock.ts +++ b/src/app/shared/mocks/form-models.mock.ts @@ -1,19 +1,19 @@ import { DynamicSelectModel } from '@ng-dynamic-forms/core'; +import { FormRowModel } from '../../core/config/models/config-submission-form.model'; +import { SubmissionScopeType } from '../../core/submission/submission-scope-type'; +import { VocabularyEntry } from '../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; import { DsDynamicInputModel } from '../form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; import { DynamicQualdropModel } from '../form/builder/ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; import { DynamicRowArrayModel, DynamicRowArrayModelConfig, } from '../form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; -import { SubmissionScopeType } from '../../core/submission/submission-scope-type'; +import { DynamicRowGroupModel } from '../form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; import { DynamicRelationGroupModel } from '../form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; import { FormFieldModel } from '../form/builder/models/form-field.model'; -import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; -import { VocabularyEntry } from '../../core/submission/vocabularies/models/vocabulary-entry.model'; import { FormFieldMetadataValueObject } from '../form/builder/models/form-field-metadata-value.model'; -import { DynamicRowGroupModel } from '../form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; -import { FormRowModel } from '../../core/config/models/config-submission-form.model'; export const qualdropSelectConfig = { name: 'dc.identifier_QUALDROP_METADATA', diff --git a/src/app/shared/mocks/host-window-service.mock.ts b/src/app/shared/mocks/host-window-service.mock.ts index 4c8cd2b633..1e5bf222d7 100644 --- a/src/app/shared/mocks/host-window-service.mock.ts +++ b/src/app/shared/mocks/host-window-service.mock.ts @@ -1,4 +1,7 @@ -import {of as observableOf, Observable } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; // declare a stub service export class HostWindowServiceMock { diff --git a/src/app/shared/mocks/href-only-data.service.mock.ts b/src/app/shared/mocks/href-only-data.service.mock.ts index ba7d02ec25..a54b94c601 100644 --- a/src/app/shared/mocks/href-only-data.service.mock.ts +++ b/src/app/shared/mocks/href-only-data.service.mock.ts @@ -1,7 +1,11 @@ import { Observable } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; + import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; import { createPaginatedList } from '../testing/utils.test'; export function getMockHrefOnlyDataService( diff --git a/src/app/shared/mocks/item.mock.ts b/src/app/shared/mocks/item.mock.ts index 902a4f2556..7f723bfd61 100644 --- a/src/app/shared/mocks/item.mock.ts +++ b/src/app/shared/mocks/item.mock.ts @@ -1,11 +1,11 @@ import { of as observableOf } from 'rxjs'; -import { BitstreamFormat } from '../../core/shared/bitstream-format.model'; -import { Bitstream } from '../../core/shared/bitstream.model'; +import { Bitstream } from '../../core/shared/bitstream.model'; +import { BitstreamFormat } from '../../core/shared/bitstream-format.model'; +import { Bundle } from '../../core/shared/bundle.model'; import { Item } from '../../core/shared/item.model'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { createPaginatedList } from '../testing/utils.test'; -import { Bundle } from '../../core/shared/bundle.model'; export const MockBitstreamFormat1: BitstreamFormat = Object.assign(new BitstreamFormat(), { shortDescription: 'Microsoft Word XML', diff --git a/src/app/shared/mocks/remote-data-build.service.mock.ts b/src/app/shared/mocks/remote-data-build.service.mock.ts index 6cb2c3efda..a44e54c92c 100644 --- a/src/app/shared/mocks/remote-data-build.service.mock.ts +++ b/src/app/shared/mocks/remote-data-build.service.mock.ts @@ -1,12 +1,19 @@ import { Observable } from 'rxjs'; -import { map, switchMap } from 'rxjs/operators'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { RemoteDataBuildService } from '../../core/cache/builders/remote-data-build.service'; -import { PaginatedList, buildPaginatedList } from '../../core/data/paginated-list.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { RequestEntry } from '../../core/data/request-entry.model'; import { PageInfo } from '../../core/shared/page-info.model'; import { hasValue } from '../empty.util'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { RequestEntry } from '../../core/data/request-entry.model'; export function getMockRemoteDataBuildService(toRemoteDataObservable$?: Observable>, buildList$?: Observable>>): RemoteDataBuildService { return { diff --git a/src/app/shared/mocks/request.service.mock.ts b/src/app/shared/mocks/request.service.mock.ts index 3da6048ca7..fd6dd7fdfb 100644 --- a/src/app/shared/mocks/request.service.mock.ts +++ b/src/app/shared/mocks/request.service.mock.ts @@ -1,4 +1,8 @@ -import {of as observableOf, Observable } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { RequestService } from '../../core/data/request.service'; import SpyObj = jasmine.SpyObj; import { RequestEntry } from '../../core/data/request-entry.model'; diff --git a/src/app/shared/mocks/role-service.mock.ts b/src/app/shared/mocks/role-service.mock.ts index f13ae501ef..2ab9978e62 100644 --- a/src/app/shared/mocks/role-service.mock.ts +++ b/src/app/shared/mocks/role-service.mock.ts @@ -1,4 +1,8 @@ -import { BehaviorSubject, Observable } from 'rxjs'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; + import { RoleType } from '../../core/roles/role-types'; export class RoleServiceMock { diff --git a/src/app/shared/mocks/search-service.mock.ts b/src/app/shared/mocks/search-service.mock.ts index 4dea4360df..41db3cd8e2 100644 --- a/src/app/shared/mocks/search-service.mock.ts +++ b/src/app/shared/mocks/search-service.mock.ts @@ -1,4 +1,5 @@ import { of as observableOf } from 'rxjs'; + import { SearchService } from '../../core/shared/search/search.service'; export function getMockSearchService(): SearchService { diff --git a/src/app/shared/mocks/section-accesses-config.service.mock.ts b/src/app/shared/mocks/section-accesses-config.service.mock.ts index 639b611ab0..8e03913528 100644 --- a/src/app/shared/mocks/section-accesses-config.service.mock.ts +++ b/src/app/shared/mocks/section-accesses-config.service.mock.ts @@ -1,5 +1,5 @@ -import { SubmissionFormsConfigDataService } from '../../core/config/submission-forms-config-data.service'; import { SubmissionFormsModel } from '../../core/config/models/config-submission-forms.model'; +import { SubmissionFormsConfigDataService } from '../../core/config/submission-forms-config-data.service'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; const configRes = Object.assign(new SubmissionFormsModel(), { diff --git a/src/app/shared/mocks/section-accesses.service.mock.ts b/src/app/shared/mocks/section-accesses.service.mock.ts index 5302b37a63..e212bfccbb 100644 --- a/src/app/shared/mocks/section-accesses.service.mock.ts +++ b/src/app/shared/mocks/section-accesses.service.mock.ts @@ -1,6 +1,7 @@ -import { SubmissionFormsModel } from '../../core/config/models/config-submission-forms.model'; import { of as observableOf } from 'rxjs'; +import { SubmissionFormsModel } from '../../core/config/models/config-submission-forms.model'; + const dataRes = Object.assign(new SubmissionFormsModel(), { 'id': 'AccessConditionDefaultConfiguration', 'accessConditions': [], diff --git a/src/app/shared/mocks/section-sherpa-policies.service.mock.ts b/src/app/shared/mocks/section-sherpa-policies.service.mock.ts index 3bb3aacb9a..f379af2568 100644 --- a/src/app/shared/mocks/section-sherpa-policies.service.mock.ts +++ b/src/app/shared/mocks/section-sherpa-policies.service.mock.ts @@ -1,6 +1,4 @@ -import { - WorkspaceitemSectionSherpaPoliciesObject, -} from '../../core/submission/models/workspaceitem-section-sherpa-policies.model'; +import { WorkspaceitemSectionSherpaPoliciesObject } from '../../core/submission/models/workspaceitem-section-sherpa-policies.model'; export const SherpaDataResponse = { 'id': 'sherpaPolicies', diff --git a/src/app/shared/mocks/theme-service.mock.ts b/src/app/shared/mocks/theme-service.mock.ts index e3c2960e51..c38c2fc9b1 100644 --- a/src/app/shared/mocks/theme-service.mock.ts +++ b/src/app/shared/mocks/theme-service.mock.ts @@ -1,7 +1,8 @@ -import { ThemeService } from '../theme-support/theme.service'; import { of as observableOf } from 'rxjs'; + import { ThemeConfig } from '../../../config/theme.model'; import { isNotEmpty } from '../empty.util'; +import { ThemeService } from '../theme-support/theme.service'; export function getMockThemeService(themeName = 'base', themes?: ThemeConfig[]): ThemeService { const spy = jasmine.createSpyObj('themeService', { diff --git a/src/app/shared/mocks/translate-loader.mock.ts b/src/app/shared/mocks/translate-loader.mock.ts index 3251de9ea1..ea1ee7528e 100644 --- a/src/app/shared/mocks/translate-loader.mock.ts +++ b/src/app/shared/mocks/translate-loader.mock.ts @@ -1,5 +1,8 @@ -import {of as observableOf, Observable } from 'rxjs'; import { TranslateLoader } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; export class TranslateLoaderMock implements TranslateLoader { getTranslation(lang: string): Observable { diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts index f477332560..086cd9d81a 100644 --- a/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts @@ -1,13 +1,23 @@ -import { Component, OnInit, Injector } from '@angular/core'; -import { ClaimedTaskActionsAbstractComponent } from './claimed-task-actions-abstract.component'; +import { + Component, + Injector, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + NavigationExtras, + Params, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; + +import { RequestService } from '../../../../core/data/request.service'; import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { getAdvancedWorkflowRoute } from '../../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; -import { Params, Router, ActivatedRoute, NavigationExtras } from '@angular/router'; import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; +import { ClaimedTaskActionsAbstractComponent } from './claimed-task-actions-abstract.component'; /** * Abstract component for rendering an advanced claimed task's action diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts index fc70a5dfb7..2af6713885 100644 --- a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts @@ -1,20 +1,25 @@ -import { Component, Injector, OnDestroy } from '@angular/core'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { + Component, + Injector, + OnDestroy, +} from '@angular/core'; import { Router } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; import { Observable } from 'rxjs'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { take } from 'rxjs/operators'; -import { CLAIMED_TASK } from '../../../../core/tasks/models/claimed-task-object.resource-type'; + +import { RemoteData } from '../../../../core/data/remote-data'; +import { RequestService } from '../../../../core/data/request.service'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; import { Item } from '../../../../core/shared/item.model'; -import { MyDSpaceReloadableActionsComponent } from '../../mydspace-reloadable-actions'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { CLAIMED_TASK } from '../../../../core/tasks/models/claimed-task-object.resource-type'; import { isEmpty } from '../../../empty.util'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { MyDSpaceReloadableActionsComponent } from '../../mydspace-reloadable-actions'; /** * Abstract component for rendering a claimed task's action diff --git a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts index 9d1d181dd3..0d1463d44b 100644 --- a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts @@ -1,23 +1,37 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { of, of as observableOf } from 'rxjs'; +import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { + of as observableOf, + of, +} from 'rxjs'; -import { ClaimedTaskActionsApproveComponent } from './claimed-task-actions-approve.component'; -import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; -import { getMockSearchService } from '../../../mocks/search-service.mock'; -import { getMockRequestService } from '../../../mocks/request.service.mock'; import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { Router } from '@angular/router'; import { RouterStub } from '../../../testing/router.stub'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; +import { ClaimedTaskActionsApproveComponent } from './claimed-task-actions-approve.component'; let component: ClaimedTaskActionsApproveComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts index 2a41000852..809754ed7e 100644 --- a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts @@ -1,15 +1,22 @@ -import { Component, Injector } from '@angular/core'; +import { + Component, + Injector, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { + Observable, + of, +} from 'rxjs'; + +import { RemoteData } from '../../../../core/data/remote-data'; +import { RequestService } from '../../../../core/data/request.service'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { ClaimedApprovedTaskSearchResult } from '../../../object-collection/shared/claimed-approved-task-search-result.model'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; -import { Observable, of } from 'rxjs'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { Router } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { ClaimedApprovedTaskSearchResult } from '../../../object-collection/shared/claimed-approved-task-search-result.model'; export const WORKFLOW_TASK_OPTION_APPROVE = 'submit_approve'; diff --git a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.spec.ts index 22f2ccbde6..2d1453da71 100644 --- a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.spec.ts @@ -1,28 +1,41 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { Router } from '@angular/router'; - +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { RequestService } from '../../../core/data/request.service'; +import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { ClaimedTask } from '../../../core/tasks/models/claimed-task-object.model'; +import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; +import { getMockRequestService } from '../../mocks/request.service.mock'; +import { getMockSearchService } from '../../mocks/search-service.mock'; import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; import { NotificationsService } from '../../notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../remote-data.utils'; import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; import { RouterStub } from '../../testing/router.stub'; -import { Item } from '../../../core/shared/item.model'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; -import { ClaimedTaskActionsComponent } from './claimed-task-actions.component'; -import { ClaimedTask } from '../../../core/tasks/models/claimed-task-object.model'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { getMockSearchService } from '../../mocks/search-service.mock'; -import { getMockRequestService } from '../../mocks/request.service.mock'; -import { RequestService } from '../../../core/data/request.service'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; -import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; import { VarDirective } from '../../utils/var.directive'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { By } from '@angular/platform-browser'; +import { ClaimedTaskActionsComponent } from './claimed-task-actions.component'; let component: ClaimedTaskActionsComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts index 195a2193e5..c1705b44fc 100644 --- a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts @@ -1,21 +1,25 @@ -import { Component, Injector, Input, OnInit } from '@angular/core'; +import { + Component, + Injector, + Input, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - -import { Observable } from 'rxjs'; import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; import { ClaimedTask } from '../../../core/tasks/models/claimed-task-object.model'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { RemoteData } from '../../../core/data/remote-data'; -import { MyDSpaceActionsComponent } from '../mydspace-actions'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { RequestService } from '../../../core/data/request.service'; -import { SearchService } from '../../../core/shared/search/search.service'; import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; -import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; import { getWorkflowItemViewRoute } from '../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; -import { Item } from '../../../core/shared/item.model'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { MyDSpaceActionsComponent } from '../mydspace-actions'; /** * This component represents actions related to ClaimedTask object. diff --git a/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.spec.ts index ae297b8d94..05500da7f4 100644 --- a/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.spec.ts @@ -1,21 +1,33 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; +import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { getMockSearchService } from '../../../mocks/search-service.mock'; -import { getMockRequestService } from '../../../mocks/request.service.mock'; import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { Router } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { ClaimedTaskActionsDeclineTaskComponent } from './claimed-task-actions-decline-task.component'; import { ClaimedTaskDataServiceStub } from '../../../testing/claimed-task-data-service.stub'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { RouterStub } from '../../../testing/router.stub'; +import { ClaimedTaskActionsDeclineTaskComponent } from './claimed-task-actions-decline-task.component'; let component: ClaimedTaskActionsDeclineTaskComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.ts b/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.ts index 03aea78663..c134647f15 100644 --- a/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.ts @@ -1,17 +1,22 @@ -import { Component, Injector } from '@angular/core'; -import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; -import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; +import { + Component, + Injector, +} from '@angular/core'; import { Router } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { RemoteData } from 'src/app/core/data/remote-data'; + import { RequestService } from '../../../../core/data/request.service'; import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { - ClaimedDeclinedTaskTaskSearchResult, -} from '../../../object-collection/shared/claimed-declined-task-task-search-result.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { RemoteData } from 'src/app/core/data/remote-data'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { ClaimedDeclinedTaskTaskSearchResult } from '../../../object-collection/shared/claimed-declined-task-task-search-result.model'; +import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; +import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; export const WORKFLOW_TASK_OPTION_DECLINE_TASK = 'submit_decline_task'; diff --git a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts index 7aae772951..680dc27502 100644 --- a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts @@ -1,21 +1,32 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { ClaimedTaskActionsEditMetadataComponent } from './claimed-task-actions-edit-metadata.component'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { TranslateLoaderMock } from '../../../testing/translate-loader.mock'; -import { getMockSearchService } from '../../../mocks/search-service.mock'; -import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { Router } from '@angular/router'; import { RouterStub } from '../../../testing/router.stub'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; +import { TranslateLoaderMock } from '../../../testing/translate-loader.mock'; +import { ClaimedTaskActionsEditMetadataComponent } from './claimed-task-actions-edit-metadata.component'; let component: ClaimedTaskActionsEditMetadataComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts index 7da189dddd..aab15afc58 100644 --- a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts @@ -1,11 +1,15 @@ -import { Component, Injector } from '@angular/core'; +import { + Component, + Injector, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; + +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; -import { Router } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; export const WORKFLOW_TASK_OPTION_EDIT_METADATA = 'submit_edit_metadata'; diff --git a/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.spec.ts index 76c26d18eb..a768832b7e 100644 --- a/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.spec.ts @@ -1,25 +1,30 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { AdvancedClaimedTaskActionRatingComponent } from './advanced-claimed-task-action-rating.component'; +import { Location } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { ADVANCED_WORKFLOW_ACTION_RATING } from '../../../../workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { ActivatedRouteStub } from '../../../testing/active-router.stub'; import { ClaimedTaskDataServiceStub } from '../../../testing/claimed-task-data-service.stub'; import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; import { RouterStub } from '../../../testing/router.stub'; import { SearchServiceStub } from '../../../testing/search-service.stub'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { Router, ActivatedRoute } from '@angular/router'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { Location } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { - ADVANCED_WORKFLOW_ACTION_RATING, -} from '../../../../workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component'; -import { of as observableOf } from 'rxjs'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { ActivatedRouteStub } from '../../../testing/active-router.stub'; +import { AdvancedClaimedTaskActionRatingComponent } from './advanced-claimed-task-action-rating.component'; const taskId = 'claimed-task-1'; const workflowId = 'workflow-1'; diff --git a/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.ts b/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.ts index 385e4746ad..0da68e7347 100644 --- a/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.ts @@ -1,16 +1,21 @@ -import { Component, Injector } from '@angular/core'; -import { Router, ActivatedRoute } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; import { - AdvancedClaimedTaskActionsAbstractComponent, -} from '../abstract/advanced-claimed-task-actions-abstract.component'; + Component, + Injector, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; + +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { ADVANCED_WORKFLOW_ACTION_RATING, ADVANCED_WORKFLOW_TASK_OPTION_RATING, } from '../../../../workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { AdvancedClaimedTaskActionsAbstractComponent } from '../abstract/advanced-claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; /** diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts index a96b6c7440..812b1963a8 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts @@ -1,27 +1,44 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { UntypedFormBuilder, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormBuilder, + UntypedFormGroup, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { + NgbModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of } from 'rxjs'; -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; - -import { ClaimedTaskActionsRejectComponent } from './claimed-task-actions-reject.component'; -import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { Router } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; -import { getMockSearchService } from '../../../mocks/search-service.mock'; import { getMockRequestService } from '../../../mocks/request.service.mock'; -import { of } from 'rxjs'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; +import { NotificationsService } from '../../../notifications/notifications.service'; import { ClaimedDeclinedTaskSearchResult } from '../../../object-collection/shared/claimed-declined-task-search-result.model'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { RouterStub } from '../../../testing/router.stub'; +import { ClaimedTaskActionsRejectComponent } from './claimed-task-actions-reject.component'; let component: ClaimedTaskActionsRejectComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts index 85a54eedc3..b55d43c745 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts @@ -1,18 +1,32 @@ -import { Component, Injector, OnInit } from '@angular/core'; -import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; +import { + Component, + Injector, + OnInit, +} from '@angular/core'; +import { + UntypedFormBuilder, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { Router } from '@angular/router'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { + Observable, + of, +} from 'rxjs'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { RequestService } from '../../../../core/data/request.service'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { ClaimedDeclinedTaskSearchResult } from '../../../object-collection/shared/claimed-declined-task-search-result.model'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; -import { Router } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { Observable, of } from 'rxjs'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { ClaimedDeclinedTaskSearchResult } from '../../../object-collection/shared/claimed-declined-task-search-result.model'; export const WORKFLOW_TASK_OPTION_REJECT = 'submit_reject'; diff --git a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts index baf78632a2..9ac6aba5d4 100644 --- a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts @@ -1,23 +1,35 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of } from 'rxjs'; -import { ClaimedTaskActionsReturnToPoolComponent } from './claimed-task-actions-return-to-pool.component'; +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { Router } from '@angular/router'; import { RouterStub } from '../../../testing/router.stub'; -import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { getMockSearchService } from '../../../mocks/search-service.mock'; -import { getMockRequestService } from '../../../mocks/request.service.mock'; -import { of } from 'rxjs'; +import { ClaimedTaskActionsReturnToPoolComponent } from './claimed-task-actions-return-to-pool.component'; let component: ClaimedTaskActionsReturnToPoolComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts index 7949176968..7970772f2f 100644 --- a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts @@ -1,16 +1,20 @@ -import { Component, Injector } from '@angular/core'; +import { + Component, + Injector, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { take } from 'rxjs/operators'; + +import { RemoteData } from '../../../../core/data/remote-data'; +import { RequestService } from '../../../../core/data/request.service'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; -import { Observable } from 'rxjs'; -import { Router } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; -import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; -import { take } from 'rxjs/operators'; export const WORKFLOW_TASK_OPTION_RETURN_TO_POOL = 'return_to_pool'; diff --git a/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.spec.ts index 33a0a4605f..d6b2a10b53 100644 --- a/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.spec.ts @@ -1,28 +1,31 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { - AdvancedClaimedTaskActionSelectReviewerComponent, -} from './advanced-claimed-task-action-select-reviewer.component'; -import { Router, ActivatedRoute } from '@angular/router'; -import { RouterStub } from '../../../testing/router.stub'; -import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { NotificationsService } from '../../../notifications/notifications.service'; -import { TranslateModule } from '@ngx-translate/core'; -import { SearchServiceStub } from '../../../testing/search-service.stub'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { ClaimedTaskDataServiceStub } from '../../../testing/claimed-task-data-service.stub'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { By } from '@angular/platform-browser'; -import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; import { Location } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; import { - ADVANCED_WORKFLOW_ACTION_SELECT_REVIEWER, -} from '../../../../workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { ADVANCED_WORKFLOW_ACTION_SELECT_REVIEWER } from '../../../../workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component'; +import { NotificationsService } from '../../../notifications/notifications.service'; import { ActivatedRouteStub } from '../../../testing/active-router.stub'; +import { ClaimedTaskDataServiceStub } from '../../../testing/claimed-task-data-service.stub'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { RouterStub } from '../../../testing/router.stub'; +import { SearchServiceStub } from '../../../testing/search-service.stub'; +import { AdvancedClaimedTaskActionSelectReviewerComponent } from './advanced-claimed-task-action-select-reviewer.component'; const taskId = 'claimed-task-1'; const workflowId = 'workflow-1'; diff --git a/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.ts b/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.ts index efb7fa5117..5081fc6ab4 100644 --- a/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.ts @@ -1,17 +1,22 @@ -import { Component, Injector } from '@angular/core'; -import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; import { - AdvancedClaimedTaskActionsAbstractComponent, -} from '../abstract/advanced-claimed-task-actions-abstract.component'; -import { Router, ActivatedRoute } from '@angular/router'; -import { NotificationsService } from '../../../notifications/notifications.service'; + Component, + Injector, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { SearchService } from '../../../../core/shared/search/search.service'; + import { RequestService } from '../../../../core/data/request.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { ADVANCED_WORKFLOW_ACTION_SELECT_REVIEWER, ADVANCED_WORKFLOW_TASK_OPTION_SELECT_REVIEWER, } from '../../../../workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { AdvancedClaimedTaskActionsAbstractComponent } from '../abstract/advanced-claimed-task-actions-abstract.component'; +import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; /** * Advanced Workflow button that redirect to the {@link AdvancedWorkflowActionSelectReviewerComponent} diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts index 961035f6fc..99edf00824 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts @@ -1,5 +1,8 @@ /* eslint-disable max-classes-per-file */ -import { getComponentByWorkflowTaskOption, rendersWorkflowTaskOption } from './claimed-task-actions-decorator'; +import { + getComponentByWorkflowTaskOption, + rendersWorkflowTaskOption, +} from './claimed-task-actions-decorator'; describe('ClaimedTaskActions decorator function', () => { const option1 = 'test_option_1'; diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts index aede5b3864..d965762c47 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts @@ -1,22 +1,31 @@ -import { ClaimedTaskActionsLoaderComponent } from './claimed-task-actions-loader.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ClaimedTaskActionsDirective } from './claimed-task-actions.directive'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; -import { ClaimedTaskActionsEditMetadataComponent } from '../edit-metadata/claimed-task-actions-edit-metadata.component'; + +import { RequestService } from '../../../../core/data/request.service'; +import { Item } from '../../../../core/shared/item.model'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; -import { Router } from '@angular/router'; import { RouterStub } from '../../../testing/router.stub'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { RequestService } from '../../../../core/data/request.service'; -import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; -import { getMockSearchService } from '../../../mocks/search-service.mock'; -import { getMockRequestService } from '../../../mocks/request.service.mock'; -import { Item } from '../../../../core/shared/item.model'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTaskActionsEditMetadataComponent } from '../edit-metadata/claimed-task-actions-edit-metadata.component'; +import { ClaimedTaskActionsDirective } from './claimed-task-actions.directive'; +import { ClaimedTaskActionsLoaderComponent } from './claimed-task-actions-loader.component'; const searchService = getMockSearchService(); diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts index 79739446a8..dc2493a507 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts @@ -1,23 +1,28 @@ import { Component, ComponentFactoryResolver, + ComponentRef, EventEmitter, Input, + OnChanges, OnInit, Output, - ViewChild, - OnChanges, SimpleChanges, - ComponentRef, + ViewChild, } from '@angular/core'; -import { getComponentByWorkflowTaskOption } from './claimed-task-actions-decorator'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { ClaimedTaskActionsDirective } from './claimed-task-actions.directive'; -import { hasValue, isNotEmpty, hasNoValue } from '../../../empty.util'; -import { MyDSpaceActionsResult } from '../../mydspace-actions'; + import { Item } from '../../../../core/shared/item.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../empty.util'; +import { MyDSpaceActionsResult } from '../../mydspace-actions'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; +import { ClaimedTaskActionsDirective } from './claimed-task-actions.directive'; +import { getComponentByWorkflowTaskOption } from './claimed-task-actions-decorator'; @Component({ selector: 'ds-claimed-task-actions-loader', diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions.directive.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions.directive.ts index a4a55b541b..c3f4ef22c7 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions.directive.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions.directive.ts @@ -1,4 +1,7 @@ -import { Directive, ViewContainerRef } from '@angular/core'; +import { + Directive, + ViewContainerRef, +} from '@angular/core'; @Directive({ selector: '[dsClaimedTaskActions]', diff --git a/src/app/shared/mydspace-actions/item/item-actions.component.spec.ts b/src/app/shared/mydspace-actions/item/item-actions.component.spec.ts index 1e8fe70f80..fce043191a 100644 --- a/src/app/shared/mydspace-actions/item/item-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/item/item-actions.component.spec.ts @@ -1,21 +1,31 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Router } from '@angular/router'; - +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; -import { RouterStub } from '../../testing/router.stub'; -import { Item } from '../../../core/shared/item.model'; -import { ItemActionsComponent } from './item-actions.component'; import { ItemDataService } from '../../../core/data/item-data.service'; +import { RequestService } from '../../../core/data/request.service'; +import { Item } from '../../../core/shared/item.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { getMockRequestService } from '../../mocks/request.service.mock'; +import { getMockSearchService } from '../../mocks/search-service.mock'; +import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; import { NotificationsService } from '../../notifications/notifications.service'; import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { RequestService } from '../../../core/data/request.service'; -import { getMockSearchService } from '../../mocks/search-service.mock'; -import { getMockRequestService } from '../../mocks/request.service.mock'; -import { SearchService } from '../../../core/shared/search/search.service'; +import { RouterStub } from '../../testing/router.stub'; +import { ItemActionsComponent } from './item-actions.component'; let component: ItemActionsComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/item/item-actions.component.ts b/src/app/shared/mydspace-actions/item/item-actions.component.ts index 4df11d65d9..a3288cae2c 100644 --- a/src/app/shared/mydspace-actions/item/item-actions.component.ts +++ b/src/app/shared/mydspace-actions/item/item-actions.component.ts @@ -1,13 +1,19 @@ -import { Component, Injector, Input, OnInit } from '@angular/core'; +import { + Component, + Injector, + Input, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { MyDSpaceActionsComponent } from '../mydspace-actions'; + import { ItemDataService } from '../../../core/data/item-data.service'; -import { Item } from '../../../core/shared/item.model'; -import { NotificationsService } from '../../notifications/notifications.service'; import { RequestService } from '../../../core/data/request.service'; +import { Item } from '../../../core/shared/item.model'; import { SearchService } from '../../../core/shared/search/search.service'; import { getItemPageRoute } from '../../../item-page/item-page-routing-paths'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { MyDSpaceActionsComponent } from '../mydspace-actions'; /** * This component represents mydspace actions related to Item object. diff --git a/src/app/shared/mydspace-actions/mydspace-actions-service.factory.ts b/src/app/shared/mydspace-actions/mydspace-actions-service.factory.ts index 6408dddac6..ef0e3d0ff7 100644 --- a/src/app/shared/mydspace-actions/mydspace-actions-service.factory.ts +++ b/src/app/shared/mydspace-actions/mydspace-actions-service.factory.ts @@ -1,16 +1,16 @@ -import { ResourceType } from '../../core/shared/resource-type'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; -import { ClaimedTaskDataService } from '../../core/tasks/claimed-task-data.service'; -import { PoolTaskDataService } from '../../core/tasks/pool-task-data.service'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { ItemDataService } from '../../core/data/item-data.service'; -import { Item } from '../../core/shared/item.model'; -import { PoolTask } from '../../core/tasks/models/pool-task-object.model'; -import { ClaimedTask } from '../../core/tasks/models/claimed-task-object.model'; -import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; -import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; import { CacheableObject } from '../../core/cache/cacheable-object.model'; import { IdentifiableDataService } from '../../core/data/base/identifiable-data.service'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { Item } from '../../core/shared/item.model'; +import { ResourceType } from '../../core/shared/resource-type'; +import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; +import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; +import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; +import { ClaimedTaskDataService } from '../../core/tasks/claimed-task-data.service'; +import { ClaimedTask } from '../../core/tasks/models/claimed-task-object.model'; +import { PoolTask } from '../../core/tasks/models/pool-task-object.model'; +import { PoolTaskDataService } from '../../core/tasks/pool-task-data.service'; /** * Class to return DataService for given ResourceType diff --git a/src/app/shared/mydspace-actions/mydspace-actions.module.ts b/src/app/shared/mydspace-actions/mydspace-actions.module.ts index 68e3a8fb58..14a4de5592 100644 --- a/src/app/shared/mydspace-actions/mydspace-actions.module.ts +++ b/src/app/shared/mydspace-actions/mydspace-actions.module.ts @@ -5,14 +5,15 @@ * * http://www.dspace.org/license/ */ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared.module'; import { ClaimedTaskActionsApproveComponent } from './claimed-task/approve/claimed-task-actions-approve.component'; +import { ClaimedTaskActionsComponent } from './claimed-task/claimed-task-actions.component'; +import { ClaimedTaskActionsEditMetadataComponent } from './claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component'; import { ClaimedTaskActionsRejectComponent } from './claimed-task/reject/claimed-task-actions-reject.component'; import { ClaimedTaskActionsReturnToPoolComponent } from './claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component'; -import { ClaimedTaskActionsEditMetadataComponent } from './claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component'; -import { ClaimedTaskActionsComponent } from './claimed-task/claimed-task-actions.component'; import { ClaimedTaskActionsLoaderComponent } from './claimed-task/switcher/claimed-task-actions-loader.component'; import { ItemActionsComponent } from './item/item-actions.component'; import { PoolTaskActionsComponent } from './pool-task/pool-task-actions.component'; diff --git a/src/app/shared/mydspace-actions/mydspace-actions.ts b/src/app/shared/mydspace-actions/mydspace-actions.ts index ebdeb4fea4..18f54bc950 100644 --- a/src/app/shared/mydspace-actions/mydspace-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-actions.ts @@ -1,20 +1,31 @@ +import { + Component, + EventEmitter, + Injector, + Input, + Output, +} from '@angular/core'; import { Router } from '@angular/router'; -import { Component, EventEmitter, Injector, Input, Output } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; +import { + take, + tap, +} from 'rxjs/operators'; -import { take, tap } from 'rxjs/operators'; - -import { MyDSpaceActionsServiceFactory } from './mydspace-actions-service.factory'; +import { IdentifiableDataService } from '../../core/data/base/identifiable-data.service'; import { RemoteData } from '../../core/data/remote-data'; +import { RequestService } from '../../core/data/request.service'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { getFirstSucceededRemoteData } from '../../core/shared/operators'; import { ResourceType } from '../../core/shared/resource-type'; +import { SearchService } from '../../core/shared/search/search.service'; import { NotificationOptions } from '../notifications/models/notification-options.model'; import { NotificationsService } from '../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { RequestService } from '../../core/data/request.service'; -import { BehaviorSubject, Subscription } from 'rxjs'; -import { SearchService } from '../../core/shared/search/search.service'; -import { getFirstSucceededRemoteData } from '../../core/shared/operators'; -import { IdentifiableDataService } from '../../core/data/base/identifiable-data.service'; +import { MyDSpaceActionsServiceFactory } from './mydspace-actions-service.factory'; export interface MyDSpaceActionsResult { result: boolean; diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts index 3f9eaf1ade..9dc308fc22 100644 --- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts @@ -1,24 +1,39 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, +} from '@angular/core/testing'; import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { PoolTaskDataService } from '../../core/tasks/pool-task-data.service'; -import { ClaimedTaskDataService } from '../../core/tasks/claimed-task-data.service'; -import { PoolTaskActionsComponent } from './pool-task/pool-task-actions.component'; -import { PoolTask } from '../../core/tasks/models/pool-task-object.model'; -import { NotificationsServiceStub } from '../testing/notifications-service.stub'; -import { RouterStub } from '../testing/router.stub'; -import { getMockSearchService } from '../mocks/search-service.mock'; -import { getMockRequestService } from '../mocks/request.service.mock'; + +import { RequestService } from '../../core/data/request.service'; import { Item } from '../../core/shared/item.model'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../remote-data.utils'; +import { SearchService } from '../../core/shared/search/search.service'; import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; +import { ClaimedTaskDataService } from '../../core/tasks/claimed-task-data.service'; +import { PoolTask } from '../../core/tasks/models/pool-task-object.model'; +import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; +import { PoolTaskDataService } from '../../core/tasks/pool-task-data.service'; +import { getMockRequestService } from '../mocks/request.service.mock'; +import { getMockSearchService } from '../mocks/search-service.mock'; import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; import { NotificationsService } from '../notifications/notifications.service'; -import { SearchService } from '../../core/shared/search/search.service'; -import { RequestService } from '../../core/data/request.service'; -import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../remote-data.utils'; +import { NotificationsServiceStub } from '../testing/notifications-service.stub'; +import { RouterStub } from '../testing/router.stub'; +import { PoolTaskActionsComponent } from './pool-task/pool-task-actions.component'; let mockDataService: PoolTaskDataService; let mockClaimedTaskDataService: ClaimedTaskDataService; diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts index c25b5bdb69..509c4679e9 100644 --- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts @@ -1,22 +1,33 @@ +import { + Component, + Injector, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; -import { Component, Injector, OnInit } from '@angular/core'; - -import { map, switchMap, take, tap } from 'rxjs/operators'; +import { TranslateService } from '@ngx-translate/core'; +import { + Observable, + of, +} from 'rxjs'; +import { + map, + switchMap, + take, + tap, +} from 'rxjs/operators'; +import { IdentifiableDataService } from '../../core/data/base/identifiable-data.service'; import { RemoteData } from '../../core/data/remote-data'; +import { RequestService } from '../../core/data/request.service'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { ResourceType } from '../../core/shared/resource-type'; +import { SearchService } from '../../core/shared/search/search.service'; +import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; import { NotificationOptions } from '../notifications/models/notification-options.model'; import { NotificationsService } from '../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { RequestService } from '../../core/data/request.service'; -import { SearchService } from '../../core/shared/search/search.service'; -import { Observable, of } from 'rxjs'; -import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { getSearchResultFor } from '../search/search-result-element-decorator'; import { MyDSpaceActionsComponent } from './mydspace-actions'; -import { IdentifiableDataService } from '../../core/data/base/identifiable-data.service'; /** * Abstract class for all different representations of mydspace actions diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts index e9cd8bd04a..2a558c0ba6 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts @@ -1,28 +1,38 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Router } from '@angular/router'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { RequestService } from '../../../core/data/request.service'; +import { Item } from '../../../core/shared/item.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { PoolTask } from '../../../core/tasks/models/pool-task-object.model'; +import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; +import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service'; +import { getMockRequestService } from '../../mocks/request.service.mock'; +import { getMockSearchService } from '../../mocks/search-service.mock'; import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; import { NotificationsService } from '../../notifications/notifications.service'; +import { PoolTaskSearchResult } from '../../object-collection/shared/pool-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; import { RouterStub } from '../../testing/router.stub'; -import { Item } from '../../../core/shared/item.model'; -import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service'; import { PoolTaskActionsComponent } from './pool-task-actions.component'; -import { PoolTask } from '../../../core/tasks/models/pool-task-object.model'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; -import { getMockRequestService } from '../../mocks/request.service.mock'; -import { RequestService } from '../../../core/data/request.service'; -import { getMockSearchService } from '../../mocks/search-service.mock'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; -import { PoolTaskSearchResult } from '../../object-collection/shared/pool-task-search-result.model'; -import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; let mockDataService: PoolTaskDataService; let mockClaimedTaskDataService: ClaimedTaskDataService; diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts index c8dcd87a33..7cb5ab154c 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts @@ -1,23 +1,30 @@ -import { Component, Injector, Input, OnDestroy } from '@angular/core'; +import { + Component, + Injector, + Input, + OnDestroy, +} from '@angular/core'; import { Router } from '@angular/router'; - -import { Observable } from 'rxjs'; -import { switchMap, take } from 'rxjs/operators'; import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { + switchMap, + take, +} from 'rxjs/operators'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; import { RemoteData } from '../../../core/data/remote-data'; -import { PoolTask } from '../../../core/tasks/models/pool-task-object.model'; -import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service'; -import { NotificationsService } from '../../notifications/notifications.service'; import { RequestService } from '../../../core/data/request.service'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; -import { Item } from '../../../core/shared/item.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { MyDSpaceReloadableActionsComponent } from '../mydspace-reloadable-actions'; +import { Item } from '../../../core/shared/item.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { PoolTask } from '../../../core/tasks/models/pool-task-object.model'; import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; +import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service'; import { getWorkflowItemViewRoute } from '../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { MyDSpaceReloadableActionsComponent } from '../mydspace-reloadable-actions'; /** * This component represents mydspace actions related to PoolTask object. diff --git a/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.spec.ts b/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.spec.ts index 715c21e2e5..9c7a103836 100644 --- a/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.spec.ts @@ -1,24 +1,34 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Router } from '@angular/router'; - -import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; - -import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; -import { RouterStub } from '../../testing/router.stub'; -import { Item } from '../../../core/shared/item.model'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { WorkflowitemActionsComponent } from './workflowitem-actions.component'; -import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; -import { getMockRequestService } from '../../mocks/request.service.mock'; -import { RequestService } from '../../../core/data/request.service'; -import { getMockSearchService } from '../../mocks/search-service.mock'; -import { SearchService } from '../../../core/shared/search/search.service'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { RequestService } from '../../../core/data/request.service'; +import { Item } from '../../../core/shared/item.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; +import { getMockRequestService } from '../../mocks/request.service.mock'; +import { getMockSearchService } from '../../mocks/search-service.mock'; +import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; +import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; +import { RouterStub } from '../../testing/router.stub'; +import { WorkflowitemActionsComponent } from './workflowitem-actions.component'; let component: WorkflowitemActionsComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.ts b/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.ts index 3587356642..c0f6d33a9d 100644 --- a/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.ts +++ b/src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.ts @@ -1,15 +1,18 @@ -import { Component, Injector, Input } from '@angular/core'; +import { + Component, + Injector, + Input, +} from '@angular/core'; import { Router } from '@angular/router'; - import { TranslateService } from '@ngx-translate/core'; -import { MyDSpaceActionsComponent } from '../mydspace-actions'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; -import { NotificationsService } from '../../notifications/notifications.service'; import { RequestService } from '../../../core/data/request.service'; import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; import { getWorkflowItemViewRoute } from '../../../workflowitems-edit-page/workflowitems-edit-page-routing-paths'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { MyDSpaceActionsComponent } from '../mydspace-actions'; /** * This component represents actions related to WorkflowItem object. diff --git a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts index d8ee42fc4a..6633f47985 100644 --- a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts @@ -1,32 +1,45 @@ -import { EPerson } from '../../../core/eperson/models/eperson.model'; -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { Router } from '@angular/router'; +import { + ChangeDetectionStrategy, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { Router } from '@angular/router'; +import { + NgbModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { AuthService } from '../../../core/auth/auth.service'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { RequestService } from '../../../core/data/request.service'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { Item } from '../../../core/shared/item.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; +import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service'; +import { getMockRequestService } from '../../mocks/request.service.mock'; +import { getMockSearchService } from '../../mocks/search-service.mock'; import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; import { NotificationsService } from '../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { RouterStub } from '../../testing/router.stub'; -import { Item } from '../../../core/shared/item.model'; -import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; -import { WorkspaceitemActionsComponent } from './workspaceitem-actions.component'; -import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../remote-data.utils'; -import { RequestService } from '../../../core/data/request.service'; -import { getMockRequestService } from '../../mocks/request.service.mock'; -import { getMockSearchService } from '../../mocks/search-service.mock'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { AuthService } from '../../../core/auth/auth.service'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; +import { RouterStub } from '../../testing/router.stub'; +import { WorkspaceitemActionsComponent } from './workspaceitem-actions.component'; let component: WorkspaceitemActionsComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts index 2c49ca1c6a..7d340edfb9 100644 --- a/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts +++ b/src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts @@ -1,24 +1,35 @@ -import { AuthorizationDataService } from 'src/app/core/data/feature-authorization/authorization-data.service'; -import { AuthService } from '../../../core/auth/auth.service'; -import { Item } from '../../../core/shared/item.model'; -import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; -import { Component, Injector, Input, OnInit } from '@angular/core'; +import { + Component, + Injector, + Input, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - -import { BehaviorSubject, Observable, switchMap } from 'rxjs'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Observable, + switchMap, +} from 'rxjs'; +import { AuthorizationDataService } from 'src/app/core/data/feature-authorization/authorization-data.service'; -import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; -import { MyDSpaceActionsComponent } from '../mydspace-actions'; -import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { RequestService } from '../../../core/data/request.service'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../../../core/shared/operators'; +import { AuthService } from '../../../core/auth/auth.service'; +import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { Item } from '../../../core/shared/item.model'; import { NoContent } from '../../../core/shared/NoContent.model'; +import { + getFirstCompletedRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; +import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service'; import { getWorkspaceItemViewRoute } from '../../../workspaceitems-edit-page/workspaceitems-edit-page-routing-paths'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { MyDSpaceActionsComponent } from '../mydspace-actions'; /** * This component represents actions related to WorkspaceItem object. diff --git a/src/app/shared/ng-for-track-by-id.directive.ts b/src/app/shared/ng-for-track-by-id.directive.ts index 00979bc2bf..5850c0582e 100644 --- a/src/app/shared/ng-for-track-by-id.directive.ts +++ b/src/app/shared/ng-for-track-by-id.directive.ts @@ -1,5 +1,8 @@ -import { Directive, Host } from '@angular/core'; import { NgForOf } from '@angular/common'; +import { + Directive, + Host, +} from '@angular/core'; import { DSpaceObject } from '../core/shared/dspace-object.model'; diff --git a/src/app/shared/ngrx/dspace-router-state-serializer.ts b/src/app/shared/ngrx/dspace-router-state-serializer.ts index 46370e3ccd..f8c25540ad 100644 --- a/src/app/shared/ngrx/dspace-router-state-serializer.ts +++ b/src/app/shared/ngrx/dspace-router-state-serializer.ts @@ -1,6 +1,9 @@ -import { RouterStateSerializer } from '@ngrx/router-store'; -import { Params, RouterStateSnapshot } from '@angular/router'; import { Injectable } from '@angular/core'; +import { + Params, + RouterStateSnapshot, +} from '@angular/router'; +import { RouterStateSerializer } from '@ngrx/router-store'; export interface RouterStateUrl { url: string; diff --git a/src/app/shared/ngrx/no-op.action.ts b/src/app/shared/ngrx/no-op.action.ts index cd05c9c05f..96d03b8f9a 100644 --- a/src/app/shared/ngrx/no-op.action.ts +++ b/src/app/shared/ngrx/no-op.action.ts @@ -1,4 +1,5 @@ import { Action } from '@ngrx/store'; + import { type } from './type'; export const NO_OP_ACTION_TYPE = type('dspace/ngrx/NO_OP_ACTION'); diff --git a/src/app/shared/notifications/models/notification.model.ts b/src/app/shared/notifications/models/notification.model.ts index c2b47a8176..b79ecbc12e 100644 --- a/src/app/shared/notifications/models/notification.model.ts +++ b/src/app/shared/notifications/models/notification.model.ts @@ -1,8 +1,12 @@ -import { INotificationOptions, NotificationOptions } from './notification-options.model'; -import { NotificationType } from './notification-type'; -import { isEmpty } from '../../empty.util'; import { Observable } from 'rxjs'; +import { isEmpty } from '../../empty.util'; +import { + INotificationOptions, + NotificationOptions, +} from './notification-options.model'; +import { NotificationType } from './notification-type'; + export interface INotification { id: string; type: NotificationType; diff --git a/src/app/shared/notifications/notification/notification.component.spec.ts b/src/app/shared/notifications/notification/notification.component.spec.ts index b6202852cd..0871d1bae6 100644 --- a/src/app/shared/notifications/notification/notification.component.spec.ts +++ b/src/app/shared/notifications/notification/notification.component.spec.ts @@ -1,20 +1,38 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { BrowserModule, By } from '@angular/platform-browser'; -import { ChangeDetectorRef, DebugElement } from '@angular/core'; +import { + ChangeDetectorRef, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { BehaviorSubject } from 'rxjs'; -import { Store, StoreModule } from '@ngrx/store'; - -import { NotificationComponent } from './notification.component'; -import { NotificationsService } from '../notifications.service'; +import { storeModuleConfig } from '../../../app.reducer'; +import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; +import { Notification } from '../models/notification.model'; +import { NotificationOptions } from '../models/notification-options.model'; import { NotificationType } from '../models/notification-type'; import { notificationsReducer } from '../notifications.reducers'; -import { NotificationOptions } from '../models/notification-options.model'; -import { Notification } from '../models/notification.model'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; -import { storeModuleConfig } from '../../../app.reducer'; -import { BehaviorSubject } from 'rxjs'; +import { NotificationsService } from '../notifications.service'; +import { NotificationComponent } from './notification.component'; describe('NotificationComponent', () => { diff --git a/src/app/shared/notifications/notification/notification.component.ts b/src/app/shared/notifications/notification/notification.component.ts index 530b6db450..35081f57d3 100644 --- a/src/app/shared/notifications/notification/notification.component.ts +++ b/src/app/shared/notifications/notification/notification.component.ts @@ -1,4 +1,4 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { trigger } from '@angular/animations'; import { ChangeDetectionStrategy, ChangeDetectorRef, @@ -10,20 +10,62 @@ import { TemplateRef, ViewEncapsulation, } from '@angular/core'; -import { trigger } from '@angular/animations'; import { DomSanitizer } from '@angular/platform-browser'; -import { NotificationsService } from '../notifications.service'; -import { scaleEnter, scaleInState, scaleLeave, scaleOutState } from '../../animations/scale'; -import { rotateEnter, rotateInState, rotateLeave, rotateOutState } from '../../animations/rotate'; -import { fromBottomEnter, fromBottomInState, fromBottomLeave, fromBottomOutState } from '../../animations/fromBottom'; -import { fromRightEnter, fromRightInState, fromRightLeave, fromRightOutState } from '../../animations/fromRight'; -import { fromLeftEnter, fromLeftInState, fromLeftLeave, fromLeftOutState } from '../../animations/fromLeft'; -import { fromTopEnter, fromTopInState, fromTopLeave, fromTopOutState } from '../../animations/fromTop'; -import { fadeInEnter, fadeInState, fadeOutLeave, fadeOutState } from '../../animations/fade'; -import { NotificationAnimationsStatus } from '../models/notification-animations-type'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + filter, + first, +} from 'rxjs/operators'; + +import { + fadeInEnter, + fadeInState, + fadeOutLeave, + fadeOutState, +} from '../../animations/fade'; +import { + fromBottomEnter, + fromBottomInState, + fromBottomLeave, + fromBottomOutState, +} from '../../animations/fromBottom'; +import { + fromLeftEnter, + fromLeftInState, + fromLeftLeave, + fromLeftOutState, +} from '../../animations/fromLeft'; +import { + fromRightEnter, + fromRightInState, + fromRightLeave, + fromRightOutState, +} from '../../animations/fromRight'; +import { + fromTopEnter, + fromTopInState, + fromTopLeave, + fromTopOutState, +} from '../../animations/fromTop'; +import { + rotateEnter, + rotateInState, + rotateLeave, + rotateOutState, +} from '../../animations/rotate'; +import { + scaleEnter, + scaleInState, + scaleLeave, + scaleOutState, +} from '../../animations/scale'; import { isNotEmpty } from '../../empty.util'; import { INotification } from '../models/notification.model'; -import { filter, first } from 'rxjs/operators'; +import { NotificationAnimationsStatus } from '../models/notification-animations-type'; +import { NotificationsService } from '../notifications.service'; @Component({ selector: 'ds-notification', diff --git a/src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts b/src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts index 72a1a9bc26..3d814a996b 100644 --- a/src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts +++ b/src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts @@ -1,20 +1,31 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { BrowserModule, By } from '@angular/platform-browser'; import { ChangeDetectorRef } from '@angular/core'; - -import { NotificationsService } from '../notifications.service'; -import { notificationsReducer } from '../notifications.reducers'; -import { Store, StoreModule } from '@ngrx/store'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { NotificationsBoardComponent } from './notifications-board.component'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { cold } from 'jasmine-marbles'; +import uniqueId from 'lodash/uniqueId'; + +import { INotificationBoardOptions } from '../../../../config/notifications-config.interfaces'; import { AppState } from '../../../app.reducer'; -import { NotificationComponent } from '../notification/notification.component'; +import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; import { Notification } from '../models/notification.model'; import { NotificationType } from '../models/notification-type'; -import uniqueId from 'lodash/uniqueId'; -import { INotificationBoardOptions } from '../../../../config/notifications-config.interfaces'; -import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { cold } from 'jasmine-marbles'; +import { NotificationComponent } from '../notification/notification.component'; +import { notificationsReducer } from '../notifications.reducers'; +import { NotificationsService } from '../notifications.service'; +import { NotificationsBoardComponent } from './notifications-board.component'; export const bools = { f: false, t: true }; diff --git a/src/app/shared/notifications/notifications-board/notifications-board.component.ts b/src/app/shared/notifications/notifications-board/notifications-board.component.ts index 39d2452dac..589e1780db 100644 --- a/src/app/shared/notifications/notifications-board/notifications-board.component.ts +++ b/src/app/shared/notifications/notifications-board/notifications-board.component.ts @@ -7,17 +7,22 @@ import { OnInit, ViewEncapsulation, } from '@angular/core'; - -import { select, Store } from '@ngrx/store'; -import { BehaviorSubject, Subscription } from 'rxjs'; +import { + select, + Store, +} from '@ngrx/store'; import difference from 'lodash/difference'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; -import { NotificationsService } from '../notifications.service'; +import { INotificationBoardOptions } from '../../../../config/notifications-config.interfaces'; import { AppState } from '../../../app.reducer'; -import { notificationsStateSelector } from '../selectors'; import { INotification } from '../models/notification.model'; import { NotificationsState } from '../notifications.reducers'; -import { INotificationBoardOptions } from '../../../../config/notifications-config.interfaces'; +import { NotificationsService } from '../notifications.service'; +import { notificationsStateSelector } from '../selectors'; @Component({ selector: 'ds-notifications-board', diff --git a/src/app/shared/notifications/notifications.actions.ts b/src/app/shared/notifications/notifications.actions.ts index bf47ee3ad7..1fa1fab9c7 100644 --- a/src/app/shared/notifications/notifications.actions.ts +++ b/src/app/shared/notifications/notifications.actions.ts @@ -1,5 +1,6 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { type } from '../ngrx/type'; import { INotification } from './models/notification.model'; diff --git a/src/app/shared/notifications/notifications.effects.ts b/src/app/shared/notifications/notifications.effects.ts index 892f154f19..c9449af24a 100644 --- a/src/app/shared/notifications/notifications.effects.ts +++ b/src/app/shared/notifications/notifications.effects.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { Actions } from '@ngrx/effects'; import { Store } from '@ngrx/store'; + import { AppState } from '../../app.reducer'; @Injectable() diff --git a/src/app/shared/notifications/notifications.reducers.spec.ts b/src/app/shared/notifications/notifications.reducers.spec.ts index 3851133860..15b73c8f2a 100644 --- a/src/app/shared/notifications/notifications.reducers.spec.ts +++ b/src/app/shared/notifications/notifications.reducers.spec.ts @@ -1,17 +1,28 @@ -import { notificationsReducer } from './notifications.reducers'; -import { NewNotificationAction, RemoveAllNotificationsAction, RemoveNotificationAction } from './notifications.actions'; -import { NotificationsService } from './notifications.service'; -import { fakeAsync, flush, inject, TestBed, tick } from '@angular/core/testing'; -import { NotificationsBoardComponent } from './notifications-board/notifications-board.component'; -import { StoreModule } from '@ngrx/store'; -import { NotificationComponent } from './notification/notification.component'; -import { NotificationOptions } from './models/notification-options.model'; -import { NotificationAnimationsType } from './models/notification-animations-type'; -import { NotificationType } from './models/notification-type'; -import { Notification } from './models/notification.model'; -import uniqueId from 'lodash/uniqueId'; import { ChangeDetectorRef } from '@angular/core'; +import { + fakeAsync, + flush, + inject, + TestBed, + tick, +} from '@angular/core/testing'; +import { StoreModule } from '@ngrx/store'; +import uniqueId from 'lodash/uniqueId'; + import { storeModuleConfig } from '../../app.reducer'; +import { Notification } from './models/notification.model'; +import { NotificationAnimationsType } from './models/notification-animations-type'; +import { NotificationOptions } from './models/notification-options.model'; +import { NotificationType } from './models/notification-type'; +import { NotificationComponent } from './notification/notification.component'; +import { + NewNotificationAction, + RemoveAllNotificationsAction, + RemoveNotificationAction, +} from './notifications.actions'; +import { notificationsReducer } from './notifications.reducers'; +import { NotificationsService } from './notifications.service'; +import { NotificationsBoardComponent } from './notifications-board/notifications-board.component'; describe('Notifications reducer', () => { diff --git a/src/app/shared/notifications/notifications.reducers.ts b/src/app/shared/notifications/notifications.reducers.ts index f64cd891eb..02a41023eb 100644 --- a/src/app/shared/notifications/notifications.reducers.ts +++ b/src/app/shared/notifications/notifications.reducers.ts @@ -1,5 +1,9 @@ -import { NotificationsActions, NotificationsActionTypes, RemoveNotificationAction } from './notifications.actions'; import { INotification } from './models/notification.model'; +import { + NotificationsActions, + NotificationsActionTypes, + RemoveNotificationAction, +} from './notifications.actions'; /** * The notification state. diff --git a/src/app/shared/notifications/notifications.service.spec.ts b/src/app/shared/notifications/notifications.service.spec.ts index eb0ff18f60..fb7c9e4f5a 100644 --- a/src/app/shared/notifications/notifications.service.spec.ts +++ b/src/app/shared/notifications/notifications.service.spec.ts @@ -1,16 +1,31 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { NotificationsService } from './notifications.service'; -import { NotificationsBoardComponent } from './notifications-board/notifications-board.component'; -import { NotificationComponent } from './notification/notification.component'; -import { Store, StoreModule } from '@ngrx/store'; -import { notificationsReducer } from './notifications.reducers'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { NewNotificationAction, RemoveAllNotificationsAction, RemoveNotificationAction } from './notifications.actions'; + +import { storeModuleConfig } from '../../app.reducer'; +import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; import { Notification } from './models/notification.model'; import { NotificationType } from './models/notification-type'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; -import { storeModuleConfig } from '../../app.reducer'; +import { NotificationComponent } from './notification/notification.component'; +import { + NewNotificationAction, + RemoveAllNotificationsAction, + RemoveNotificationAction, +} from './notifications.actions'; +import { notificationsReducer } from './notifications.reducers'; +import { NotificationsService } from './notifications.service'; +import { NotificationsBoardComponent } from './notifications-board/notifications-board.component'; describe('NotificationsService test', () => { const store: Store = jasmine.createSpyObj('store', { diff --git a/src/app/shared/notifications/notifications.service.ts b/src/app/shared/notifications/notifications.service.ts index 1ac9e62f0a..a2498a61e9 100644 --- a/src/app/shared/notifications/notifications.service.ts +++ b/src/app/shared/notifications/notifications.service.ts @@ -1,17 +1,22 @@ import { Injectable } from '@angular/core'; - -import { of as observableOf } from 'rxjs'; -import { first } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; import uniqueId from 'lodash/uniqueId'; +import { of as observableOf } from 'rxjs'; +import { first } from 'rxjs/operators'; -import { INotification, Notification } from './models/notification.model'; -import { NotificationType } from './models/notification-type'; -import { NotificationOptions } from './models/notification-options.model'; - -import { NewNotificationAction, RemoveAllNotificationsAction, RemoveNotificationAction } from './notifications.actions'; import { environment } from '../../../environments/environment'; +import { + INotification, + Notification, +} from './models/notification.model'; +import { NotificationOptions } from './models/notification-options.model'; +import { NotificationType } from './models/notification-type'; +import { + NewNotificationAction, + RemoveAllNotificationsAction, + RemoveNotificationAction, +} from './notifications.actions'; @Injectable() export class NotificationsService { diff --git a/src/app/shared/object-collection/object-collection.component.spec.ts b/src/app/shared/object-collection/object-collection.component.spec.ts index 31bb0f7e20..a5fda69061 100644 --- a/src/app/shared/object-collection/object-collection.component.spec.ts +++ b/src/app/shared/object-collection/object-collection.component.spec.ts @@ -1,11 +1,19 @@ -import { ObjectCollectionComponent } from './object-collection.component'; -import { By } from '@angular/platform-browser'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { of as observableOf } from 'rxjs'; -import { RouterStub } from '../testing/router.stub'; + import { ViewMode } from '../../core/shared/view-mode.model'; +import { RouterStub } from '../testing/router.stub'; +import { ObjectCollectionComponent } from './object-collection.component'; describe('ObjectCollectionComponent', () => { let fixture: ComponentFixture; diff --git a/src/app/shared/object-collection/object-collection.component.ts b/src/app/shared/object-collection/object-collection.component.ts index e1c4ba65d8..e957431c70 100644 --- a/src/app/shared/object-collection/object-collection.component.ts +++ b/src/app/shared/object-collection/object-collection.component.ts @@ -1,28 +1,39 @@ +import { isPlatformBrowser } from '@angular/common'; import { ChangeDetectorRef, - Component, ElementRef, - EventEmitter, Inject, + Component, + ElementRef, + EventEmitter, + Inject, Input, OnInit, - Output, PLATFORM_ID, + Output, + PLATFORM_ID, } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, map } from 'rxjs/operators'; +import { + distinctUntilChanged, + map, +} from 'rxjs/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { ListableObject } from './shared/listable-object.model'; -import { isEmpty } from '../empty.util'; -import { ViewMode } from '../../core/shared/view-mode.model'; -import { CollectionElementLinkType } from './collection-element-link.type'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; import { Context } from '../../core/shared/context.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { isEmpty } from '../empty.util'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; import { setPlaceHolderAttributes } from '../utils/object-list-utils'; -import { isPlatformBrowser } from '@angular/common'; +import { CollectionElementLinkType } from './collection-element-link.type'; +import { ListableObject } from './shared/listable-object.model'; /** * Component that can render a list of listable objects in different view modes diff --git a/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.spec.ts b/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.spec.ts index 184eac3f84..0292eb2ad3 100644 --- a/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.spec.ts +++ b/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.spec.ts @@ -1,15 +1,20 @@ -import { Item } from '../../../../../core/shared/item.model'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { AccessStatusBadgeComponent } from './access-status-badge.component'; -import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { AccessStatusObject } from './access-status.model'; +import { TranslateModule } from '@ngx-translate/core'; import { AccessStatusDataService } from 'src/app/core/data/access-status-data.service'; import { environment } from 'src/environments/environment'; +import { Item } from '../../../../../core/shared/item.model'; +import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; +import { TruncatePipe } from '../../../../utils/truncate.pipe'; +import { AccessStatusObject } from './access-status.model'; +import { AccessStatusBadgeComponent } from './access-status-badge.component'; + describe('ItemAccessStatusBadgeComponent', () => { let component: AccessStatusBadgeComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts b/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts index bdec8ccfe4..7feec67a1f 100644 --- a/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts @@ -1,13 +1,23 @@ -import { Component, Input } from '@angular/core'; -import { catchError, map } from 'rxjs/operators'; -import { Observable, of as observableOf } from 'rxjs'; -import { AccessStatusObject } from './access-status.model'; -import { hasValue } from '../../../../empty.util'; -import { environment } from 'src/environments/environment'; +import { + Component, + Input, +} from '@angular/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + catchError, + map, +} from 'rxjs/operators'; import { AccessStatusDataService } from 'src/app/core/data/access-status-data.service'; +import { environment } from 'src/environments/environment'; + import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { Item } from '../../../../../core/shared/item.model'; import { ITEM } from '../../../../../core/shared/item.resource-type'; +import { hasValue } from '../../../../empty.util'; +import { AccessStatusObject } from './access-status.model'; @Component({ selector: 'ds-access-status-badge', diff --git a/src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model.ts b/src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model.ts index 2e079f2e46..aee3967d0f 100644 --- a/src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model.ts +++ b/src/app/shared/object-collection/shared/badges/access-status-badge/access-status.model.ts @@ -1,9 +1,13 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; import { typedObject } from 'src/app/core/cache/builders/build-decorators'; import { CacheableObject } from 'src/app/core/cache/cacheable-object.model'; import { HALLink } from 'src/app/core/shared/hal-link.model'; import { ResourceType } from 'src/app/core/shared/resource-type'; import { excludeFromEquals } from 'src/app/core/utilities/equals.decorators'; + import { ACCESS_STATUS } from './access-status.resource-type'; @typedObject diff --git a/src/app/shared/object-collection/shared/badges/access-status-badge/themed-access-status-badge.component.ts b/src/app/shared/object-collection/shared/badges/access-status-badge/themed-access-status-badge.component.ts index ad8dfd7cb0..c44ca18b13 100644 --- a/src/app/shared/object-collection/shared/badges/access-status-badge/themed-access-status-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/access-status-badge/themed-access-status-badge.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { ThemedComponent } from '../../../../theme-support/themed.component'; import { AccessStatusBadgeComponent } from './access-status-badge.component'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; /** * Themed wrapper for AccessStatusBadgeComponent diff --git a/src/app/shared/object-collection/shared/badges/badges.component.spec.ts b/src/app/shared/object-collection/shared/badges/badges.component.spec.ts index 241525595c..ebc5d64d86 100644 --- a/src/app/shared/object-collection/shared/badges/badges.component.spec.ts +++ b/src/app/shared/object-collection/shared/badges/badges.component.spec.ts @@ -1,9 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { BadgesComponent } from './badges.component'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ThemeService } from '../../../theme-support/theme.service'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; + import { getMockThemeService } from '../../../mocks/theme-service.mock'; +import { ThemeService } from '../../../theme-support/theme.service'; +import { BadgesComponent } from './badges.component'; describe('BadgesComponent', () => { let component: BadgesComponent; diff --git a/src/app/shared/object-collection/shared/badges/badges.component.ts b/src/app/shared/object-collection/shared/badges/badges.component.ts index bb3079319b..a0d8326276 100644 --- a/src/app/shared/object-collection/shared/badges/badges.component.ts +++ b/src/app/shared/object-collection/shared/badges/badges.component.ts @@ -1,5 +1,9 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Context } from 'src/app/core/shared/context.model'; + import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; /** diff --git a/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.spec.ts b/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.spec.ts index 399d95c224..276b0e9fe3 100644 --- a/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.spec.ts +++ b/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.spec.ts @@ -1,17 +1,26 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { Context } from '../../../../../core/shared/context.model'; import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; import { PoolTask } from '../../../../../core/tasks/models/pool-task-object.model'; +import { TranslateLoaderMock } from '../../../../mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; import { EPersonMock } from '../../../../testing/eperson.mock'; import { MyDSpaceStatusBadgeComponent } from './my-dspace-status-badge.component'; -import { TranslateLoaderMock } from '../../../../mocks/translate-loader.mock'; -import { By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; -import { Context } from '../../../../../core/shared/context.model'; let component: MyDSpaceStatusBadgeComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts b/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts index fc409fe59b..5996deaba6 100644 --- a/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts @@ -1,4 +1,8 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { Context } from 'src/app/core/shared/context.model'; /** diff --git a/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/themed-my-dspace-status-badge.component.ts b/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/themed-my-dspace-status-badge.component.ts index 4c375746c8..5589645505 100644 --- a/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/themed-my-dspace-status-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/my-dspace-status-badge/themed-my-dspace-status-badge.component.ts @@ -1,5 +1,9 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Context } from 'src/app/core/shared/context.model'; + import { ThemedComponent } from '../../../../theme-support/themed.component'; import { MyDSpaceStatusBadgeComponent } from './my-dspace-status-badge.component'; diff --git a/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.spec.ts b/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.spec.ts index 06956cac86..f5de762353 100644 --- a/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.spec.ts +++ b/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.spec.ts @@ -1,9 +1,17 @@ -import { Item } from '../../../../../core/shared/item.model'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatePipe } from '../../../../utils/truncate.pipe'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { StatusBadgeComponent } from './status-badge.component'; let comp: StatusBadgeComponent; diff --git a/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts b/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts index cdf3355bd6..5f188f6281 100644 --- a/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts @@ -1,4 +1,9 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; + import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { hasValue } from '../../../../empty.util'; diff --git a/src/app/shared/object-collection/shared/badges/status-badge/themed-status-badge.component.ts b/src/app/shared/object-collection/shared/badges/status-badge/themed-status-badge.component.ts index f50d029fff..0c56472618 100644 --- a/src/app/shared/object-collection/shared/badges/status-badge/themed-status-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/status-badge/themed-status-badge.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { ThemedComponent } from '../../../../theme-support/themed.component'; import { StatusBadgeComponent } from './status-badge.component'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; /** * Themed wrapper for StatusBadgeComponent diff --git a/src/app/shared/object-collection/shared/badges/themed-badges.component.ts b/src/app/shared/object-collection/shared/badges/themed-badges.component.ts index 1671b0c5b0..c3157318e6 100644 --- a/src/app/shared/object-collection/shared/badges/themed-badges.component.ts +++ b/src/app/shared/object-collection/shared/badges/themed-badges.component.ts @@ -1,9 +1,13 @@ -import { Component, Input } from '@angular/core'; -import { BadgesComponent } from './badges.component'; -import { ThemedComponent } from '../../../theme-support/themed.component'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { + Component, + Input, +} from '@angular/core'; import { Context } from 'src/app/core/shared/context.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { ThemedComponent } from '../../../theme-support/themed.component'; +import { BadgesComponent } from './badges.component'; + /** * Themed wrapper for BadgesComponent */ diff --git a/src/app/shared/object-collection/shared/badges/type-badge/themed-type-badge.component.ts b/src/app/shared/object-collection/shared/badges/type-badge/themed-type-badge.component.ts index a8dd0ee04c..b5c7263014 100644 --- a/src/app/shared/object-collection/shared/badges/type-badge/themed-type-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/type-badge/themed-type-badge.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; import { ThemedComponent } from '../../../../theme-support/themed.component'; import { TypeBadgeComponent } from './type-badge.component'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; /** * Themed wrapper for TypeBadgeComponent diff --git a/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.spec.ts b/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.spec.ts index 5920c8519a..ed13384b7f 100644 --- a/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.spec.ts +++ b/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.spec.ts @@ -1,10 +1,18 @@ -import { Item } from '../../../../../core/shared/item.model'; -import { of as observableOf } from 'rxjs'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { TruncatePipe } from '../../../../utils/truncate.pipe'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { Item } from '../../../../../core/shared/item.model'; +import { TruncatePipe } from '../../../../utils/truncate.pipe'; import { TypeBadgeComponent } from './type-badge.component'; let comp: TypeBadgeComponent; diff --git a/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts b/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts index c9ae4a40ed..4e10267ed1 100644 --- a/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts +++ b/src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts @@ -1,7 +1,14 @@ -import { Component, Input } from '@angular/core'; -import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; -import { hasValue, isEmpty } from '../../../../empty.util'; +import { + Component, + Input, +} from '@angular/core'; + import { getResourceTypeValueFor } from '../../../../../core/cache/object-cache.reducer'; +import { DSpaceObject } from '../../../../../core/shared/dspace-object.model'; +import { + hasValue, + isEmpty, +} from '../../../../empty.util'; @Component({ selector: 'ds-type-badge', diff --git a/src/app/shared/object-collection/shared/collection-search-result.model.ts b/src/app/shared/object-collection/shared/collection-search-result.model.ts index 615ef0809c..bd2f547808 100644 --- a/src/app/shared/object-collection/shared/collection-search-result.model.ts +++ b/src/app/shared/object-collection/shared/collection-search-result.model.ts @@ -1,5 +1,5 @@ -import { SearchResult } from '../../search/models/search-result.model'; import { Collection } from '../../../core/shared/collection.model'; +import { SearchResult } from '../../search/models/search-result.model'; import { searchResultFor } from '../../search/search-result-element-decorator'; @searchResultFor(Collection) diff --git a/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.ts b/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.ts index b55fd58c99..2e169e091b 100644 --- a/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.ts +++ b/src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.ts @@ -1,4 +1,10 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { ListableObject } from '../listable-object.model'; @Component({ diff --git a/src/app/shared/object-collection/shared/item-search-result.model.ts b/src/app/shared/object-collection/shared/item-search-result.model.ts index 66f3eb1513..5409bdbec7 100644 --- a/src/app/shared/object-collection/shared/item-search-result.model.ts +++ b/src/app/shared/object-collection/shared/item-search-result.model.ts @@ -1,9 +1,9 @@ -import { SearchResult } from '../../search/models/search-result.model'; +import { GenericConstructor } from '../../../core/shared/generic-constructor'; import { Item } from '../../../core/shared/item.model'; import { inheritEquatable } from '../../../core/utilities/equals.decorators'; -import { GenericConstructor } from '../../../core/shared/generic-constructor'; -import { ListableObject } from './listable-object.model'; +import { SearchResult } from '../../search/models/search-result.model'; import { searchResultFor } from '../../search/search-result-element-decorator'; +import { ListableObject } from './listable-object.model'; @searchResultFor(Item) @inheritEquatable(SearchResult) diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts index 32aee941b6..306dcb1010 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts @@ -1,18 +1,26 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ListableObjectComponentLoaderComponent } from './listable-object-component-loader.component'; -import { ListableObject } from '../listable-object.model'; -import { GenericConstructor } from '../../../../core/shared/generic-constructor'; -import { Context } from '../../../../core/shared/context.model'; -import { ViewMode } from '../../../../core/shared/view-mode.model'; import { - ItemListElementComponent, -} from '../../../object-list/item-list-element/item-types/item/item-list-element.component'; -import { ListableObjectDirective } from './listable-object.directive'; -import { TranslateModule } from '@ngx-translate/core'; + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { provideMockStore } from '@ngrx/store/testing'; +import { TranslateModule } from '@ngx-translate/core'; + +import { Context } from '../../../../core/shared/context.model'; +import { GenericConstructor } from '../../../../core/shared/generic-constructor'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { ItemListElementComponent } from '../../../object-list/item-list-element/item-types/item/item-list-element.component'; import { ThemeService } from '../../../theme-support/theme.service'; +import { ListableObject } from '../listable-object.model'; +import { ListableObjectDirective } from './listable-object.directive'; +import { ListableObjectComponentLoaderComponent } from './listable-object-component-loader.component'; const testType = 'TestType'; const testContext = Context.Search; diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index ff21e1061d..0504dce146 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -11,20 +11,28 @@ import { SimpleChanges, ViewChild, } from '@angular/core'; - -import { Subscription, combineLatest, of as observableOf, Observable } from 'rxjs'; +import { + combineLatest, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; import { take } from 'rxjs/operators'; -import { ListableObject } from '../listable-object.model'; -import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Context } from '../../../../core/shared/context.model'; -import { getListableObjectComponent } from './listable-object.decorator'; -import { GenericConstructor } from '../../../../core/shared/generic-constructor'; -import { ListableObjectDirective } from './listable-object.directive'; -import { CollectionElementLinkType } from '../../collection-element-link.type'; -import { hasValue, isNotEmpty, hasNoValue } from '../../../empty.util'; import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { GenericConstructor } from '../../../../core/shared/generic-constructor'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../empty.util'; import { ThemeService } from '../../../theme-support/theme.service'; +import { CollectionElementLinkType } from '../../collection-element-link.type'; +import { ListableObject } from '../listable-object.model'; +import { getListableObjectComponent } from './listable-object.decorator'; +import { ListableObjectDirective } from './listable-object.directive'; @Component({ selector: 'ds-listable-object-component-loader', diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts index 62bc1708f8..4487b24033 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts @@ -1,8 +1,12 @@ /* eslint-disable max-classes-per-file */ -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { DEFAULT_VIEW_MODE, getListableObjectComponent, listableObjectComponent } from './listable-object.decorator'; -import { Context } from '../../../../core/shared/context.model'; import { environment } from '../../../../../environments/environment'; +import { Context } from '../../../../core/shared/context.model'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { + DEFAULT_VIEW_MODE, + getListableObjectComponent, + listableObjectComponent, +} from './listable-object.decorator'; let ogEnvironmentThemes; diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts index 9533998925..b7ad2d69b8 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts @@ -1,12 +1,17 @@ -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { Context } from '../../../../core/shared/context.model'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../empty.util'; -import { GenericConstructor } from '../../../../core/shared/generic-constructor'; -import { ListableObject } from '../listable-object.model'; -import { environment } from '../../../../../environments/environment'; -import { ThemeConfig } from '../../../../../config/theme.model'; import { InjectionToken } from '@angular/core'; +import { ThemeConfig } from '../../../../../config/theme.model'; +import { environment } from '../../../../../environments/environment'; +import { Context } from '../../../../core/shared/context.model'; +import { GenericConstructor } from '../../../../core/shared/generic-constructor'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../empty.util'; +import { ListableObject } from '../listable-object.model'; + export const DEFAULT_VIEW_MODE = ViewMode.ListElement; export const DEFAULT_CONTEXT = Context.Any; export const DEFAULT_THEME = '*'; diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts index 93c06961f4..4ba54e14a4 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts @@ -1,4 +1,7 @@ -import { Directive, ViewContainerRef } from '@angular/core'; +import { + Directive, + ViewContainerRef, +} from '@angular/core'; @Directive({ selector: '[dsListableObject]', diff --git a/src/app/shared/object-collection/shared/mydspace-item-collection/item-collection.component.ts b/src/app/shared/object-collection/shared/mydspace-item-collection/item-collection.component.ts index 53d46fab65..386e6b0877 100644 --- a/src/app/shared/object-collection/shared/mydspace-item-collection/item-collection.component.ts +++ b/src/app/shared/object-collection/shared/mydspace-item-collection/item-collection.component.ts @@ -1,16 +1,25 @@ -import { Component, Input, OnInit } from '@angular/core'; - -import { EMPTY, Observable } from 'rxjs'; -import { map, mergeMap } from 'rxjs/operators'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + EMPTY, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, +} from 'rxjs/operators'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; import { RemoteData } from '../../../../core/data/remote-data'; -import { isNotEmpty } from '../../../empty.util'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { Collection } from '../../../../core/shared/collection.model'; import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { LinkService } from '../../../../core/cache/builders/link.service'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { isNotEmpty } from '../../../empty.util'; import { followLink } from '../../../utils/follow-link-config.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * This component represents a badge with collection information. diff --git a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts index d3faca4545..9c588e49a5 100644 --- a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts +++ b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts @@ -1,18 +1,29 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA, DebugElement } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; - -import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + ChangeDetectionStrategy, + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; -import { ItemSubmitterComponent } from './item-submitter.component'; +import { of as observableOf } from 'rxjs'; + +import { LinkService } from '../../../../core/cache/builders/link.service'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; -import { EPersonMock } from '../../../testing/eperson.mock'; -import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; -import { By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { EPersonMock } from '../../../testing/eperson.mock'; +import { ItemSubmitterComponent } from './item-submitter.component'; let component: ItemSubmitterComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts index e9014fd20b..ea504679c3 100644 --- a/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts +++ b/src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts @@ -1,16 +1,25 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + EMPTY, + Observable, +} from 'rxjs'; +import { + map, + mergeMap, +} from 'rxjs/operators'; -import { EMPTY, Observable } from 'rxjs'; -import { map, mergeMap } from 'rxjs/operators'; - -import { EPerson } from '../../../../core/eperson/models/eperson.model'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { isNotEmpty } from '../../../empty.util'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { followLink } from '../../../utils/follow-link-config.model'; import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { EPerson } from '../../../../core/eperson/models/eperson.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { isNotEmpty } from '../../../empty.util'; +import { followLink } from '../../../utils/follow-link-config.model'; /** * This component represents a badge with submitter information. diff --git a/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts b/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts index 4614adcf43..f7b9561269 100644 --- a/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts +++ b/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts @@ -1,10 +1,16 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { ListableObject } from '../listable-object.model'; -import { CollectionElementLinkType } from '../../collection-element-link.type'; -import { Context } from '../../../../core/shared/context.model'; -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Context } from '../../../../core/shared/context.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { CollectionElementLinkType } from '../../collection-element-link.type'; +import { ListableObject } from '../listable-object.model'; @Component({ selector: 'ds-abstract-object-element', diff --git a/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.spec.ts b/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.spec.ts index f4e306ec6f..9165e48647 100644 --- a/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.spec.ts +++ b/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.spec.ts @@ -1,12 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; -import { SelectableListItemControlComponent } from './selectable-list-item-control.component'; -import { Item } from '../../../../core/shared/item.model'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { VarDirective } from '../../../utils/var.directive'; import { of as observableOf } from 'rxjs'; + +import { Item } from '../../../../core/shared/item.model'; +import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; +import { VarDirective } from '../../../utils/var.directive'; import { ListableObject } from '../listable-object.model'; +import { SelectableListItemControlComponent } from './selectable-list-item-control.component'; describe('SelectableListItemControlComponent', () => { let comp: SelectableListItemControlComponent; diff --git a/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.ts b/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.ts index ecabc112ec..0a68d0e953 100644 --- a/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.ts +++ b/src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.ts @@ -1,8 +1,19 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { ListableObject } from '../listable-object.model'; -import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; -import { map, skip, take } from 'rxjs/operators'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; import { Observable } from 'rxjs'; +import { + map, + skip, + take, +} from 'rxjs/operators'; + +import { SelectableListService } from '../../../object-list/selectable-list/selectable-list.service'; +import { ListableObject } from '../listable-object.model'; @Component({ selector: 'ds-selectable-list-item-control', diff --git a/src/app/shared/object-collection/shared/workspace-item-search-result.model.ts b/src/app/shared/object-collection/shared/workspace-item-search-result.model.ts index fddd5dc203..3f57d2f4cd 100644 --- a/src/app/shared/object-collection/shared/workspace-item-search-result.model.ts +++ b/src/app/shared/object-collection/shared/workspace-item-search-result.model.ts @@ -1,6 +1,6 @@ import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; -import { searchResultFor } from '../../search/search-result-element-decorator'; import { SearchResult } from '../../search/models/search-result.model'; +import { searchResultFor } from '../../search/search-result-element-decorator'; /** * Represents a search result object of a WorkspaceItem object diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts index 132ef280f8..bc31b428b8 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts @@ -1,4 +1,7 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; import { ComponentFixture, fakeAsync, @@ -7,24 +10,23 @@ import { tick, waitForAsync, } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { ClaimedTaskSearchResultDetailElementComponent } from './claimed-task-search-result-detail-element.component'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; -import { VarDirective } from '../../../utils/var.directive'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { LinkService } from '../../../../core/cache/builders/link.service'; -import { getMockLinkService } from '../../../mocks/link-service.mock'; -import { By } from '@angular/platform-browser'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { Context } from '../../../../core/shared/context.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { VarDirective } from '../../../utils/var.directive'; +import { ClaimedTaskSearchResultDetailElementComponent } from './claimed-task-search-result-detail-element.component'; let component: ClaimedTaskSearchResultDetailElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts index db730c2d4b..fb230a2b2d 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts @@ -1,23 +1,36 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; - -import { BehaviorSubject, EMPTY, Observable } from 'rxjs'; -import { mergeMap, tap } from 'rxjs/operators'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + EMPTY, + Observable, +} from 'rxjs'; +import { + mergeMap, + tap, +} from 'rxjs/operators'; +import { Context } from 'src/app/core/shared/context.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { Item } from '../../../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { followLink } from '../../../utils/follow-link-config.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { Item } from '../../../../core/shared/item.model'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { isNotEmpty, hasValue } from '../../../empty.util'; -import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; -import { Context } from 'src/app/core/shared/context.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; /** * This component renders claimed task object for the search result in the detail view. diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.spec.ts index e72f651a54..01deadb305 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.spec.ts @@ -1,15 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - -import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; - -import { ItemDetailPreviewFieldComponent } from './item-detail-preview-field.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../utils/truncate.pipe'; -import { TranslateLoaderMock } from '../../../../mocks/translate-loader.mock'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { Item } from '../../../../../core/shared/item.model'; +import { TranslateLoaderMock } from '../../../../mocks/translate-loader.mock'; +import { TruncatePipe } from '../../../../utils/truncate.pipe'; +import { ItemDetailPreviewFieldComponent } from './item-detail-preview-field.component'; let component: ItemDetailPreviewFieldComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts index 3edaab9c3e..7a0578313b 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts @@ -1,7 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; -import { Metadata } from '../../../../../core/shared/metadata.utils'; import { Item } from '../../../../../core/shared/item.model'; +import { Metadata } from '../../../../../core/shared/metadata.utils'; import { SearchResult } from '../../../../search/models/search-result.model'; /** diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.spec.ts index e905a750d9..1362eb65ca 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.spec.ts @@ -1,10 +1,19 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { Store } from '@ngrx/store'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; - +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { Observable } from 'rxjs'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service'; @@ -13,6 +22,7 @@ import { BitstreamDataService } from '../../../../core/data/bitstream-data.servi import { CommunityDataService } from '../../../../core/data/community-data.service'; import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service'; import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service'; +import { FindListOptions } from '../../../../core/data/find-list-options.model'; import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { Bitstream } from '../../../../core/shared/bitstream.model'; @@ -22,16 +32,15 @@ import { Item } from '../../../../core/shared/item.model'; import { UUIDService } from '../../../../core/shared/uuid.service'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { NotificationsService } from '../../../notifications/notifications.service'; -import { HALEndpointServiceStub } from '../../../testing/hal-endpoint-service.stub'; import { createSuccessfulRemoteDataObject$ } from '../../../remote-data.utils'; +import { HALEndpointServiceStub } from '../../../testing/hal-endpoint-service.stub'; +import { createPaginatedList } from '../../../testing/utils.test'; import { FileSizePipe } from '../../../utils/file-size-pipe'; import { FollowLinkConfig } from '../../../utils/follow-link-config.model'; import { TruncatePipe } from '../../../utils/truncate.pipe'; import { VarDirective } from '../../../utils/var.directive'; -import { ItemDetailPreviewFieldComponent } from './item-detail-preview-field/item-detail-preview-field.component'; import { ItemDetailPreviewComponent } from './item-detail-preview.component'; -import { createPaginatedList } from '../../../testing/utils.test'; -import { FindListOptions } from '../../../../core/data/find-list-options.model'; +import { ItemDetailPreviewFieldComponent } from './item-detail-preview-field/item-detail-preview-field.component'; function getMockFileService(): FileService { return jasmine.createSpyObj('FileService', { diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts index f5ef43a7a7..f0f60561ed 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts @@ -1,18 +1,20 @@ -import { Component, Input } from '@angular/core'; - +import { + Component, + Input, +} from '@angular/core'; import { Observable } from 'rxjs'; import { first } from 'rxjs/operators'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { Context } from '../../../../core/shared/context.model'; +import { FileService } from '../../../../core/shared/file.service'; +import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; import { Item } from '../../../../core/shared/item.model'; import { getFirstSucceededRemoteListPayload } from '../../../../core/shared/operators'; import { fadeInOut } from '../../../animations/fade'; -import { Bitstream } from '../../../../core/shared/bitstream.model'; -import { FileService } from '../../../../core/shared/file.service'; -import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; import { SearchResult } from '../../../search/models/search-result.model'; -import { Context } from '../../../../core/shared/context.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * This component show metadata for the given item object in the detail view. diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts index 12b8bad571..48dc0b438b 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts @@ -1,15 +1,21 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; - -import { Item } from '../../../../core/shared/item.model'; -import { ItemSearchResultDetailElementComponent } from './item-search-result-detail-element.component'; -import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { Context } from 'src/app/core/shared/context.model'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; +import { ItemSearchResultDetailElementComponent } from './item-search-result-detail-element.component'; let component: ItemSearchResultDetailElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts index 125824dd5f..05916cdaff 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts @@ -1,11 +1,11 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { Item } from '../../../../core/shared/item.model'; -import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; /** * This component renders item object for the search result in the detail view. diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts index e4f189e293..db1d5f2dab 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts @@ -1,23 +1,32 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, flush, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - -import { of as observableOf } from 'rxjs'; - -import { Item } from '../../../../core/shared/item.model'; -import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { PoolSearchResultDetailElementComponent } from './pool-search-result-detail-element.component'; -import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; -import { VarDirective } from '../../../utils/var.directive'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + flush, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { of as observableOf } from 'rxjs'; import { Context } from 'src/app/core/shared/context.model'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; +import { Item } from '../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { VarDirective } from '../../../utils/var.directive'; +import { PoolSearchResultDetailElementComponent } from './pool-search-result-detail-element.component'; let component: PoolSearchResultDetailElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts index c4b75d0b8b..26ea26c6a7 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts @@ -1,23 +1,36 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; - -import { BehaviorSubject, EMPTY, Observable } from 'rxjs'; -import { mergeMap, tap } from 'rxjs/operators'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + EMPTY, + Observable, +} from 'rxjs'; +import { + mergeMap, + tap, +} from 'rxjs/operators'; +import { Context } from 'src/app/core/shared/context.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { RemoteData } from '../../../../core/data/remote-data'; -import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; -import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { Item } from '../../../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; import { followLink } from '../../../utils/follow-link-config.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { Item } from '../../../../core/shared/item.model'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { isNotEmpty, hasValue } from '../../../empty.util'; -import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; -import { Context } from 'src/app/core/shared/context.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; /** * This component renders pool task object for the search result in the detail view. diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts index d543f2eef7..1880da1eb0 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts @@ -1,9 +1,12 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { Metadata } from '../../../core/shared/metadata.utils'; import { hasValue } from '../../empty.util'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { SearchResult } from '../../search/models/search-result.model'; /** diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts index 5843fb8472..8fb826f69b 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts @@ -1,19 +1,25 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { WorkflowItemSearchResultDetailElementComponent } from './workflow-item-search-result-detail-element.component'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; -import { getMockLinkService } from '../../../mocks/link-service.mock'; -import { LinkService } from '../../../../core/cache/builders/link.service'; import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { LinkService } from '../../../../core/cache/builders/link.service'; import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { WorkflowItemSearchResultDetailElementComponent } from './workflow-item-search-result-detail-element.component'; let component: WorkflowItemSearchResultDetailElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts index afd00b8dec..976b630acf 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts @@ -1,19 +1,19 @@ import { Component } from '@angular/core'; - -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { Item } from '../../../../core/shared/item.model'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; import { Observable } from 'rxjs'; -import { RemoteData } from '../../../../core/data/remote-data'; import { find } from 'rxjs/operators'; +import { Context } from 'src/app/core/shared/context.model'; + +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { Item } from '../../../../core/shared/item.model'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { isNotUndefined } from '../../../empty.util'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; import { followLink } from '../../../utils/follow-link-config.model'; -import { Context } from 'src/app/core/shared/context.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; /** * This component renders workflowitem object for the search result in the detail view. diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts index 1551756f68..9fdf1b126d 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts @@ -1,20 +1,26 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; - -import { Item } from '../../../../core/shared/item.model'; -import { WorkspaceItemSearchResultDetailElementComponent } from './workspace-item-search-result-detail-element.component'; -import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; -import { getMockLinkService } from '../../../mocks/link-service.mock'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; import { Context } from 'src/app/core/shared/context.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { Item } from '../../../../core/shared/item.model'; +import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { WorkspaceItemSearchResultDetailElementComponent } from './workspace-item-search-result-detail-element.component'; + let component: WorkspaceItemSearchResultDetailElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts index 956447fefc..a6218fd9e8 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts @@ -1,20 +1,19 @@ import { Component } from '@angular/core'; - import { Observable } from 'rxjs'; import { find } from 'rxjs/operators'; -import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; -import { Item } from '../../../../core/shared/item.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; import { RemoteData } from '../../../../core/data/remote-data'; -import { isNotUndefined } from '../../../empty.util'; -import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; +import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; +import { isNotUndefined } from '../../../empty.util'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { WorkspaceItemSearchResult } from '../../../object-collection/shared/workspace-item-search-result.model'; import { followLink } from '../../../utils/follow-link-config.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { Context } from '../../../../core/shared/context.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { SearchResultDetailElementComponent } from '../search-result-detail-element.component'; /** * This component renders workspace item object for the search result in the detail view. diff --git a/src/app/shared/object-detail/object-detail.component.spec.ts b/src/app/shared/object-detail/object-detail.component.spec.ts index 3f92362280..46c8234182 100644 --- a/src/app/shared/object-detail/object-detail.component.spec.ts +++ b/src/app/shared/object-detail/object-detail.component.spec.ts @@ -1,14 +1,27 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { ObjectDetailComponent } from './object-detail.component'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + +import { buildPaginatedList } from '../../core/data/paginated-list.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; +import { ObjectDetailComponent } from './object-detail.component'; describe('ObjectDetailComponent', () => { let comp: ObjectDetailComponent; diff --git a/src/app/shared/object-detail/object-detail.component.ts b/src/app/shared/object-detail/object-detail.component.ts index ef3e4e179d..800a003c21 100644 --- a/src/app/shared/object-detail/object-detail.component.ts +++ b/src/app/shared/object-detail/object-detail.component.ts @@ -1,16 +1,24 @@ -import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + Input, + Output, + ViewEncapsulation, +} from '@angular/core'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { PaginatedList } from '../../core/data/paginated-list.model'; - import { RemoteData } from '../../core/data/remote-data'; -import { fadeIn } from '../animations/fade'; -import { ListableObject } from '../object-collection/shared/listable-object.model'; - -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { ViewMode } from '../../core/shared/view-mode.model'; import { Context } from '../../core/shared/context.model'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { fadeIn } from '../animations/fade'; import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; +import { ListableObject } from '../object-collection/shared/listable-object.model'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; /** * This component renders a paginated set of results in the detail view. diff --git a/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.spec.ts b/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.spec.ts index 60bf74ad42..85b448e9d5 100644 --- a/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.spec.ts +++ b/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.spec.ts @@ -1,11 +1,19 @@ -import { CollectionGridElementComponent } from './collection-grid-element.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { Collection } from '../../../core/shared/collection.model'; -import { LinkService } from '../../../core/cache/builders/link.service'; import { TranslateModule } from '@ngx-translate/core'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { CollectionGridElementComponent } from './collection-grid-element.component'; + let collectionGridElementComponent: CollectionGridElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts b/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts index 500a6bf9f5..2d70fe7b60 100644 --- a/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts +++ b/src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts @@ -1,12 +1,19 @@ -import { Component, Input } from '@angular/core'; -import { Collection } from '../../../core/shared/collection.model'; -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ViewMode } from '../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; -import { hasNoValue, hasValue } from '../../empty.util'; -import { followLink } from '../../utils/follow-link-config.model'; -import { LinkService } from '../../../core/cache/builders/link.service'; +import { + Component, + Input, +} from '@angular/core'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { + hasNoValue, + hasValue, +} from '../../empty.util'; +import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; +import { followLink } from '../../utils/follow-link-config.model'; /** * Component representing a grid element for collection diff --git a/src/app/shared/object-grid/community-grid-element/community-grid-element.component.spec.ts b/src/app/shared/object-grid/community-grid-element/community-grid-element.component.spec.ts index d62c85fbf8..628fbe268e 100644 --- a/src/app/shared/object-grid/community-grid-element/community-grid-element.component.spec.ts +++ b/src/app/shared/object-grid/community-grid-element/community-grid-element.component.spec.ts @@ -1,11 +1,19 @@ -import { CommunityGridElementComponent } from './community-grid-element.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { Community } from '../../../core/shared/community.model'; -import { LinkService } from '../../../core/cache/builders/link.service'; import { TranslateModule } from '@ngx-translate/core'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { Community } from '../../../core/shared/community.model'; +import { CommunityGridElementComponent } from './community-grid-element.component'; + let communityGridElementComponent: CommunityGridElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts b/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts index 0cbf82de23..58fbde43c1 100644 --- a/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts +++ b/src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts @@ -1,12 +1,19 @@ -import { Component, Input } from '@angular/core'; -import { Community } from '../../../core/shared/community.model'; -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ViewMode } from '../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; -import { followLink } from '../../utils/follow-link-config.model'; -import { LinkService } from '../../../core/cache/builders/link.service'; -import { hasNoValue, hasValue } from '../../empty.util'; +import { + Component, + Input, +} from '@angular/core'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { Community } from '../../../core/shared/community.model'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { + hasNoValue, + hasValue, +} from '../../empty.util'; +import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; +import { followLink } from '../../utils/follow-link-config.model'; /** * Component representing a grid element for a community diff --git a/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.spec.ts b/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.spec.ts index cb31f03ec4..b104778e8b 100644 --- a/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.spec.ts +++ b/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.spec.ts @@ -1,17 +1,24 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TruncatePipe } from '../../../../utils/truncate.pipe'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { ItemGridElementComponent } from './item-grid-element.component'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; -import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../../../core/shared/page-info.model'; + import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { PageInfo } from '../../../../../core/shared/page-info.model'; import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../utils/truncate.pipe'; +import { ItemGridElementComponent } from './item-grid-element.component'; const mockItem = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), diff --git a/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.ts b/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.ts index efe8e669fd..fd2c498c9a 100644 --- a/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.ts +++ b/src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.ts @@ -1,9 +1,10 @@ import { Component } from '@angular/core'; -import { focusShadow } from '../../../../animations/focus'; + +import { Item } from '../../../../../core/shared/item.model'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { focusShadow } from '../../../../animations/focus'; import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../../core/shared/item.model'; @listableObjectComponent('Publication', ViewMode.GridElement) @listableObjectComponent(Item, ViewMode.GridElement) diff --git a/src/app/shared/object-grid/object-grid.component.spec.ts b/src/app/shared/object-grid/object-grid.component.spec.ts index f9f3c359eb..11281207b3 100644 --- a/src/app/shared/object-grid/object-grid.component.spec.ts +++ b/src/app/shared/object-grid/object-grid.component.spec.ts @@ -1,5 +1,9 @@ -import { cold, hot } from 'jasmine-marbles'; +import { + cold, + hot, +} from 'jasmine-marbles'; import { map } from 'rxjs/operators'; + import { WidthCategory } from '../host-window.service'; import { ObjectGridComponent } from './object-grid.component'; diff --git a/src/app/shared/object-grid/object-grid.component.ts b/src/app/shared/object-grid/object-grid.component.ts index dd574e0bd0..e292cd07f0 100644 --- a/src/app/shared/object-grid/object-grid.component.ts +++ b/src/app/shared/object-grid/object-grid.component.ts @@ -1,6 +1,3 @@ -import { BehaviorSubject, combineLatest as observableCombineLatest, Observable } from 'rxjs'; - -import { distinctUntilChanged, map, startWith } from 'rxjs/operators'; import { ChangeDetectionStrategy, Component, @@ -10,20 +7,37 @@ import { Output, ViewEncapsulation, } from '@angular/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + map, + startWith, +} from 'rxjs/operators'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { PaginatedList } from '../../core/data/paginated-list.model'; - import { RemoteData } from '../../core/data/remote-data'; -import { fadeIn } from '../animations/fade'; -import { hasNoValue, hasValue } from '../empty.util'; -import { HostWindowService, WidthCategory } from '../host-window.service'; -import { ListableObject } from '../object-collection/shared/listable-object.model'; - -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { ViewMode } from '../../core/shared/view-mode.model'; import { Context } from '../../core/shared/context.model'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { fadeIn } from '../animations/fade'; +import { + hasNoValue, + hasValue, +} from '../empty.util'; +import { + HostWindowService, + WidthCategory, +} from '../host-window.service'; import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; +import { ListableObject } from '../object-collection/shared/listable-object.model'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; @Component({ changeDetection: ChangeDetectionStrategy.Default, diff --git a/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.spec.ts b/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.spec.ts index bd93c5453f..f1e2eaa47f 100644 --- a/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.spec.ts +++ b/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.spec.ts @@ -1,12 +1,23 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { LinkService } from '../../../../core/cache/builders/link.service'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; import { CommunityDataService } from '../../../../core/data/community-data.service'; import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service'; import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service'; @@ -18,9 +29,6 @@ import { CollectionSearchResult } from '../../../object-collection/shared/collec import { TruncatableService } from '../../../truncatable/truncatable.service'; import { TruncatePipe } from '../../../utils/truncate.pipe'; import { CollectionSearchResultGridElementComponent } from './collection-search-result-grid-element.component'; -import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { TranslateModule } from '@ngx-translate/core'; let collectionSearchResultGridElementComponent: CollectionSearchResultGridElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts index 20215bb389..26098c8f96 100644 --- a/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts @@ -1,15 +1,22 @@ -import { Component, Input } from '@angular/core'; -import { SearchResultGridElementComponent } from '../search-result-grid-element.component'; -import { Collection } from '../../../../core/shared/collection.model'; -import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { hasNoValue, hasValue } from '../../../empty.util'; -import { followLink } from '../../../utils/follow-link-config.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { + Component, + Input, +} from '@angular/core'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { Collection } from '../../../../core/shared/collection.model'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { + hasNoValue, + hasValue, +} from '../../../empty.util'; +import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { followLink } from '../../../utils/follow-link-config.model'; +import { SearchResultGridElementComponent } from '../search-result-grid-element.component'; @Component({ selector: 'ds-collection-search-result-grid-element', diff --git a/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.spec.ts b/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.spec.ts index 27348335e6..5ba283ebde 100644 --- a/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.spec.ts +++ b/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.spec.ts @@ -1,12 +1,23 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { LinkService } from '../../../../core/cache/builders/link.service'; import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; import { CommunityDataService } from '../../../../core/data/community-data.service'; import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service'; import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service'; @@ -18,9 +29,6 @@ import { CommunitySearchResult } from '../../../object-collection/shared/communi import { TruncatableService } from '../../../truncatable/truncatable.service'; import { TruncatePipe } from '../../../utils/truncate.pipe'; import { CommunitySearchResultGridElementComponent } from './community-search-result-grid-element.component'; -import { BitstreamFormatDataService } from '../../../../core/data/bitstream-format-data.service'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { TranslateModule } from '@ngx-translate/core'; let communitySearchResultGridElementComponent: CommunitySearchResultGridElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts index cf1816ff20..dc813efd4b 100644 --- a/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts @@ -1,15 +1,22 @@ -import { Component, Input } from '@angular/core'; -import { Community } from '../../../../core/shared/community.model'; -import { SearchResultGridElementComponent } from '../search-result-grid-element.component'; -import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; -import { hasNoValue, hasValue } from '../../../empty.util'; -import { followLink } from '../../../utils/follow-link-config.model'; +import { + Component, + Input, +} from '@angular/core'; + import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; +import { Community } from '../../../../core/shared/community.model'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { + hasNoValue, + hasValue, +} from '../../../empty.util'; +import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { followLink } from '../../../utils/follow-link-config.model'; +import { SearchResultGridElementComponent } from '../search-result-grid-element.component'; @Component({ selector: 'ds-community-search-result-grid-element', diff --git a/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec.ts b/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec.ts index d5fe97e496..ec4a7899c8 100644 --- a/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec.ts +++ b/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec.ts @@ -1,11 +1,21 @@ import { HttpClient } from '@angular/common/http'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { Store } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; diff --git a/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts index 14a87a11a1..f37b7a21eb 100644 --- a/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts @@ -1,16 +1,15 @@ import { Component } from '@angular/core'; -import { focusShadow } from '../../../../animations/focus'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { - listableObjectComponent, -} from '../../../../object-collection/shared/listable-object/listable-object.decorator'; -import { SearchResultGridElementComponent } from '../../search-result-grid-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; -import { getItemPageRoute } from '../../../../../item-page/item-page-routing-paths'; + import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { getItemPageRoute } from '../../../../../item-page/item-page-routing-paths'; +import { focusShadow } from '../../../../animations/focus'; +import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { SearchResultGridElementComponent } from '../../search-result-grid-element.component'; @listableObjectComponent('PublicationSearchResult', ViewMode.GridElement) @listableObjectComponent(ItemSearchResult, ViewMode.GridElement) diff --git a/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts index 1fed40b18c..95d233c22e 100644 --- a/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts @@ -1,14 +1,17 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; -import { SearchResult } from '../../search/models/search-result.model'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { Metadata } from '../../../core/shared/metadata.utils'; import { hasValue } from '../../empty.util'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; +import { SearchResult } from '../../search/models/search-result.model'; import { TruncatableService } from '../../truncatable/truncatable.service'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-search-result-grid-element', diff --git a/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.spec.ts b/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.spec.ts index 95210833e3..1d70d598cb 100644 --- a/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.spec.ts +++ b/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.spec.ts @@ -1,12 +1,15 @@ import {CommonModule} from '@angular/common'; -import {ComponentFixture, TestBed} from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import {RouterTestingModule} from '@angular/router/testing'; import {TranslateModule} from '@ngx-translate/core'; -import {SharedModule} from '../../shared.module'; -import {BitstreamListItemComponent} from './bitstream-list-item.component'; import {DSONameService} from '../../../core/breadcrumbs/dso-name.service'; import {DSONameServiceMock} from '../../mocks/dso-name.service.mock'; +import {SharedModule} from '../../shared.module'; +import {BitstreamListItemComponent} from './bitstream-list-item.component'; describe('BitstreamListItemComponent', () => { let component: BitstreamListItemComponent; diff --git a/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.ts b/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.ts index 574133a549..28c83e9662 100644 --- a/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.ts +++ b/src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.ts @@ -1,11 +1,10 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../core/shared/view-mode.model'; -import { - AbstractListableElementComponent, -} from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; + import { Bitstream } from '../../../core/shared/bitstream.model'; import { Context } from '../../../core/shared/context.model'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; @listableObjectComponent(Bitstream, ViewMode.ListElement, Context.Bitstream) diff --git a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.spec.ts b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.spec.ts index b3a92477bd..5a3a98f86d 100644 --- a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.spec.ts +++ b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.spec.ts @@ -1,14 +1,23 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TruncatePipe } from '../../utils/truncate.pipe'; -import { BrowseEntryListElementComponent } from './browse-entry-list-element.component'; -import { BrowseEntry } from '../../../core/shared/browse-entry.model'; +import { of as observableOf } from 'rxjs'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { PaginationService } from '../../../core/pagination/pagination.service'; import { RouteService } from '../../../core/services/route.service'; -import { of as observableOf } from 'rxjs'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { BrowseEntry } from '../../../core/shared/browse-entry.model'; import { DSONameServiceMock } from '../../mocks/dso-name.service.mock'; +import { TruncatePipe } from '../../utils/truncate.pipe'; +import { BrowseEntryListElementComponent } from './browse-entry-list-element.component'; + let browseEntryListElementComponent: BrowseEntryListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts index 160e216fab..affb568d0f 100644 --- a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts +++ b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts @@ -1,16 +1,19 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { Params } from '@angular/router'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { RouteService } from 'src/app/core/services/route.service'; -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; +import { BBM_PAGINATION_ID } from '../../../browse-by/browse-by-metadata-page/browse-by-metadata-page.component'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { PaginationService } from '../../../core/pagination/pagination.service'; import { BrowseEntry } from '../../../core/shared/browse-entry.model'; import { ViewMode } from '../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; -import { PaginationService } from '../../../core/pagination/pagination.service'; -import { Params } from '@angular/router'; -import { BBM_PAGINATION_ID } from '../../../browse-by/browse-by-metadata-page/browse-by-metadata-page.component'; -import { RouteService } from 'src/app/core/services/route.service'; -import { Observable } from 'rxjs'; -import { map } from 'rxjs/operators'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; @Component({ selector: 'ds-browse-entry-list-element', diff --git a/src/app/shared/object-list/bundle-list-element/bundle-list-element.component.ts b/src/app/shared/object-list/bundle-list-element/bundle-list-element.component.ts index c05f2ddc13..ad8fcc1e66 100644 --- a/src/app/shared/object-list/bundle-list-element/bundle-list-element.component.ts +++ b/src/app/shared/object-list/bundle-list-element/bundle-list-element.component.ts @@ -1,8 +1,9 @@ -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Bundle } from '../../../core/shared/bundle.model'; import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; + +import { Bundle } from '../../../core/shared/bundle.model'; import { ViewMode } from '../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; @Component({ selector: 'ds-bundle-list-element', diff --git a/src/app/shared/object-list/collection-list-element/collection-list-element.component.spec.ts b/src/app/shared/object-list/collection-list-element/collection-list-element.component.spec.ts index f24e9f4b3f..dcbd4ce641 100644 --- a/src/app/shared/object-list/collection-list-element/collection-list-element.component.spec.ts +++ b/src/app/shared/object-list/collection-list-element/collection-list-element.component.spec.ts @@ -1,10 +1,18 @@ -import { CollectionListElementComponent } from './collection-list-element.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { Collection } from '../../../core/shared/collection.model'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { Collection } from '../../../core/shared/collection.model'; import { DSONameServiceMock } from '../../mocks/dso-name.service.mock'; +import { CollectionListElementComponent } from './collection-list-element.component'; let collectionListElementComponent: CollectionListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts b/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts index 54757f4d39..6e531f9abb 100644 --- a/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts +++ b/src/app/shared/object-list/collection-list-element/collection-list-element.component.ts @@ -1,9 +1,9 @@ import { Component } from '@angular/core'; import { Collection } from '../../../core/shared/collection.model'; -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { ViewMode } from '../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; @Component({ selector: 'ds-collection-list-element', diff --git a/src/app/shared/object-list/community-list-element/community-list-element.component.spec.ts b/src/app/shared/object-list/community-list-element/community-list-element.component.spec.ts index aeb395d408..74c8fe59ba 100644 --- a/src/app/shared/object-list/community-list-element/community-list-element.component.spec.ts +++ b/src/app/shared/object-list/community-list-element/community-list-element.component.spec.ts @@ -1,10 +1,18 @@ -import { CommunityListElementComponent } from './community-list-element.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { Community } from '../../../core/shared/community.model'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { Community } from '../../../core/shared/community.model'; import { DSONameServiceMock } from '../../mocks/dso-name.service.mock'; +import { CommunityListElementComponent } from './community-list-element.component'; let communityListElementComponent: CommunityListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/community-list-element/community-list-element.component.ts b/src/app/shared/object-list/community-list-element/community-list-element.component.ts index bb080db0d9..8929db48be 100644 --- a/src/app/shared/object-list/community-list-element/community-list-element.component.ts +++ b/src/app/shared/object-list/community-list-element/community-list-element.component.ts @@ -1,10 +1,10 @@ import { Component } from '@angular/core'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { Community } from '../../../core/shared/community.model'; -import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { ViewMode } from '../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; @Component({ selector: 'ds-community-list-element', diff --git a/src/app/shared/object-list/identifier-data/identifier-data.component.ts b/src/app/shared/object-list/identifier-data/identifier-data.component.ts index 715393bf98..65091b5ee4 100644 --- a/src/app/shared/object-list/identifier-data/identifier-data.component.ts +++ b/src/app/shared/object-list/identifier-data/identifier-data.component.ts @@ -1,10 +1,14 @@ -import { Component, Input } from '@angular/core'; -import { map } from 'rxjs/operators'; +import { + Component, + Input, +} from '@angular/core'; import { Observable } from 'rxjs'; -import { hasValue } from '../../empty.util'; +import { map } from 'rxjs/operators'; import { Item } from 'src/app/core/shared/item.model'; -import { IdentifierData } from './identifier-data.model'; + import { IdentifierDataService } from '../../../core/data/identifier-data.service'; +import { hasValue } from '../../empty.util'; +import { IdentifierData } from './identifier-data.model'; @Component({ selector: 'ds-identifier-data', diff --git a/src/app/shared/object-list/identifier-data/identifier-data.model.ts b/src/app/shared/object-list/identifier-data/identifier-data.model.ts index db193c79d1..b2968b3d78 100644 --- a/src/app/shared/object-list/identifier-data/identifier-data.model.ts +++ b/src/app/shared/object-list/identifier-data/identifier-data.model.ts @@ -1,11 +1,15 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; import { typedObject } from 'src/app/core/cache/builders/build-decorators'; import { CacheableObject } from 'src/app/core/cache/cacheable-object.model'; import { HALLink } from 'src/app/core/shared/hal-link.model'; import { ResourceType } from 'src/app/core/shared/resource-type'; import { excludeFromEquals } from 'src/app/core/utilities/equals.decorators'; -import { IDENTIFIERS } from './identifier-data.resource-type'; + import {Identifier} from './identifier.model'; +import { IDENTIFIERS } from './identifier-data.resource-type'; @typedObject export class IdentifierData implements CacheableObject { diff --git a/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.spec.ts b/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.spec.ts index 6bf71e2810..25a31967f2 100644 --- a/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.spec.ts +++ b/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.spec.ts @@ -1,13 +1,20 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { ItemListElementComponent } from './item-list-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../utils/truncate.pipe'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { of as observableOf } from 'rxjs'; + import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../core/shared/item.model'; import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../utils/truncate.pipe'; +import { ItemListElementComponent } from './item-list-element.component'; const mockItem: Item = Object.assign(new Item(), { bundles: observableOf({}), diff --git a/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.ts b/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.ts index 25ecc8c4bd..981a03eb4a 100644 --- a/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.ts +++ b/src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.ts @@ -1,8 +1,9 @@ import { Component } from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; import { AbstractListableElementComponent } from '../../../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { Item } from '../../../../../core/shared/item.model'; @listableObjectComponent('Publication', ViewMode.ListElement) @listableObjectComponent(Item, ViewMode.ListElement) diff --git a/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.spec.ts b/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.spec.ts index 3cf05f7fec..b3044e6ced 100644 --- a/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.spec.ts +++ b/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.spec.ts @@ -1,10 +1,14 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { ListableNotificationObjectComponent } from './listable-notification-object.component'; -import { NotificationType } from '../../notifications/models/notification-type'; -import { ListableNotificationObject } from './listable-notification-object.model'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateModule } from '@ngx-translate/core'; +import { NotificationType } from '../../notifications/models/notification-type'; +import { ListableNotificationObjectComponent } from './listable-notification-object.component'; +import { ListableNotificationObject } from './listable-notification-object.model'; + describe('ListableNotificationObjectComponent', () => { let component: ListableNotificationObjectComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.ts b/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.ts index 4f13abee32..8912b4867c 100644 --- a/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.ts +++ b/src/app/shared/object-list/listable-notification-object/listable-notification-object.component.ts @@ -1,10 +1,9 @@ import { Component } from '@angular/core'; -import { - AbstractListableElementComponent, -} from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ListableNotificationObject } from './listable-notification-object.model'; -import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; + import { ViewMode } from '../../../core/shared/view-mode.model'; +import { listableObjectComponent } from '../../object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; +import { ListableNotificationObject } from './listable-notification-object.model'; import { LISTABLE_NOTIFICATION_OBJECT } from './listable-notification-object.resource-type'; /** diff --git a/src/app/shared/object-list/listable-notification-object/listable-notification-object.model.ts b/src/app/shared/object-list/listable-notification-object/listable-notification-object.model.ts index 163d9096a2..b90b37e6a6 100644 --- a/src/app/shared/object-list/listable-notification-object/listable-notification-object.model.ts +++ b/src/app/shared/object-list/listable-notification-object/listable-notification-object.model.ts @@ -1,10 +1,10 @@ -import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { typedObject } from '../../../core/cache/builders/build-decorators'; import { TypedObject } from '../../../core/cache/typed-object.model'; -import { LISTABLE_NOTIFICATION_OBJECT } from './listable-notification-object.resource-type'; import { GenericConstructor } from '../../../core/shared/generic-constructor'; -import { NotificationType } from '../../notifications/models/notification-type'; import { ResourceType } from '../../../core/shared/resource-type'; +import { NotificationType } from '../../notifications/models/notification-type'; +import { ListableObject } from '../../object-collection/shared/listable-object.model'; +import { LISTABLE_NOTIFICATION_OBJECT } from './listable-notification-object.resource-type'; /** * Object representing a notification message inside a list of objects diff --git a/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.spec.ts index 4c92b82d8e..5f1d56315e 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.spec.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.spec.ts @@ -1,7 +1,15 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { BrowseLinkMetadataListElementComponent } from './browse-link-metadata-list-element.component'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; + import { MetadatumRepresentation } from '../../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; +import { BrowseLinkMetadataListElementComponent } from './browse-link-metadata-list-element.component'; const mockMetadataRepresentation = Object.assign(new MetadatumRepresentation('type'), { key: 'dc.contributor.author', diff --git a/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.ts index 3db3634104..4111130802 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.ts @@ -1,8 +1,9 @@ -import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; import { Component } from '@angular/core'; -import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; -import { metadataRepresentationComponent } from '../../../metadata-representation/metadata-representation.decorator'; + +import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; import { VALUE_LIST_BROWSE_DEFINITION } from '../../../../core/shared/value-list-browse-definition.resource-type'; +import { metadataRepresentationComponent } from '../../../metadata-representation/metadata-representation.decorator'; +import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; //@metadataRepresentationComponent('Publication', MetadataRepresentationType.PlainText) // For now, authority controlled fields are rendered the same way as plain text fields //@metadataRepresentationComponent('Publication', MetadataRepresentationType.AuthorityControlled) diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts index e3145f507d..58607a82b4 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts @@ -1,8 +1,16 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ItemMetadataListElementComponent } from './item-metadata-list-element.component'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; + import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; +import { ItemMetadataListElementComponent } from './item-metadata-list-element.component'; const mockItemMetadataRepresentation = new ItemMetadataRepresentation(Object.assign({})); diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.ts index 704e3ceac9..46230cf6f9 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.ts @@ -1,8 +1,9 @@ -import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; import { Component } from '@angular/core'; -import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; + +import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { metadataRepresentationComponent } from '../../../metadata-representation/metadata-representation.decorator'; +import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; @metadataRepresentationComponent('Publication', MetadataRepresentationType.Item) @Component({ diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts index e38e15483e..ff54a9e00d 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts @@ -1,7 +1,12 @@ -import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; -import { Component, OnInit, Input } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; + import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; import { getItemPageRoute } from '../../../../item-page/item-page-routing-paths'; +import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; @Component({ selector: 'ds-item-metadata-representation-list-element', diff --git a/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.spec.ts index e015dbec50..0d25cbd15d 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.spec.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.spec.ts @@ -1,5 +1,13 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; + import { MetadatumRepresentation } from '../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; import { mockData } from '../../testing/browse-definition-data-service.stub'; import { MetadataRepresentationListElementComponent } from './metadata-representation-list-element.component'; diff --git a/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts index af935ac861..b7e72ffbb2 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts @@ -1,6 +1,10 @@ -import { Component, Input } from '@angular/core'; -import { MetadataRepresentation } from '../../../core/shared/metadata-representation/metadata-representation.model'; +import { + Component, + Input, +} from '@angular/core'; + import { Context } from '../../../core/shared/context.model'; +import { MetadataRepresentation } from '../../../core/shared/metadata-representation/metadata-representation.model'; @Component({ selector: 'ds-metadata-representation-list-element', diff --git a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts index 53fccdeec3..cc38ad7b35 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts @@ -1,9 +1,17 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { PlainTextMetadataListElementComponent } from './plain-text-metadata-list-element.component'; -import { MetadatumRepresentation } from '../../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; + +import { MetadatumRepresentation } from '../../../../core/shared/metadata-representation/metadatum/metadatum-representation.model'; import { mockData } from '../../../testing/browse-definition-data-service.stub'; +import { PlainTextMetadataListElementComponent } from './plain-text-metadata-list-element.component'; // Render the mock representation with the default mock author browse definition so it is also rendered as a link // without affecting other tests diff --git a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.ts index 630b3e8164..e023eb42cc 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.ts @@ -1,8 +1,9 @@ -import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; import { Component } from '@angular/core'; -import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; -import { metadataRepresentationComponent } from '../../../metadata-representation/metadata-representation.decorator'; + +import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model'; import { VALUE_LIST_BROWSE_DEFINITION } from '../../../../core/shared/value-list-browse-definition.resource-type'; +import { metadataRepresentationComponent } from '../../../metadata-representation/metadata-representation.decorator'; +import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; @metadataRepresentationComponent('Publication', MetadataRepresentationType.PlainText) // For now, authority controlled fields are rendered the same way as plain text fields diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts index 5c379d4289..ed836482ed 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts @@ -1,25 +1,31 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; -import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; -import { getMockLinkService } from '../../../../mocks/link-service.mock'; -import { VarDirective } from '../../../../utils/var.directive'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; -import { ClaimedApprovedSearchResultListElementComponent } from './claimed-approved-search-result-list-element.component'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; import { Context } from '../../../../../core/shared/context.model'; -import { TranslateModule } from '@ngx-translate/core'; +import { Item } from '../../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../../mocks/link-service.mock'; +import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { VarDirective } from '../../../../utils/var.directive'; +import { ClaimedApprovedSearchResultListElementComponent } from './claimed-approved-search-result-list-element.component'; let component: ClaimedApprovedSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts index d592fcee2d..48286aebea 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts @@ -1,19 +1,26 @@ -import { Component, Inject } from '@angular/core'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; -import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { + Component, + Inject, +} from '@angular/core'; import { Observable } from 'rxjs'; +import { Context } from 'src/app/core/shared/context.model'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; import { RemoteData } from '../../../../../core/data/remote-data'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; +import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; +import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { followLink } from '../../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../../search-result-list-element/search-result-list-element.component'; -import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; -import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; -import { Context } from 'src/app/core/shared/context.model'; /** * This component renders claimed task approved object for the search result in the list view. diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.spec.ts index e3d1633d8a..82c659ba63 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.spec.ts @@ -1,25 +1,31 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { ClaimedDeclinedSearchResultListElementComponent } from './claimed-declined-search-result-list-element.component'; -import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; -import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; -import { getMockLinkService } from '../../../../mocks/link-service.mock'; -import { VarDirective } from '../../../../utils/var.directive'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; import { Context } from '../../../../../core/shared/context.model'; -import { TranslateModule } from '@ngx-translate/core'; +import { Item } from '../../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../../mocks/link-service.mock'; +import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { VarDirective } from '../../../../utils/var.directive'; +import { ClaimedDeclinedSearchResultListElementComponent } from './claimed-declined-search-result-list-element.component'; let component: ClaimedDeclinedSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts index 6d0074121b..009c78d975 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts @@ -1,20 +1,26 @@ -import { Component, Inject } from '@angular/core'; - -import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; -import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { + Component, + Inject, +} from '@angular/core'; import { Observable } from 'rxjs'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; import { RemoteData } from '../../../../../core/data/remote-data'; +import { Context } from '../../../../../core/shared/context.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; +import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; +import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { followLink } from '../../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../../search-result-list-element/search-result-list-element.component'; -import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; -import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; -import { Context } from '../../../../../core/shared/context.model'; /** * This component renders claimed task declined object for the search result in the list view. diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.spec.ts index 09911dd471..61b6b8d9e8 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.spec.ts @@ -1,22 +1,30 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { ClaimedDeclinedTaskSearchResultListElementComponent } from './claimed-declined-task-search-result-list-element.component'; -import { ClaimedDeclinedTaskTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-task-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; -import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; -import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; -import { getMockLinkService } from '../../../../mocks/link-service.mock'; -import { VarDirective } from '../../../../utils/var.directive'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; + import { APP_CONFIG } from '../../../../../../config/app-config.interface'; import { environment } from '../../../../../../environments/environment'; -import { TranslateModule } from '@ngx-translate/core'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { Item } from '../../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../../mocks/link-service.mock'; +import { ClaimedDeclinedTaskTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { VarDirective } from '../../../../utils/var.directive'; +import { ClaimedDeclinedTaskSearchResultListElementComponent } from './claimed-declined-task-search-result-list-element.component'; let component: ClaimedDeclinedTaskSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.ts index 15e572b7d1..81059ba736 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.ts @@ -1,19 +1,27 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; -import { ClaimedDeclinedTaskTaskSearchResult } from 'src/app/shared/object-collection/shared/claimed-declined-task-task-search-result.model'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; -import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; +import { ClaimedDeclinedTaskTaskSearchResult } from 'src/app/shared/object-collection/shared/claimed-declined-task-task-search-result.model'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; import { RemoteData } from '../../../../../core/data/remote-data'; +import { Context } from '../../../../../core/shared/context.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; +import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { followLink } from '../../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../../search-result-list-element/search-result-list-element.component'; -import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; -import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; -import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../../config/app-config.interface'; -import { Context } from '../../../../../core/shared/context.model'; /** * This component renders claimed task declined task object for the search result in the list view. diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts index 3e7c0963be..d5c3f20898 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts @@ -1,4 +1,7 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; import { ComponentFixture, fakeAsync, @@ -7,27 +10,26 @@ import { tick, waitForAsync, } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { ClaimedSearchResultListElementComponent } from './claimed-search-result-list-element.component'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { VarDirective } from '../../../utils/var.directive'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { getMockLinkService } from '../../../mocks/link-service.mock'; -import { By } from '@angular/platform-browser'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; import { APP_CONFIG } from '../../../../../config/app-config.interface'; import { environment } from '../../../../../environments/environment'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { VarDirective } from '../../../utils/var.directive'; +import { ClaimedSearchResultListElementComponent } from './claimed-search-result-list-element.component'; let component: ClaimedSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index 703a89bc84..11f05b47be 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -1,26 +1,42 @@ -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; - -import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { BehaviorSubject, EMPTY, Observable } from 'rxjs'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { followLink } from '../../../utils/follow-link-config.model'; import { - SearchResultListElementComponent, -} from '../../search-result-list-element/search-result-list-element.component'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + EMPTY, + Observable, +} from 'rxjs'; +import { + mergeMap, + tap, +} from 'rxjs/operators'; + +import { + APP_CONFIG, + AppConfig, +} from '../../../../../config/app-config.interface'; import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; +import { LinkService } from '../../../../core/cache/builders/link.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { Item } from '../../../../core/shared/item.model'; -import { mergeMap, tap } from 'rxjs/operators'; -import { isNotEmpty, hasValue } from '../../../empty.util'; +import { RemoteData } from '../../../../core/data/remote-data'; import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { followLink } from '../../../utils/follow-link-config.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; @Component({ selector: 'ds-claimed-search-result-list-element', diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts index af97794322..77af66bb91 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts @@ -1,16 +1,25 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TruncatePipe } from '../../../utils/truncate.pipe'; -import { Item } from '../../../../core/shared/item.model'; -import { ItemListPreviewComponent } from './item-list-preview.component'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { Item } from '../../../../core/shared/item.model'; +import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; +import { TruncatePipe } from '../../../utils/truncate.pipe'; +import { ItemListPreviewComponent } from './item-list-preview.component'; let component: ItemListPreviewComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts index 2eb8bc926a..ed17641f10 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts @@ -1,12 +1,20 @@ -import { Component, Inject, Input, OnInit } from '@angular/core'; +import { + Component, + Inject, + Input, + OnInit, +} from '@angular/core'; +import { Context } from 'src/app/core/shared/context.model'; +import { WorkflowItem } from 'src/app/core/submission/models/workflowitem.model'; +import { + APP_CONFIG, + AppConfig, +} from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { Item } from '../../../../core/shared/item.model'; import { fadeInOut } from '../../../animations/fade'; import { SearchResult } from '../../../search/models/search-result.model'; -import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { Context } from 'src/app/core/shared/context.model'; -import { WorkflowItem } from 'src/app/core/submission/models/workflowitem.model'; /** * This component show metadata for the given item object in the list view. diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/themed-item-list-preview.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/themed-item-list-preview.component.ts index 77dbd1b5ca..075ce7dc92 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/themed-item-list-preview.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/themed-item-list-preview.component.ts @@ -1,11 +1,15 @@ -import { Component, Input } from '@angular/core'; -import { ThemedComponent } from '../../../theme-support/themed.component'; -import { ItemListPreviewComponent } from './item-list-preview.component'; -import { Item } from '../../../../core/shared/item.model'; -import { SearchResult } from '../../../search/models/search-result.model'; +import { + Component, + Input, +} from '@angular/core'; import { Context } from 'src/app/core/shared/context.model'; import { WorkflowItem } from 'src/app/core/submission/models/workflowitem.model'; +import { Item } from '../../../../core/shared/item.model'; +import { SearchResult } from '../../../search/models/search-result.model'; +import { ThemedComponent } from '../../../theme-support/themed.component'; +import { ItemListPreviewComponent } from './item-list-preview.component'; + /** * Themed wrapper for ItemListPreviewComponent */ diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts index 8d5568c1a0..0e757ea234 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts @@ -1,19 +1,27 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; -import { ItemSearchResultListElementSubmissionComponent } from './item-search-result-list-element-submission.component'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { By } from '@angular/platform-browser'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; import { APP_CONFIG } from '../../../../../config/app-config.interface'; import { environment } from '../../../../../environments/environment'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { ItemSearchResultListElementSubmissionComponent } from './item-search-result-list-element-submission.component'; let component: ItemSearchResultListElementSubmissionComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts index 3c212c6c9d..44714cfe76 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts @@ -1,10 +1,13 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { Context } from '../../../../core/shared/context.model'; import { Item } from '../../../../core/shared/item.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../core/shared/context.model'; import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts index adbf564be6..168cf8fec2 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts @@ -1,4 +1,7 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; import { ComponentFixture, fakeAsync, @@ -7,26 +10,25 @@ import { tick, waitForAsync, } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; -import { Item } from '../../../../core/shared/item.model'; -import { PoolSearchResultListElementComponent } from './pool-search-result-list-element.component'; -import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; -import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { VarDirective } from '../../../utils/var.directive'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { getMockLinkService } from '../../../mocks/link-service.mock'; -import { By } from '@angular/platform-browser'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; +import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { VarDirective } from '../../../utils/var.directive'; +import { PoolSearchResultListElementComponent } from './pool-search-result-list-element.component'; let component: PoolSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index 7a80f006b5..e6558fbea6 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -1,27 +1,42 @@ -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + EMPTY, + Observable, +} from 'rxjs'; +import { + mergeMap, + tap, +} from 'rxjs/operators'; -import { BehaviorSubject, EMPTY, Observable } from 'rxjs'; -import { mergeMap, tap } from 'rxjs/operators'; - -import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { + APP_CONFIG, + AppConfig, +} from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; import { RemoteData } from '../../../../core/data/remote-data'; +import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-task-search-result.model'; -import { - SearchResultListElementComponent, -} from '../../search-result-list-element/search-result-list-element.component'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { followLink } from '../../../utils/follow-link-config.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; -import { ObjectCacheService } from '../../../../core/cache/object-cache.service'; -import { getFirstCompletedRemoteData } from '../../../../core/shared/operators'; -import { Item } from '../../../../core/shared/item.model'; -import { isNotEmpty, hasValue } from '../../../empty.util'; -import { Context } from '../../../../core/shared/context.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** * This component renders pool task object for the search result in the list view. diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts index a60e9e05b4..8facd43444 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts @@ -1,24 +1,32 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; import { take } from 'rxjs/operators'; + +import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { ItemDataService } from '../../../../core/data/item-data.service'; - +import { Context } from '../../../../core/shared/context.model'; import { Item } from '../../../../core/shared/item.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; import { getMockLinkService } from '../../../mocks/link-service.mock'; import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { WorkflowItemSearchResultListElementComponent } from './workflow-item-search-result-list-element.component'; -import { By } from '@angular/platform-browser'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; -import { APP_CONFIG } from '../../../../../config/app-config.interface'; -import { Context } from '../../../../core/shared/context.model'; let component: WorkflowItemSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts index eec79c7945..f0144dbd45 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts @@ -1,22 +1,27 @@ -import { Component, Inject } from '@angular/core'; - +import { + Component, + Inject, +} from '@angular/core'; import { BehaviorSubject } from 'rxjs'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { Item } from '../../../../core/shared/item.model'; +import { + APP_CONFIG, + AppConfig, +} from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { CollectionElementLinkType } from '../../../object-collection/collection-element-link.type'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { followLink } from '../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; -import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; -import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; -import { CollectionElementLinkType } from '../../../object-collection/collection-element-link.type'; -import { Context } from '../../../../core/shared/context.model'; /** * This component renders workflowitem object for the search result in the list view. diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts index db91aeabac..1fd5de3b64 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts @@ -1,24 +1,32 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - import { of as observableOf } from 'rxjs'; import { take } from 'rxjs/operators'; + +import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { ItemDataService } from '../../../../core/data/item-data.service'; - +import { Context } from '../../../../core/shared/context.model'; import { Item } from '../../../../core/shared/item.model'; import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; import { getMockLinkService } from '../../../mocks/link-service.mock'; import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { WorkspaceItemSearchResultListElementComponent } from './workspace-item-search-result-list-element.component'; -import { By } from '@angular/platform-browser'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; -import { APP_CONFIG } from '../../../../../config/app-config.interface'; -import { Context } from '../../../../core/shared/context.model'; let component: WorkspaceItemSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts index a6dafd2407..e74cd45ed6 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts @@ -1,22 +1,27 @@ -import { Component, Inject } from '@angular/core'; - +import { + Component, + Inject, +} from '@angular/core'; import { BehaviorSubject } from 'rxjs'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { Item } from '../../../../core/shared/item.model'; +import { + APP_CONFIG, + AppConfig, +} from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { Context } from '../../../../core/shared/context.model'; +import { Item } from '../../../../core/shared/item.model'; +import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model'; +import { CollectionElementLinkType } from '../../../object-collection/collection-element-link.type'; +import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { WorkspaceItemSearchResult } from '../../../object-collection/shared/workspace-item-search-result.model'; import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../../config/app-config.interface'; -import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; -import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; -import { CollectionElementLinkType } from '../../../object-collection/collection-element-link.type'; import { followLink } from '../../../utils/follow-link-config.model'; -import { Context } from '../../../../core/shared/context.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; /** * This component renders workspaceitem object for the search result in the list view. diff --git a/src/app/shared/object-list/object-list.component.spec.ts b/src/app/shared/object-list/object-list.component.spec.ts index 1a5f140c84..86f681ce11 100644 --- a/src/app/shared/object-list/object-list.component.spec.ts +++ b/src/app/shared/object-list/object-list.component.spec.ts @@ -1,7 +1,17 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { ObjectListComponent } from './object-list.component'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; + +import { ObjectListComponent } from './object-list.component'; import { SelectableListService } from './selectable-list/selectable-list.service'; describe('ObjectListComponent', () => { diff --git a/src/app/shared/object-list/object-list.component.ts b/src/app/shared/object-list/object-list.component.ts index 03ddfda2ca..1600ec3243 100644 --- a/src/app/shared/object-list/object-list.component.ts +++ b/src/app/shared/object-list/object-list.component.ts @@ -1,14 +1,25 @@ -import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + Input, + Output, + ViewEncapsulation, +} from '@angular/core'; + +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { Context } from '../../core/shared/context.model'; +import { ViewMode } from '../../core/shared/view-mode.model'; import { fadeIn } from '../animations/fade'; +import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; import { ListableObject } from '../object-collection/shared/listable-object.model'; import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; import { SelectableListService } from './selectable-list/selectable-list.service'; -import { ViewMode } from '../../core/shared/view-mode.model'; -import { Context } from '../../core/shared/context.model'; -import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; @Component({ changeDetection: ChangeDetectionStrategy.Default, diff --git a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts index 8dd9a8a32b..657fce62a5 100644 --- a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts @@ -1,15 +1,23 @@ -import { CollectionSearchResultListElementComponent } from './collection-search-result-list-element.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TruncatePipe } from '../../../utils/truncate.pipe'; -import { Collection } from '../../../../core/shared/collection.model'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { of as observableOf } from 'rxjs'; + import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Collection } from '../../../../core/shared/collection.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { TruncatePipe } from '../../../utils/truncate.pipe'; +import { CollectionSearchResultListElementComponent } from './collection-search-result-list-element.component'; let collectionSearchResultListElementComponent: CollectionSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts index 274d1e2331..7e8294de2f 100644 --- a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts @@ -1,9 +1,10 @@ import { Component } from '@angular/core'; -import { SearchResultListElementComponent } from '../search-result-list-element.component'; + import { Collection } from '../../../../core/shared/collection.model'; -import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultListElementComponent } from '../search-result-list-element.component'; @Component({ selector: 'ds-collection-search-result-list-element', diff --git a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts index 2e2f043bbc..deccaa17bf 100644 --- a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts @@ -1,15 +1,23 @@ -import { CommunitySearchResultListElementComponent } from './community-search-result-list-element.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TruncatePipe } from '../../../utils/truncate.pipe'; -import { Community } from '../../../../core/shared/community.model'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { of as observableOf } from 'rxjs'; + import { APP_CONFIG } from '../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { Community } from '../../../../core/shared/community.model'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; +import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { TruncatePipe } from '../../../utils/truncate.pipe'; +import { CommunitySearchResultListElementComponent } from './community-search-result-list-element.component'; let communitySearchResultListElementComponent: CommunitySearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts index 52cea5c502..41d354c55c 100644 --- a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts @@ -1,9 +1,10 @@ import { Component } from '@angular/core'; -import { SearchResultListElementComponent } from '../search-result-list-element.component'; + import { Community } from '../../../../core/shared/community.model'; -import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultListElementComponent } from '../search-result-list-element.component'; @Component({ selector: 'ds-community-search-result-list-element', diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts index 3135d450b8..f4145add95 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts @@ -1,15 +1,26 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { of as observableOf } from 'rxjs'; -import { ItemSearchResultListElementComponent } from './item-search-result-list-element.component'; -import { Item } from '../../../../../../core/shared/item.model'; -import { TruncatePipe } from '../../../../../utils/truncate.pipe'; -import { TruncatableService } from '../../../../../truncatable/truncatable.service'; -import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; -import { DSONameService } from '../../../../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock, UNDEFINED_NAME } from '../../../../../mocks/dso-name.service.mock'; + import { APP_CONFIG } from '../../../../../../../config/app-config.interface'; +import { DSONameService } from '../../../../../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../../../../../core/shared/item.model'; +import { + DSONameServiceMock, + UNDEFINED_NAME, +} from '../../../../../mocks/dso-name.service.mock'; +import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; +import { TruncatableService } from '../../../../../truncatable/truncatable.service'; +import { TruncatePipe } from '../../../../../utils/truncate.pipe'; +import { ItemSearchResultListElementComponent } from './item-search-result-list-element.component'; let publicationListElementComponent: ItemSearchResultListElementComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts index e343693d91..0dc1e6d541 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts @@ -1,10 +1,11 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../../../object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../../core/shared/view-mode.model'; -import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; -import { SearchResultListElementComponent } from '../../../search-result-list-element.component'; + import { Item } from '../../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../../core/shared/view-mode.model'; import { getItemPageRoute } from '../../../../../../item-page/item-page-routing-paths'; +import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../object-collection/shared/listable-object/listable-object.decorator'; +import { SearchResultListElementComponent } from '../../../search-result-list-element.component'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement) @listableObjectComponent(ItemSearchResult, ViewMode.ListElement) diff --git a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts index ec6a1a06c0..5573dfad6c 100644 --- a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts @@ -1,14 +1,21 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; -import { SearchResult } from '../../search/models/search-result.model'; +import { + APP_CONFIG, + AppConfig, +} from '../../../../config/app-config.interface'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { Metadata } from '../../../core/shared/metadata.utils'; import { hasValue } from '../../empty.util'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; +import { SearchResult } from '../../search/models/search-result.model'; import { TruncatableService } from '../../truncatable/truncatable.service'; -import { Metadata } from '../../../core/shared/metadata.utils'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { APP_CONFIG, AppConfig } from '../../../../config/app-config.interface'; @Component({ selector: 'ds-search-result-list-element', diff --git a/src/app/shared/object-list/selectable-list/selectable-list.actions.ts b/src/app/shared/object-list/selectable-list/selectable-list.actions.ts index 03657468a0..68762ab6f4 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.actions.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.actions.ts @@ -1,5 +1,6 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { type } from '../../ngrx/type'; import { ListableObject } from '../../object-collection/shared/listable-object.model'; diff --git a/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts b/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts index ebefdbfe8e..7d1a8e86d4 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts @@ -1,4 +1,6 @@ /* eslint-disable max-classes-per-file */ +import { hasValue } from '../../empty.util'; +import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { SelectableListAction, SelectableListDeselectAction, @@ -9,8 +11,6 @@ import { SelectableListSetSelectionAction, } from './selectable-list.actions'; import { selectableListReducer } from './selectable-list.reducer'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; -import { hasValue } from '../../empty.util'; class SelectableObject extends ListableObject { constructor(private value: string) { diff --git a/src/app/shared/object-list/selectable-list/selectable-list.reducer.ts b/src/app/shared/object-list/selectable-list/selectable-list.reducer.ts index 0cbbe5871e..427f6395a0 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.reducer.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.reducer.ts @@ -1,13 +1,14 @@ +import { hasNoValue } from '../../empty.util'; import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { SelectableListAction, SelectableListActionTypes, + SelectableListDeselectAction, + SelectableListDeselectSingleAction, SelectableListSelectAction, SelectableListSelectSingleAction, - SelectableListDeselectAction, - SelectableListDeselectSingleAction, SelectableListSetSelectionAction, + SelectableListSetSelectionAction, } from './selectable-list.actions'; -import { hasNoValue } from '../../empty.util'; /** * Represents the state of all selectable lists in the store diff --git a/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts b/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts index 9087f5d50d..23d2baaf00 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts @@ -1,15 +1,19 @@ +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Store } from '@ngrx/store'; -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { SelectableListService } from './selectable-list.service'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; + +import { AppState } from '../../../app.reducer'; import { hasValue } from '../../empty.util'; +import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { SelectableListDeselectAction, SelectableListDeselectSingleAction, SelectableListSelectAction, SelectableListSelectSingleAction, } from './selectable-list.actions'; -import { AppState } from '../../../app.reducer'; +import { SelectableListService } from './selectable-list.service'; export class SelectableObject extends ListableObject { constructor(private value: string) { diff --git a/src/app/shared/object-list/selectable-list/selectable-list.service.ts b/src/app/shared/object-list/selectable-list/selectable-list.service.ts index acec8e65d5..7fd25c3550 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.service.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.service.ts @@ -1,9 +1,23 @@ import { Injectable } from '@angular/core'; -import { MemoizedSelector, select, Store } from '@ngrx/store'; +import { + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, map } from 'rxjs/operators'; -import { SelectableListState } from './selectable-list.reducer'; -import { AppState, keySelector } from '../../../app.reducer'; +import { + distinctUntilChanged, + map, +} from 'rxjs/operators'; + +import { + AppState, + keySelector, +} from '../../../app.reducer'; +import { + hasValue, + isNotEmpty, +} from '../../empty.util'; import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { SelectableListDeselectAction, @@ -12,7 +26,7 @@ import { SelectableListSelectAction, SelectableListSelectSingleAction, } from './selectable-list.actions'; -import { hasValue, isNotEmpty } from '../../empty.util'; +import { SelectableListState } from './selectable-list.reducer'; const selectableListsStateSelector = (state: AppState) => state.selectableLists; diff --git a/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.spec.ts b/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.spec.ts index c214f2a257..5b0e07ba23 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.spec.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.spec.ts @@ -1,8 +1,8 @@ -import { CollectionSidebarSearchListElementComponent } from './collection-sidebar-search-list-element.component'; -import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; import { Collection } from '../../../../core/shared/collection.model'; import { Community } from '../../../../core/shared/community.model'; +import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; import { createSidebarSearchListElementTests } from '../sidebar-search-list-element.component.spec'; +import { CollectionSidebarSearchListElementComponent } from './collection-sidebar-search-list-element.component'; const object = Object.assign(new CollectionSearchResult(), { indexableObject: Object.assign(new Collection(), { diff --git a/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.ts b/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.ts index 4d42c3eb0e..bd17dffa4c 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.ts @@ -1,9 +1,10 @@ import { Component } from '@angular/core'; -import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; + import { Collection } from '../../../../core/shared/collection.model'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { Context } from '../../../../core/shared/context.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { SidebarSearchListElementComponent } from '../sidebar-search-list-element.component'; @listableObjectComponent(CollectionSearchResult, ViewMode.ListElement, Context.SideBarSearchModal) diff --git a/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.spec.ts b/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.spec.ts index 0d149925dc..f3114feda4 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.spec.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.spec.ts @@ -1,7 +1,7 @@ import { Community } from '../../../../core/shared/community.model'; +import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; import { createSidebarSearchListElementTests } from '../sidebar-search-list-element.component.spec'; import { CommunitySidebarSearchListElementComponent } from './community-sidebar-search-list-element.component'; -import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; const object = Object.assign(new CommunitySearchResult(), { indexableObject: Object.assign(new Community(), { diff --git a/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts b/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts index 622043c8cd..020d113bb6 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts @@ -1,10 +1,11 @@ import { Component } from '@angular/core'; -import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; + +import { Community } from '../../../../core/shared/community.model'; import { Context } from '../../../../core/shared/context.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { SidebarSearchListElementComponent } from '../sidebar-search-list-element.component'; import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; -import { Community } from '../../../../core/shared/community.model'; +import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; +import { SidebarSearchListElementComponent } from '../sidebar-search-list-element.component'; @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement, Context.SideBarSearchModalCurrent) diff --git a/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.spec.ts b/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.spec.ts index 0acecb5c60..d078d8e1c5 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.spec.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.spec.ts @@ -1,8 +1,8 @@ +import { Collection } from '../../../../../core/shared/collection.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; import { createSidebarSearchListElementTests } from '../../sidebar-search-list-element.component.spec'; import { PublicationSidebarSearchListElementComponent } from './publication-sidebar-search-list-element.component'; -import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; -import { Collection } from '../../../../../core/shared/collection.model'; const object = Object.assign(new ItemSearchResult(), { indexableObject: Object.assign(new Item(), { diff --git a/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts b/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts index 6f41fea452..9f6a42808d 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts @@ -1,9 +1,10 @@ -import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { Component } from '@angular/core'; + import { Context } from '../../../../../core/shared/context.model'; -import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; import { Item } from '../../../../../core/shared/item.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; import { SidebarSearchListElementComponent } from '../../sidebar-search-list-element.component'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) diff --git a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts index 84b9f3d4b3..e3e5825b2e 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts @@ -1,16 +1,21 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../../utils/var.directive'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { SearchResult } from '../../search/models/search-result.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { TruncatableService } from '../../truncatable/truncatable.service'; -import { LinkService } from '../../../core/cache/builders/link.service'; -import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { HALResource } from '../../../core/shared/hal-resource.model'; -import { ChildHALResource } from '../../../core/shared/child-hal-resource.model'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { ChildHALResource } from '../../../core/shared/child-hal-resource.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { HALResource } from '../../../core/shared/hal-resource.model'; +import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; +import { SearchResult } from '../../search/models/search-result.model'; +import { TruncatableService } from '../../truncatable/truncatable.service'; +import { VarDirective } from '../../utils/var.directive'; export function createSidebarSearchListElementTests( componentClass: any, diff --git a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts index 0e90fe66de..5ab6f4018d 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts @@ -1,17 +1,27 @@ -import { SearchResult } from '../../search/models/search-result.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { SearchResultListElementComponent } from '../search-result-list-element/search-result-list-element.component'; import { Component } from '@angular/core'; -import { hasValue, isNotEmpty } from '../../empty.util'; -import { Observable, of as observableOf } from 'rxjs'; -import { TruncatableService } from '../../truncatable/truncatable.service'; -import { LinkService } from '../../../core/cache/builders/link.service'; -import { find, map } from 'rxjs/operators'; -import { ChildHALResource } from '../../../core/shared/child-hal-resource.model'; -import { followLink } from '../../utils/follow-link-config.model'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Context } from '../../../core/shared/context.model'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { + find, + map, +} from 'rxjs/operators'; + import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { ChildHALResource } from '../../../core/shared/child-hal-resource.model'; +import { Context } from '../../../core/shared/context.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { + hasValue, + isNotEmpty, +} from '../../empty.util'; +import { SearchResult } from '../../search/models/search-result.model'; +import { TruncatableService } from '../../truncatable/truncatable.service'; +import { followLink } from '../../utils/follow-link-config.model'; +import { SearchResultListElementComponent } from '../search-result-list-element/search-result-list-element.component'; @Component({ selector: 'ds-sidebar-search-list-element', diff --git a/src/app/shared/object-list/themed-object-list.component.ts b/src/app/shared/object-list/themed-object-list.component.ts index 14ddf474ad..a59f045b37 100644 --- a/src/app/shared/object-list/themed-object-list.component.ts +++ b/src/app/shared/object-list/themed-object-list.component.ts @@ -1,13 +1,22 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { ObjectListComponent } from './object-list.component'; -import { ThemedComponent } from '../theme-support/themed.component'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; -import { Context } from '../../core/shared/context.model'; -import { RemoteData } from '../../core/data/remote-data'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { Context } from '../../core/shared/context.model'; +import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; import { ListableObject } from '../object-collection/shared/listable-object.model'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { ThemedComponent } from '../theme-support/themed.component'; +import { ObjectListComponent } from './object-list.component'; /** * Themed wrapper for ObjectListComponent diff --git a/src/app/shared/object-select/collection-select/collection-select.component.spec.ts b/src/app/shared/object-select/collection-select/collection-select.component.spec.ts index 8b468cf7ee..1d064f240a 100644 --- a/src/app/shared/object-select/collection-select/collection-select.component.spec.ts +++ b/src/app/shared/object-select/collection-select/collection-select.component.spec.ts @@ -1,28 +1,33 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; -import { TranslateModule } from '@ngx-translate/core'; -import { SharedModule } from '../../shared.module'; -import { ObjectSelectServiceStub } from '../../testing/object-select-service.stub'; -import { ObjectSelectService } from '../object-select.service'; -import { HostWindowService } from '../../host-window.service'; -import { HostWindowServiceStub } from '../../testing/host-window-service.stub'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { CollectionSelectComponent } from './collection-select.component'; -import { Collection } from '../../../core/shared/collection.model'; -import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { createPaginatedList } from '../../testing/utils.test'; -import { PaginationService } from '../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../testing/pagination-service.stub'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { LinkHeadService } from '../../../core/services/link-head.service'; -import { GroupDataService } from '../../../core/eperson/group-data.service'; + import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; -import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; -import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { GroupDataService } from '../../../core/eperson/group-data.service'; +import { PaginationService } from '../../../core/pagination/pagination.service'; +import { LinkHeadService } from '../../../core/services/link-head.service'; +import { Collection } from '../../../core/shared/collection.model'; import { ConfigurationProperty } from '../../../core/shared/configuration-property.model'; +import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; +import { HostWindowService } from '../../host-window.service'; +import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; +import { SharedModule } from '../../shared.module'; +import { HostWindowServiceStub } from '../../testing/host-window-service.stub'; +import { ObjectSelectServiceStub } from '../../testing/object-select-service.stub'; +import { PaginationServiceStub } from '../../testing/pagination-service.stub'; +import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; +import { createPaginatedList } from '../../testing/utils.test'; +import { ObjectSelectService } from '../object-select.service'; +import { CollectionSelectComponent } from './collection-select.component'; describe('CollectionSelectComponent', () => { let comp: CollectionSelectComponent; diff --git a/src/app/shared/object-select/collection-select/collection-select.component.ts b/src/app/shared/object-select/collection-select/collection-select.component.ts index 2d36f80274..fdb3103748 100644 --- a/src/app/shared/object-select/collection-select/collection-select.component.ts +++ b/src/app/shared/object-select/collection-select/collection-select.component.ts @@ -1,10 +1,11 @@ import { Component } from '@angular/core'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { Collection } from '../../../core/shared/collection.model'; -import { ObjectSelectComponent } from '../object-select/object-select.component'; import { isNotEmpty } from '../../empty.util'; import { ObjectSelectService } from '../object-select.service'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { ObjectSelectComponent } from '../object-select/object-select.component'; @Component({ selector: 'ds-collection-select', diff --git a/src/app/shared/object-select/item-select/item-select.component.spec.ts b/src/app/shared/object-select/item-select/item-select.component.spec.ts index f4855c440b..4969121bf8 100644 --- a/src/app/shared/object-select/item-select/item-select.component.spec.ts +++ b/src/app/shared/object-select/item-select/item-select.component.spec.ts @@ -1,29 +1,34 @@ -import { ItemSelectComponent } from './item-select.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { Item } from '../../../core/shared/item.model'; -import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; -import { TranslateModule } from '@ngx-translate/core'; -import { SharedModule } from '../../shared.module'; -import { ObjectSelectServiceStub } from '../../testing/object-select-service.stub'; -import { ObjectSelectService } from '../object-select.service'; -import { HostWindowService } from '../../host-window.service'; -import { HostWindowServiceStub } from '../../testing/host-window-service.stub'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { of } from 'rxjs'; -import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { createPaginatedList } from '../../testing/utils.test'; -import { PaginationService } from '../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../testing/pagination-service.stub'; + +import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; -import { ConfigurationDataService } from '../../../core/data/configuration-data.service'; -import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; -import { LinkHeadService } from '../../../core/services/link-head.service'; import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; +import { PaginationService } from '../../../core/pagination/pagination.service'; +import { LinkHeadService } from '../../../core/services/link-head.service'; import { ConfigurationProperty } from '../../../core/shared/configuration-property.model'; +import { Item } from '../../../core/shared/item.model'; +import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; +import { HostWindowService } from '../../host-window.service'; +import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; +import { SharedModule } from '../../shared.module'; +import { HostWindowServiceStub } from '../../testing/host-window-service.stub'; +import { ObjectSelectServiceStub } from '../../testing/object-select-service.stub'; +import { PaginationServiceStub } from '../../testing/pagination-service.stub'; +import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; +import { createPaginatedList } from '../../testing/utils.test'; +import { ObjectSelectService } from '../object-select.service'; +import { ItemSelectComponent } from './item-select.component'; describe('ItemSelectComponent', () => { let comp: ItemSelectComponent; diff --git a/src/app/shared/object-select/item-select/item-select.component.ts b/src/app/shared/object-select/item-select/item-select.component.ts index 1f4c05ce3f..18eda8374f 100644 --- a/src/app/shared/object-select/item-select/item-select.component.ts +++ b/src/app/shared/object-select/item-select/item-select.component.ts @@ -1,14 +1,21 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { Item } from '../../../core/shared/item.model'; +import { getAllSucceededRemoteDataPayload } from '../../../core/shared/operators'; +import { getItemPageRoute } from '../../../item-page/item-page-routing-paths'; +import { + hasValueOperator, + isNotEmpty, +} from '../../empty.util'; import { ObjectSelectService } from '../object-select.service'; import { ObjectSelectComponent } from '../object-select/object-select.component'; -import { hasValueOperator, isNotEmpty } from '../../empty.util'; -import { Observable } from 'rxjs'; -import { getAllSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { map } from 'rxjs/operators'; -import { getItemPageRoute } from '../../../item-page/item-page-routing-paths'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-item-select', diff --git a/src/app/shared/object-select/object-select.actions.ts b/src/app/shared/object-select/object-select.actions.ts index 4885d36e68..2128cec878 100644 --- a/src/app/shared/object-select/object-select.actions.ts +++ b/src/app/shared/object-select/object-select.actions.ts @@ -1,7 +1,8 @@ /* eslint-disable max-classes-per-file */ -import { type } from '../ngrx/type'; import { Action } from '@ngrx/store'; +import { type } from '../ngrx/type'; + export const ObjectSelectionActionTypes = { INITIAL_DESELECT: type('dspace/object-select/INITIAL_DESELECT'), INITIAL_SELECT: type('dspace/object-select/INITIAL_SELECT'), diff --git a/src/app/shared/object-select/object-select.reducer.ts b/src/app/shared/object-select/object-select.reducer.ts index e69cbaf720..103fbcf21b 100644 --- a/src/app/shared/object-select/object-select.reducer.ts +++ b/src/app/shared/object-select/object-select.reducer.ts @@ -1,5 +1,8 @@ import { isEmpty } from '../empty.util'; -import { ObjectSelectionAction, ObjectSelectionActionTypes } from './object-select.actions'; +import { + ObjectSelectionAction, + ObjectSelectionActionTypes, +} from './object-select.actions'; /** * Interface that represents the state for a single selection of an object diff --git a/src/app/shared/object-select/object-select.service.spec.ts b/src/app/shared/object-select/object-select.service.spec.ts index 6ded4039e9..ace1bcdd23 100644 --- a/src/app/shared/object-select/object-select.service.spec.ts +++ b/src/app/shared/object-select/object-select.service.spec.ts @@ -1,6 +1,6 @@ -import { ObjectSelectService } from './object-select.service'; import { Store } from '@ngrx/store'; -import { ObjectSelectionListState, ObjectSelectionsState } from './object-select.reducer'; +import { of } from 'rxjs'; + import { AppState } from '../../app.reducer'; import { ObjectSelectionDeselectAction, @@ -10,7 +10,11 @@ import { ObjectSelectionSelectAction, ObjectSelectionSwitchAction, } from './object-select.actions'; -import { of } from 'rxjs'; +import { + ObjectSelectionListState, + ObjectSelectionsState, +} from './object-select.reducer'; +import { ObjectSelectService } from './object-select.service'; describe('ObjectSelectService', () => { let service: ObjectSelectService; diff --git a/src/app/shared/object-select/object-select.service.ts b/src/app/shared/object-select/object-select.service.ts index 6b4e1cff0a..ec5eb7b0ca 100644 --- a/src/app/shared/object-select/object-select.service.ts +++ b/src/app/shared/object-select/object-select.service.ts @@ -1,16 +1,27 @@ import { Injectable } from '@angular/core'; -import { createSelector, MemoizedSelector, Store } from '@ngrx/store'; -import { ObjectSelectionListState, ObjectSelectionsState, ObjectSelectionState } from './object-select.reducer'; +import { + createSelector, + MemoizedSelector, + Store, +} from '@ngrx/store'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { AppState } from '../../app.reducer'; +import { hasValue } from '../empty.util'; import { ObjectSelectionDeselectAction, ObjectSelectionInitialDeselectAction, - ObjectSelectionInitialSelectAction, ObjectSelectionResetAction, - ObjectSelectionSelectAction, ObjectSelectionSwitchAction, + ObjectSelectionInitialSelectAction, + ObjectSelectionResetAction, + ObjectSelectionSelectAction, + ObjectSelectionSwitchAction, } from './object-select.actions'; -import { Observable } from 'rxjs'; -import { hasValue } from '../empty.util'; -import { map } from 'rxjs/operators'; -import { AppState } from '../../app.reducer'; +import { + ObjectSelectionListState, + ObjectSelectionsState, + ObjectSelectionState, +} from './object-select.reducer'; const objectSelectionsStateSelector = (state: ObjectSelectionListState) => state.objectSelection; const objectSelectionListStateSelector = (state: AppState) => state.objectSelection; diff --git a/src/app/shared/object-select/object-select/object-select.component.ts b/src/app/shared/object-select/object-select/object-select.component.ts index 75836a4927..12a4baf66a 100644 --- a/src/app/shared/object-select/object-select/object-select.component.ts +++ b/src/app/shared/object-select/object-select/object-select.component.ts @@ -1,14 +1,28 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; -import { startWith, take } from 'rxjs/operators'; -import { of, Observable } from 'rxjs'; -import { RemoteData } from '../../../core/data/remote-data'; +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { + Observable, + of, +} from 'rxjs'; +import { + startWith, + take, +} from 'rxjs/operators'; + +import { SortOptions } from '../../../core/cache/models/sort-options.model'; +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; import { ObjectSelectService } from '../object-select.service'; -import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; /** * An abstract component used to select DSpaceObjects from a specific list and returning the UUIDs of the selected DSpaceObjects diff --git a/src/app/shared/object.util.spec.ts b/src/app/shared/object.util.spec.ts index 9d7f9dee37..817b875667 100644 --- a/src/app/shared/object.util.spec.ts +++ b/src/app/shared/object.util.spec.ts @@ -1,4 +1,8 @@ -import { deleteProperty, difference, hasOnlyEmptyProperties } from './object.util'; +import { + deleteProperty, + difference, + hasOnlyEmptyProperties, +} from './object.util'; describe('Object Utils', () => { let object: any = {}; diff --git a/src/app/shared/object.util.ts b/src/app/shared/object.util.ts index 4f8954259e..38827f9a14 100644 --- a/src/app/shared/object.util.ts +++ b/src/app/shared/object.util.ts @@ -1,8 +1,9 @@ -import { isNotEmpty } from './empty.util'; import isEqual from 'lodash/isEqual'; import isObject from 'lodash/isObject'; import transform from 'lodash/transform'; +import { isNotEmpty } from './empty.util'; + /** * Returns passed object without specified property */ diff --git a/src/app/shared/page-size-selector/page-size-selector.component.spec.ts b/src/app/shared/page-size-selector/page-size-selector.component.spec.ts index 2fd57f7a12..13c54e890c 100644 --- a/src/app/shared/page-size-selector/page-size-selector.component.spec.ts +++ b/src/app/shared/page-size-selector/page-size-selector.component.spec.ts @@ -1,19 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute } from '@angular/router'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { first, take } from 'rxjs/operators'; -import { PageSizeSelectorComponent } from './page-size-selector.component'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; +import { + first, + take, +} from 'rxjs/operators'; + +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; +import { PaginationServiceStub } from '../testing/pagination-service.stub'; import { EnumKeysPipe } from '../utils/enum-keys-pipe'; import { VarDirective } from '../utils/var.directive'; -import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../testing/pagination-service.stub'; +import { PageSizeSelectorComponent } from './page-size-selector.component'; describe('PageSizeSelectorComponent', () => { diff --git a/src/app/shared/page-size-selector/page-size-selector.component.ts b/src/app/shared/page-size-selector/page-size-selector.component.ts index 5a82296366..73dcec1310 100644 --- a/src/app/shared/page-size-selector/page-size-selector.component.ts +++ b/src/app/shared/page-size-selector/page-size-selector.component.ts @@ -1,12 +1,23 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { + Component, + Inject, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { ActivatedRoute, Router } from '@angular/router'; -import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { PaginatedSearchOptions } from '../search/models/paginated-search-options.model'; -import { map, take } from 'rxjs/operators'; +import { + map, + take, +} from 'rxjs/operators'; + import { PaginationService } from '../../core/pagination/pagination.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { PaginatedSearchOptions } from '../search/models/paginated-search-options.model'; @Component({ selector: 'ds-page-size-selector', diff --git a/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.spec.ts b/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.spec.ts index be181756bf..dc8a413f1f 100644 --- a/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.spec.ts +++ b/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.spec.ts @@ -1,18 +1,26 @@ -import { AbstractPaginatedDragAndDropListComponent } from './abstract-paginated-drag-and-drop-list.component'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { + Component, + ElementRef, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, + of as observableOf, +} from 'rxjs'; +import { take } from 'rxjs/operators'; + +import { FieldUpdates } from '../../core/data/object-updates/field-updates.model'; import { ObjectUpdatesService } from '../../core/data/object-updates/object-updates.service'; -import { Component, ElementRef } from '@angular/core'; -import { BehaviorSubject, Observable, of as observableOf } from 'rxjs'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; -import { take } from 'rxjs/operators'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { PaginationComponent } from '../pagination/pagination.component'; import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; +import { PaginationServiceStub } from '../testing/pagination-service.stub'; import { createPaginatedList } from '../testing/utils.test'; import { ObjectValuesPipe } from '../utils/object-values-pipe'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../testing/pagination-service.stub'; -import { FieldUpdates } from '../../core/data/object-updates/field-updates.model'; +import { AbstractPaginatedDragAndDropListComponent } from './abstract-paginated-drag-and-drop-list.component'; @Component({ selector: 'ds-mock-paginated-drag-drop-abstract', diff --git a/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.ts b/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.ts index 0c4d193b47..1ebf626484 100644 --- a/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.ts +++ b/src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.ts @@ -1,24 +1,43 @@ -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { ObjectUpdatesService } from '../../core/data/object-updates/object-updates.service'; -import { distinctUntilChanged, map, switchMap } from 'rxjs/operators'; -import { hasValue } from '../empty.util'; import { - paginatedListToArray, - getFirstSucceededRemoteData, - getAllSucceededRemoteData, -} from '../../core/shared/operators'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; -import { Component, ElementRef, EventEmitter, OnDestroy, Output, ViewChild } from '@angular/core'; -import { PaginationComponent } from '../pagination/pagination.component'; -import { ObjectValuesPipe } from '../utils/object-values-pipe'; -import { compareArraysUsing } from '../../item-page/simple/item-types/shared/item-relationships-utils'; -import { PaginationService } from '../../core/pagination/pagination.service'; + CdkDragDrop, + moveItemInArray, +} from '@angular/cdk/drag-drop'; +import { + Component, + ElementRef, + EventEmitter, + OnDestroy, + Output, + ViewChild, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + map, + switchMap, +} from 'rxjs/operators'; + import { FieldUpdate } from '../../core/data/object-updates/field-update.model'; import { FieldUpdates } from '../../core/data/object-updates/field-updates.model'; +import { ObjectUpdatesService } from '../../core/data/object-updates/object-updates.service'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { + getAllSucceededRemoteData, + getFirstSucceededRemoteData, + paginatedListToArray, +} from '../../core/shared/operators'; +import { compareArraysUsing } from '../../item-page/simple/item-types/shared/item-relationships-utils'; +import { hasValue } from '../empty.util'; +import { PaginationComponent } from '../pagination/pagination.component'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { ObjectValuesPipe } from '../utils/object-values-pipe'; /** * Operator used for comparing {@link FieldUpdate}s by their field's UUID diff --git a/src/app/shared/pagination/pagination-component-options.model.ts b/src/app/shared/pagination/pagination-component-options.model.ts index 2b60c93275..b964b50fda 100644 --- a/src/app/shared/pagination/pagination-component-options.model.ts +++ b/src/app/shared/pagination/pagination-component-options.model.ts @@ -1,5 +1,5 @@ -import { NgbPaginationConfig } from '@ng-bootstrap/ng-bootstrap'; import { Injectable } from '@angular/core'; +import { NgbPaginationConfig } from '@ng-bootstrap/ng-bootstrap'; @Injectable() export class PaginationComponentOptions extends NgbPaginationConfig { diff --git a/src/app/shared/pagination/pagination.component.spec.ts b/src/app/shared/pagination/pagination.component.spec.ts index e613dec2d0..4b9892e3d7 100644 --- a/src/app/shared/pagination/pagination.component.spec.ts +++ b/src/app/shared/pagination/pagination.component.spec.ts @@ -1,40 +1,51 @@ // Load the implementations that should be tested import { CommonModule } from '@angular/common'; - -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; - -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; - -import { RouterTestingModule } from '@angular/router/testing'; - -import { ActivatedRoute, Router } from '@angular/router'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { StoreModule } from '@ngrx/store'; - -import { NgxPaginationModule } from 'ngx-pagination'; - +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { StoreModule } from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { NgxPaginationModule } from 'ngx-pagination'; +import { BehaviorSubject } from 'rxjs'; +import { storeModuleConfig } from '../../app.reducer'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { HostWindowService } from '../host-window.service'; +import { MockActivatedRoute } from '../mocks/active-router.mock'; +import { HostWindowServiceMock } from '../mocks/host-window-service.mock'; +import { RouterMock } from '../mocks/router.mock'; +import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; +import { createTestComponent } from '../testing/utils.test'; +import { EnumKeysPipe } from '../utils/enum-keys-pipe'; import { PaginationComponent } from './pagination.component'; import { PaginationComponentOptions } from './pagination-component-options.model'; -import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; -import { HostWindowServiceMock } from '../mocks/host-window-service.mock'; -import { MockActivatedRoute } from '../mocks/active-router.mock'; -import { RouterMock } from '../mocks/router.mock'; - -import { HostWindowService } from '../host-window.service'; -import { EnumKeysPipe } from '../utils/enum-keys-pipe'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; - -import { createTestComponent } from '../testing/utils.test'; -import { storeModuleConfig } from '../../app.reducer'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { BehaviorSubject } from 'rxjs'; -import { FindListOptions } from '../../core/data/find-list-options.model'; - function expectPages(fixture: ComponentFixture, pagesDef: string[]): void { const de = fixture.debugElement.query(By.css('.pagination')); const pages = de.nativeElement.querySelectorAll('li'); diff --git a/src/app/shared/pagination/pagination.component.ts b/src/app/shared/pagination/pagination.component.ts index 678680264e..7628dafdb1 100644 --- a/src/app/shared/pagination/pagination.component.ts +++ b/src/app/shared/pagination/pagination.component.ts @@ -9,22 +9,31 @@ import { Output, ViewEncapsulation, } from '@angular/core'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; -import { Observable, of as observableOf, Subscription } from 'rxjs'; - +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { PaginationRouteParams } from '../../core/pagination/pagination-route-params.interface'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { hasValue } from '../empty.util'; import { HostWindowService } from '../host-window.service'; +import { ListableObject } from '../object-collection/shared/listable-object.model'; import { HostWindowState } from '../search/host-window.reducer'; import { PaginationComponentOptions } from './pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; -import { hasValue } from '../empty.util'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { map, take } from 'rxjs/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { ListableObject } from '../object-collection/shared/listable-object.model'; -import { ViewMode } from '../../core/shared/view-mode.model'; -import { PaginationRouteParams } from '../../core/pagination/pagination-route-params.interface'; /** * The default pagination controls component. diff --git a/src/app/shared/pagination/pagination.utils.ts b/src/app/shared/pagination/pagination.utils.ts index be4a0249e7..2add33e2ea 100644 --- a/src/app/shared/pagination/pagination.utils.ts +++ b/src/app/shared/pagination/pagination.utils.ts @@ -1,5 +1,5 @@ -import { PaginationComponentOptions } from './pagination-component-options.model'; import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginationComponentOptions } from './pagination-component-options.model'; /** * Transform a PaginationComponentOptions object into a FindListOptions object diff --git a/src/app/shared/pagination/paginationChangeEvent.interface.ts b/src/app/shared/pagination/paginationChangeEvent.interface.ts index ccd2f2174d..ec5df1cddc 100644 --- a/src/app/shared/pagination/paginationChangeEvent.interface.ts +++ b/src/app/shared/pagination/paginationChangeEvent.interface.ts @@ -1,5 +1,5 @@ -import {PaginationComponentOptions} from './pagination-component-options.model'; import {SortOptions} from '../../core/cache/models/sort-options.model'; +import {PaginationComponentOptions} from './pagination-component-options.model'; /** diff --git a/src/app/shared/remote-data.utils.ts b/src/app/shared/remote-data.utils.ts index c41417829e..3ec7ace051 100644 --- a/src/app/shared/remote-data.utils.ts +++ b/src/app/shared/remote-data.utils.ts @@ -1,6 +1,10 @@ -import { RemoteData } from '../core/data/remote-data'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { environment } from '../../environments/environment'; +import { RemoteData } from '../core/data/remote-data'; import { RequestEntryState } from '../core/data/request-entry-state.model'; /** diff --git a/src/app/shared/resource-policies/create/resource-policy-create.component.spec.ts b/src/app/shared/resource-policies/create/resource-policy-create.component.spec.ts index 985c1518b2..82ff15dc9c 100644 --- a/src/app/shared/resource-policies/create/resource-policy-create.component.spec.ts +++ b/src/app/shared/resource-policies/create/resource-policy-create.component.spec.ts @@ -1,33 +1,51 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectorRef, Component, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + ChangeDetectorRef, + Component, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { TranslateModule } from '@ngx-translate/core'; +import { LinkService } from '../../../core/cache/builders/link.service'; +import { ActionType } from '../../../core/resource-policy/models/action-type.model'; +import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; +import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; +import { Item } from '../../../core/shared/item.model'; +import { getMockLinkService } from '../../mocks/link-service.mock'; +import { getMockResourcePolicyService } from '../../mocks/mock-resource-policy-service'; +import { NotificationsService } from '../../notifications/notifications.service'; import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../remote-data.utils'; -import { createPaginatedList, createTestComponent } from '../../testing/utils.test'; -import { ResourcePolicyCreateComponent } from './resource-policy-create.component'; -import { LinkService } from '../../../core/cache/builders/link.service'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; -import { getMockResourcePolicyService } from '../../mocks/mock-resource-policy-service'; -import { getMockLinkService } from '../../mocks/link-service.mock'; -import { RouterStub } from '../../testing/router.stub'; -import { Item } from '../../../core/shared/item.model'; -import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; -import { GroupMock } from '../../testing/group-mock'; -import { submittedResourcePolicy } from '../form/resource-policy-form.component.spec'; -import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; -import { ActionType } from '../../../core/resource-policy/models/action-type.model'; import { EPersonMock } from '../../testing/eperson.mock'; +import { GroupMock } from '../../testing/group-mock'; +import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; +import { RouterStub } from '../../testing/router.stub'; +import { + createPaginatedList, + createTestComponent, +} from '../../testing/utils.test'; +import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; +import { submittedResourcePolicy } from '../form/resource-policy-form.component.spec'; +import { ResourcePolicyCreateComponent } from './resource-policy-create.component'; describe('ResourcePolicyCreateComponent test suite', () => { let comp: ResourcePolicyCreateComponent; diff --git a/src/app/shared/resource-policies/create/resource-policy-create.component.ts b/src/app/shared/resource-policies/create/resource-policy-create.component.ts index 4f0b28ae49..7156d9b00c 100644 --- a/src/app/shared/resource-policies/create/resource-policy-create.component.ts +++ b/src/app/shared/resource-policies/create/resource-policy-create.component.ts @@ -1,19 +1,30 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { BehaviorSubject, Observable } from 'rxjs'; -import { map, take } from 'rxjs/operators'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; -import { NotificationsService } from '../../notifications/notifications.service'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { RemoteData } from '../../../core/data/remote-data'; import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; -import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../item-page/edit-item-page/edit-item-page.routing-paths'; +import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../item-page/edit-item-page/edit-item-page.routing-paths'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; @Component({ selector: 'ds-resource-policy-create', diff --git a/src/app/shared/resource-policies/edit/resource-policy-edit.component.spec.ts b/src/app/shared/resource-policies/edit/resource-policy-edit.component.spec.ts index 315f76367c..432bff56ae 100644 --- a/src/app/shared/resource-policies/edit/resource-policy-edit.component.spec.ts +++ b/src/app/shared/resource-policies/edit/resource-policy-edit.component.spec.ts @@ -1,28 +1,46 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectorRef, Component, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { + ChangeDetectorRef, + Component, + Injector, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../../remote-data.utils'; -import { createTestComponent } from '../../testing/utils.test'; import { LinkService } from '../../../core/cache/builders/link.service'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; -import { getMockResourcePolicyService } from '../../mocks/mock-resource-policy-service'; -import { getMockLinkService } from '../../mocks/link-service.mock'; -import { RouterStub } from '../../testing/router.stub'; -import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; -import { GroupMock } from '../../testing/group-mock'; -import { submittedResourcePolicy } from '../form/resource-policy-form.component.spec'; -import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; import { ActionType } from '../../../core/resource-policy/models/action-type.model'; -import { ResourcePolicyEditComponent } from './resource-policy-edit.component'; +import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-policy.resource-type'; +import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; +import { getMockLinkService } from '../../mocks/link-service.mock'; +import { getMockResourcePolicyService } from '../../mocks/mock-resource-policy-service'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../../remote-data.utils'; +import { GroupMock } from '../../testing/group-mock'; +import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; +import { RouterStub } from '../../testing/router.stub'; +import { createTestComponent } from '../../testing/utils.test'; +import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; +import { submittedResourcePolicy } from '../form/resource-policy-form.component.spec'; +import { ResourcePolicyEditComponent } from './resource-policy-edit.component'; describe('ResourcePolicyEditComponent test suite', () => { let comp: ResourcePolicyEditComponent; diff --git a/src/app/shared/resource-policies/edit/resource-policy-edit.component.ts b/src/app/shared/resource-policies/edit/resource-policy-edit.component.ts index 5671378948..59c80ea755 100644 --- a/src/app/shared/resource-policies/edit/resource-policy-edit.component.ts +++ b/src/app/shared/resource-policies/edit/resource-policy-edit.component.ts @@ -1,18 +1,31 @@ -import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { BehaviorSubject, Observable, of, combineLatest as observableCombineLatest } from 'rxjs'; -import { map, take } from 'rxjs/operators'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, + of, +} from 'rxjs'; +import { + map, + take, +} from 'rxjs/operators'; -import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; -import { NotificationsService } from '../../notifications/notifications.service'; import { RemoteData } from '../../../core/data/remote-data'; import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; -import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-policy.resource-type'; -import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../item-page/edit-item-page/edit-item-page.routing-paths'; +import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../item-page/edit-item-page/edit-item-page.routing-paths'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; @Component({ selector: 'ds-resource-policy-edit', diff --git a/src/app/shared/resource-policies/entry/resource-policy-entry.component.spec.ts b/src/app/shared/resource-policies/entry/resource-policy-entry.component.spec.ts index c85e7f4cae..c033e81ced 100644 --- a/src/app/shared/resource-policies/entry/resource-policy-entry.component.spec.ts +++ b/src/app/shared/resource-policies/entry/resource-policy-entry.component.spec.ts @@ -6,23 +6,30 @@ * http://www.dspace.org/license/ */ -import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; -import { GroupMock } from '../../testing/group-mock'; -import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; -import { ActionType } from '../../../core/resource-policy/models/action-type.model'; -import { EPersonMock } from '../../testing/eperson.mock'; -import { ResourcePolicyEntryComponent } from './resource-policy-entry.component'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { RouterStub } from '../../testing/router.stub'; -import { Item } from '../../../core/shared/item.model'; -import { cold } from 'jasmine-marbles'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { cold } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; + +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { GroupDataService } from '../../../core/eperson/group-data.service'; +import { ActionType } from '../../../core/resource-policy/models/action-type.model'; +import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; +import { Item } from '../../../core/shared/item.model'; +import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; +import { EPersonMock } from '../../testing/eperson.mock'; +import { GroupMock } from '../../testing/group-mock'; +import { RouterStub } from '../../testing/router.stub'; +import { ResourcePolicyEntryComponent } from './resource-policy-entry.component'; import createSpyObj = jasmine.createSpyObj; const groupRP: any = { diff --git a/src/app/shared/resource-policies/entry/resource-policy-entry.component.ts b/src/app/shared/resource-policies/entry/resource-policy-entry.component.ts index 9ed9c7d8d5..ec9457e6b7 100644 --- a/src/app/shared/resource-policies/entry/resource-policy-entry.component.ts +++ b/src/app/shared/resource-policies/entry/resource-policy-entry.component.ts @@ -5,21 +5,40 @@ * * http://www.dspace.org/license/ */ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; -import { hasValue, isNotEmpty } from '../../empty.util'; -import { dateToString, stringToNgbDateStruct } from '../../date.util'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { getAllSucceededRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; + +import { GROUP_EDIT_PATH } from '../../../access-control/access-control-routing-paths'; +import { ACCESS_CONTROL_MODULE_PATH } from '../../../app-routing-paths'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { RemoteData } from '../../../core/data/remote-data'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Group } from '../../../core/eperson/models/group.model'; -import { ACCESS_CONTROL_MODULE_PATH } from '../../../app-routing-paths'; -import { GROUP_EDIT_PATH } from '../../../access-control/access-control-routing-paths'; import { GroupDataService } from '../../../core/eperson/group-data.service'; +import { Group } from '../../../core/eperson/models/group.model'; +import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { + getAllSucceededRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { + dateToString, + stringToNgbDateStruct, +} from '../../date.util'; +import { + hasValue, + isNotEmpty, +} from '../../empty.util'; export interface ResourcePolicyCheckboxEntry { id: string; diff --git a/src/app/shared/resource-policies/form/resource-policy-form.component.spec.ts b/src/app/shared/resource-policies/form/resource-policy-form.component.spec.ts index d107049a10..86577e0645 100644 --- a/src/app/shared/resource-policies/form/resource-policy-form.component.spec.ts +++ b/src/app/shared/resource-policies/form/resource-policy-form.component.spec.ts @@ -1,44 +1,67 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { BrowserModule, By } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; - +import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; import { getTestScheduler } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { TestScheduler } from 'rxjs/testing'; import { delay } from 'rxjs/operators'; -import { TranslateModule } from '@ngx-translate/core'; +import { TestScheduler } from 'rxjs/testing'; -import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; -import { createTestComponent } from '../../testing/utils.test'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; import { EPersonDataService } from '../../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { RequestService } from '../../../core/data/request.service'; -import { getMockRequestService } from '../../mocks/request.service.mock'; -import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; +import { PaginationService } from '../../../core/pagination/pagination.service'; import { ActionType } from '../../../core/resource-policy/models/action-type.model'; -import { GroupMock } from '../../testing/group-mock'; -import { ResourcePolicyEvent, ResourcePolicyFormComponent } from './resource-policy-form.component'; -import { FormService } from '../../form/form.service'; -import { getMockFormService } from '../../mocks/form-service.mock'; -import { FormBuilderService } from '../../form/builder/form-builder.service'; -import { EpersonGroupListComponent } from '../../eperson-group-list/eperson-group-list.component'; -import { FormComponent } from '../../form/form.component'; -import { dateToISOFormat, stringToNgbDateStruct } from '../../date.util'; +import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-policy.resource-type'; -import { EPersonMock } from '../../testing/eperson.mock'; +import { + dateToISOFormat, + stringToNgbDateStruct, +} from '../../date.util'; import { isNotEmptyOperator } from '../../empty.util'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RemoteData } from '../../../core/data/remote-data'; +import { EpersonGroupListComponent } from '../../eperson-group-list/eperson-group-list.component'; +import { FormBuilderService } from '../../form/builder/form-builder.service'; +import { FormComponent } from '../../form/form.component'; +import { FormService } from '../../form/form.service'; +import { getMockFormService } from '../../mocks/form-service.mock'; +import { getMockRequestService } from '../../mocks/request.service.mock'; import { RouterMock } from '../../mocks/router.mock'; -import { Store } from '@ngrx/store'; +import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; +import { EPersonMock } from '../../testing/eperson.mock'; +import { GroupMock } from '../../testing/group-mock'; import { PaginationServiceStub } from '../../testing/pagination-service.stub'; -import { PaginationService } from '../../../core/pagination/pagination.service'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { StoreMock } from '../../testing/store.mock'; +import { createTestComponent } from '../../testing/utils.test'; +import { + ResourcePolicyEvent, + ResourcePolicyFormComponent, +} from './resource-policy-form.component'; export const mockResourcePolicyFormData = { name: [ diff --git a/src/app/shared/resource-policies/form/resource-policy-form.component.ts b/src/app/shared/resource-policies/form/resource-policy-form.component.ts index b43f50563d..477706ec1e 100644 --- a/src/app/shared/resource-policies/form/resource-policy-form.component.ts +++ b/src/app/shared/resource-policies/form/resource-policy-form.component.ts @@ -1,22 +1,58 @@ -import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; - import { - Observable, - of as observableOf, - combineLatest as observableCombineLatest, - Subscription, - BehaviorSubject, -} from 'rxjs'; -import { filter, map, take } from 'rxjs/operators'; + Component, + ElementRef, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, + ViewChild, +} from '@angular/core'; +import { + NgbModal, + NgbNavChangeEvent, +} from '@ng-bootstrap/ng-bootstrap'; import { DynamicDatePickerModel, DynamicFormControlModel, DynamicFormGroupModel, DynamicSelectModel, } from '@ng-dynamic-forms/core'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { EPersonDataService } from '../../../core/eperson/eperson-data.service'; +import { GroupDataService } from '../../../core/eperson/group-data.service'; import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; +import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-policy.resource-type'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; +import { + dateToISOFormat, + stringToNgbDateStruct, +} from '../../date.util'; +import { + hasValue, + hasValueOperator, + isEmpty, + isNotEmpty, +} from '../../empty.util'; import { DsDynamicInputModel } from '../../form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { DsDynamicTextAreaModel } from '../../form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model'; +import { FormService } from '../../form/form.service'; import { RESOURCE_POLICY_FORM_ACTION_TYPE_CONFIG, RESOURCE_POLICY_FORM_DATE_GROUP_CONFIG, @@ -29,19 +65,6 @@ import { RESOURCE_POLICY_FORM_START_DATE_CONFIG, RESOURCE_POLICY_FORM_START_DATE_LAYOUT, } from './resource-policy-form.model'; -import { DsDynamicTextAreaModel } from '../../form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { hasValue, isEmpty, isNotEmpty, hasValueOperator } from '../../empty.util'; -import { FormService } from '../../form/form.service'; -import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-policy.resource-type'; -import { RemoteData } from '../../../core/data/remote-data'; -import { dateToISOFormat, stringToNgbDateStruct } from '../../date.util'; -import { EPersonDataService } from '../../../core/eperson/eperson-data.service'; -import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; -import { RequestService } from '../../../core/data/request.service'; -import { NgbModal, NgbNavChangeEvent } from '@ng-bootstrap/ng-bootstrap'; export interface ResourcePolicyEvent { object: ResourcePolicy; diff --git a/src/app/shared/resource-policies/form/resource-policy-form.model.ts b/src/app/shared/resource-policies/form/resource-policy-form.model.ts index 91fd447955..64237f9e23 100644 --- a/src/app/shared/resource-policies/form/resource-policy-form.model.ts +++ b/src/app/shared/resource-policies/form/resource-policy-form.model.ts @@ -6,10 +6,10 @@ import { DynamicSelectModelConfig, } from '@ng-dynamic-forms/core'; +import { ActionType } from '../../../core/resource-policy/models/action-type.model'; +import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; import { DsDynamicInputModelConfig } from '../../form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; import { DsDynamicTextAreaModelConfig } from '../../form/builder/ds-dynamic-form-ui/models/ds-dynamic-textarea.model'; -import { PolicyType } from '../../../core/resource-policy/models/policy-type.model'; -import { ActionType } from '../../../core/resource-policy/models/action-type.model'; const policyTypeList: DynamicFormOptionConfig[] = [ { diff --git a/src/app/shared/resource-policies/resolvers/resource-policy-target.resolver.ts b/src/app/shared/resource-policies/resolvers/resource-policy-target.resolver.ts index b26043679f..4f587a3ed4 100644 --- a/src/app/shared/resource-policies/resolvers/resource-policy-target.resolver.ts +++ b/src/app/shared/resource-policies/resolvers/resource-policy-target.resolver.ts @@ -1,15 +1,22 @@ -import { Injectable, Injector } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; - +import { + Injectable, + Injector, +} from '@angular/core'; +import { + ActivatedRouteSnapshot, + Resolve, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { ResourceType } from '../../../core/shared/resource-type'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { isEmpty } from '../../empty.util'; -import { RemoteData } from '../../../core/data/remote-data'; -import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; -import { IdentifiableDataService } from '../../../core/data/base/identifiable-data.service'; import { getDataServiceFor } from '../../../core/data/base/data-service.decorator'; +import { IdentifiableDataService } from '../../../core/data/base/identifiable-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { ResourceType } from '../../../core/shared/resource-type'; +import { isEmpty } from '../../empty.util'; /** * This class represents a resolver that requests a specific item before the route is activated diff --git a/src/app/shared/resource-policies/resolvers/resource-policy.resolver.ts b/src/app/shared/resource-policies/resolvers/resource-policy.resolver.ts index 3b7ac692fb..ee8525d422 100644 --- a/src/app/shared/resource-policies/resolvers/resource-policy.resolver.ts +++ b/src/app/shared/resource-policies/resolvers/resource-policy.resolver.ts @@ -1,14 +1,18 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; - +import { + ActivatedRouteSnapshot, + Resolve, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { isEmpty } from '../../empty.util'; import { RemoteData } from '../../../core/data/remote-data'; import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; -import { followLink } from '../../utils/follow-link-config.model'; import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { isEmpty } from '../../empty.util'; +import { followLink } from '../../utils/follow-link-config.model'; /** * This class represents a resolver that requests a specific item before the route is activated diff --git a/src/app/shared/resource-policies/resource-policies.component.spec.ts b/src/app/shared/resource-policies/resource-policies.component.spec.ts index 3fdf0a17e6..1336eed6a6 100644 --- a/src/app/shared/resource-policies/resource-policies.component.spec.ts +++ b/src/app/shared/resource-policies/resource-policies.component.spec.ts @@ -1,40 +1,64 @@ -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; - +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { LinkService } from '../../core/cache/builders/link.service'; +import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { RequestService } from '../../core/data/request.service'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { GroupDataService } from '../../core/eperson/group-data.service'; +import { ActionType } from '../../core/resource-policy/models/action-type.model'; +import { PolicyType } from '../../core/resource-policy/models/policy-type.model'; +import { ResourcePolicyDataService } from '../../core/resource-policy/resource-policy-data.service'; import { Bitstream } from '../../core/shared/bitstream.model'; import { Bundle } from '../../core/shared/bundle.model'; import { Item } from '../../core/shared/item.model'; -import { LinkService } from '../../core/cache/builders/link.service'; -import { getMockLinkService } from '../mocks/link-service.mock'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { createPaginatedList, createTestComponent } from '../testing/utils.test'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; -import { NotificationsService } from '../notifications/notifications.service'; -import { NotificationsServiceStub } from '../testing/notifications-service.stub'; -import { ResourcePolicyDataService } from '../../core/resource-policy/resource-policy-data.service'; -import { getMockResourcePolicyService } from '../mocks/mock-resource-policy-service'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { RequestService } from '../../core/data/request.service'; -import { getMockRequestService } from '../mocks/request.service.mock'; -import { RouterStub } from '../testing/router.stub'; -import { buildPaginatedList } from '../../core/data/paginated-list.model'; import { PageInfo } from '../../core/shared/page-info.model'; -import { ResourcePoliciesComponent } from './resource-policies.component'; -import { PolicyType } from '../../core/resource-policy/models/policy-type.model'; -import { ActionType } from '../../core/resource-policy/models/action-type.model'; +import { getMockLinkService } from '../mocks/link-service.mock'; +import { getMockResourcePolicyService } from '../mocks/mock-resource-policy-service'; +import { getMockRequestService } from '../mocks/request.service.mock'; +import { NotificationsService } from '../notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; import { EPersonMock } from '../testing/eperson.mock'; import { GroupMock } from '../testing/group-mock'; +import { NotificationsServiceStub } from '../testing/notifications-service.stub'; +import { RouterStub } from '../testing/router.stub'; +import { + createPaginatedList, + createTestComponent, +} from '../testing/utils.test'; import { ResourcePolicyEntryComponent } from './entry/resource-policy-entry.component'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { ResourcePoliciesComponent } from './resource-policies.component'; describe('ResourcePoliciesComponent test suite', () => { let comp: ResourcePoliciesComponent; diff --git a/src/app/shared/resource-policies/resource-policies.component.ts b/src/app/shared/resource-policies/resource-policies.component.ts index 796302ad77..2f5e1fd7d6 100644 --- a/src/app/shared/resource-policies/resource-policies.component.ts +++ b/src/app/shared/resource-policies/resource-policies.component.ts @@ -1,18 +1,43 @@ -import { ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { BehaviorSubject, from as observableFrom, Observable, Subscription } from 'rxjs'; -import { concatMap, distinctUntilChanged, filter, map, reduce, scan, take } from 'rxjs/operators'; +import { + ChangeDetectorRef, + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + from as observableFrom, + Observable, + Subscription, +} from 'rxjs'; +import { + concatMap, + distinctUntilChanged, + filter, + map, + reduce, + scan, + take, +} from 'rxjs/operators'; -import { getAllSucceededRemoteData } from '../../core/shared/operators'; -import { ResourcePolicyDataService } from '../../core/resource-policy/resource-policy-data.service'; -import { ResourcePolicy } from '../../core/resource-policy/models/resource-policy.model'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { hasValue, isEmpty, isNotEmpty } from '../empty.util'; -import { EPersonDataService } from '../../core/eperson/eperson-data.service'; import { RequestService } from '../../core/data/request.service'; +import { EPersonDataService } from '../../core/eperson/eperson-data.service'; +import { GroupDataService } from '../../core/eperson/group-data.service'; +import { ResourcePolicy } from '../../core/resource-policy/models/resource-policy.model'; +import { ResourcePolicyDataService } from '../../core/resource-policy/resource-policy-data.service'; +import { getAllSucceededRemoteData } from '../../core/shared/operators'; +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../empty.util'; import { NotificationsService } from '../notifications/notifications.service'; import { followLink } from '../utils/follow-link-config.model'; import { ResourcePolicyCheckboxEntry } from './entry/resource-policy-entry.component'; diff --git a/src/app/shared/resource-policies/resource-policies.module.ts b/src/app/shared/resource-policies/resource-policies.module.ts index b16da968e9..7d7e440cff 100644 --- a/src/app/shared/resource-policies/resource-policies.module.ts +++ b/src/app/shared/resource-policies/resource-policies.module.ts @@ -1,18 +1,17 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; - +import { NgModule } from '@angular/core'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; -import { ResourcePoliciesComponent } from './resource-policies.component'; -import { ResourcePolicyFormComponent } from './form/resource-policy-form.component'; -import { ResourcePolicyEditComponent } from './edit/resource-policy-edit.component'; -import { ResourcePolicyCreateComponent } from './create/resource-policy-create.component'; import { FormModule } from '../form/form.module'; +import { SharedModule } from '../shared.module'; +import { ResourcePolicyCreateComponent } from './create/resource-policy-create.component'; +import { ResourcePolicyEditComponent } from './edit/resource-policy-edit.component'; +import { ResourcePolicyEntryComponent } from './entry/resource-policy-entry.component'; +import { ResourcePolicyFormComponent } from './form/resource-policy-form.component'; import { ResourcePolicyResolver } from './resolvers/resource-policy.resolver'; import { ResourcePolicyTargetResolver } from './resolvers/resource-policy-target.resolver'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { SharedModule } from '../shared.module'; -import { ResourcePolicyEntryComponent } from './entry/resource-policy-entry.component'; +import { ResourcePoliciesComponent } from './resource-policies.component'; const COMPONENTS = [ ResourcePoliciesComponent, diff --git a/src/app/shared/responsive-table-sizes/responsive-table-sizes.ts b/src/app/shared/responsive-table-sizes/responsive-table-sizes.ts index b68774d46f..8004ae0f67 100644 --- a/src/app/shared/responsive-table-sizes/responsive-table-sizes.ts +++ b/src/app/shared/responsive-table-sizes/responsive-table-sizes.ts @@ -1,5 +1,5 @@ -import { ResponsiveColumnSizes } from './responsive-column-sizes'; import { hasValue } from '../empty.util'; +import { ResponsiveColumnSizes } from './responsive-column-sizes'; /** * A helper class storing the sizes in which to render a table diff --git a/src/app/shared/results-back-button/results-back-button.component.spec.ts b/src/app/shared/results-back-button/results-back-button.component.spec.ts index eeb1599e4a..17284ff5eb 100644 --- a/src/app/shared/results-back-button/results-back-button.component.spec.ts +++ b/src/app/shared/results-back-button/results-back-button.component.spec.ts @@ -1,10 +1,18 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ResultsBackButtonComponent } from './results-back-button.component'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { of } from 'rxjs'; +import { ResultsBackButtonComponent } from './results-back-button.component'; + describe('ResultsBackButtonComponent', () => { let component: ResultsBackButtonComponent; diff --git a/src/app/shared/results-back-button/results-back-button.component.ts b/src/app/shared/results-back-button/results-back-button.component.ts index cf29cf2f4a..2fdc7b2c8a 100644 --- a/src/app/shared/results-back-button/results-back-button.component.ts +++ b/src/app/shared/results-back-button/results-back-button.component.ts @@ -1,6 +1,11 @@ -import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; -import { Observable } from 'rxjs'; +import { + ChangeDetectionStrategy, + Component, + Input, + OnInit, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; @Component({ selector: 'ds-results-back-button', diff --git a/src/app/shared/results-back-button/results-back-button.module.ts b/src/app/shared/results-back-button/results-back-button.module.ts index d925cd64ad..cfb6024248 100644 --- a/src/app/shared/results-back-button/results-back-button.module.ts +++ b/src/app/shared/results-back-button/results-back-button.module.ts @@ -1,6 +1,7 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; import { TranslateModule } from '@ngx-translate/core'; + import { ResultsBackButtonComponent } from './results-back-button.component'; import { ThemedResultsBackButtonComponent } from './themed-results-back-button.component'; diff --git a/src/app/shared/results-back-button/themed-results-back-button.component.ts b/src/app/shared/results-back-button/themed-results-back-button.component.ts index fa9fac8e70..1067faa833 100644 --- a/src/app/shared/results-back-button/themed-results-back-button.component.ts +++ b/src/app/shared/results-back-button/themed-results-back-button.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; +import { Observable } from 'rxjs'; + import { ThemedComponent } from '../theme-support/themed.component'; import { ResultsBackButtonComponent } from './results-back-button.component'; -import { Observable } from 'rxjs'; @Component({ selector: 'ds-themed-results-back-button', diff --git a/src/app/shared/roles/role.directive.ts b/src/app/shared/roles/role.directive.ts index bfd616047a..7f9d00fde4 100644 --- a/src/app/shared/roles/role.directive.ts +++ b/src/app/shared/roles/role.directive.ts @@ -8,13 +8,20 @@ import { TemplateRef, ViewContainerRef, } from '@angular/core'; +import { + combineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + filter, + first, + map, +} from 'rxjs/operators'; -import { combineLatest, Observable, Subscription } from 'rxjs'; -import { filter, first, map } from 'rxjs/operators'; - -import { hasValue } from '../empty.util'; import { RoleService } from '../../core/roles/role.service'; import { RoleType } from '../../core/roles/role-types'; +import { hasValue } from '../empty.util'; @Directive({ selector: '[dsShowOnlyForRole],[dsShowExceptForRole]', diff --git a/src/app/shared/rss-feed/rss.component.spec.ts b/src/app/shared/rss-feed/rss.component.spec.ts index f48341dd8d..aeb8c19a0c 100644 --- a/src/app/shared/rss-feed/rss.component.spec.ts +++ b/src/app/shared/rss-feed/rss.component.spec.ts @@ -1,4 +1,11 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { Router } from '@angular/router'; +import { of as observableOf } from 'rxjs'; + import { ConfigurationDataService } from '../../core/data/configuration-data.service'; import { RemoteData } from '../../core/data/remote-data'; import { GroupDataService } from '../../core/eperson/group-data.service'; @@ -7,16 +14,17 @@ import { LinkHeadService } from '../../core/services/link-head.service'; import { Collection } from '../../core/shared/collection.model'; import { ConfigurationProperty } from '../../core/shared/configuration-property.model'; import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { RouterMock } from '../mocks/router.mock'; import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; +import { PaginatedSearchOptions } from '../search/models/paginated-search-options.model'; import { PaginationServiceStub } from '../testing/pagination-service.stub'; +import { SearchConfigurationServiceStub } from '../testing/search-configuration-service.stub'; import { createPaginatedList } from '../testing/utils.test'; import { RSSComponent } from './rss.component'; -import { of as observableOf } from 'rxjs'; -import { SearchConfigurationServiceStub } from '../testing/search-configuration-service.stub'; -import { PaginatedSearchOptions } from '../search/models/paginated-search-options.model'; -import { Router } from '@angular/router'; -import { RouterMock } from '../mocks/router.mock'; diff --git a/src/app/shared/rss-feed/rss.component.ts b/src/app/shared/rss-feed/rss.component.ts index 1013645007..6f53346dcf 100644 --- a/src/app/shared/rss-feed/rss.component.ts +++ b/src/app/shared/rss-feed/rss.component.ts @@ -5,18 +5,26 @@ import { OnInit, ViewEncapsulation, } from '@angular/core'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; -import { GroupDataService } from '../../core/eperson/group-data.service'; -import { LinkHeadService } from '../../core/services/link-head.service'; -import { ConfigurationDataService } from '../../core/data/configuration-data.service'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { environment } from '../../../../src/environments/environment'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; import { Router } from '@angular/router'; -import { map, switchMap } from 'rxjs/operators'; -import { PaginatedSearchOptions } from '../search/models/paginated-search-options.model'; +import { + BehaviorSubject, + Observable, + Subscription, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + +import { environment } from '../../../../src/environments/environment'; +import { ConfigurationDataService } from '../../core/data/configuration-data.service'; import { RemoteData } from '../../core/data/remote-data'; +import { GroupDataService } from '../../core/eperson/group-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { LinkHeadService } from '../../core/services/link-head.service'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { PaginatedSearchOptions } from '../search/models/paginated-search-options.model'; /** diff --git a/src/app/shared/sass-helper/css-variable.actions.ts b/src/app/shared/sass-helper/css-variable.actions.ts index 2d58a2978b..3e00e9062d 100644 --- a/src/app/shared/sass-helper/css-variable.actions.ts +++ b/src/app/shared/sass-helper/css-variable.actions.ts @@ -1,7 +1,8 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; -import { type } from '../ngrx/type'; + import { KeyValuePair } from '../key-value-pair.model'; +import { type } from '../ngrx/type'; /** * For each action type in an action group, make a simple diff --git a/src/app/shared/sass-helper/css-variable.reducer.ts b/src/app/shared/sass-helper/css-variable.reducer.ts index 449a936b4e..55484ee734 100644 --- a/src/app/shared/sass-helper/css-variable.reducer.ts +++ b/src/app/shared/sass-helper/css-variable.reducer.ts @@ -1,5 +1,8 @@ -import { CSSVariableAction, CSSVariableActionTypes } from './css-variable.actions'; import { KeyValuePair } from '../key-value-pair.model'; +import { + CSSVariableAction, + CSSVariableActionTypes, +} from './css-variable.actions'; export interface CSSVariablesState { [name: string]: string; diff --git a/src/app/shared/sass-helper/css-variable.service.spec.ts b/src/app/shared/sass-helper/css-variable.service.spec.ts index 1cbe1fb873..1b56527c48 100644 --- a/src/app/shared/sass-helper/css-variable.service.spec.ts +++ b/src/app/shared/sass-helper/css-variable.service.spec.ts @@ -1,10 +1,14 @@ import { TestBed } from '@angular/core/testing'; -import { CSSVariableService } from './css-variable.service'; -import { MockStore, provideMockStore } from '@ngrx/store/testing'; +import { + MockStore, + provideMockStore, +} from '@ngrx/store/testing'; import { getTestScheduler } from 'jasmine-marbles'; + import { buildPaginatedList } from '../../core/data/paginated-list.model'; import { PageInfo } from '../../core/shared/page-info.model'; import { KeyValuePair } from '../key-value-pair.model'; +import { CSSVariableService } from './css-variable.service'; describe('CSSVariableService', () => { let store: MockStore; diff --git a/src/app/shared/sass-helper/css-variable.service.ts b/src/app/shared/sass-helper/css-variable.service.ts index 5f99f521af..72cdb37cf8 100644 --- a/src/app/shared/sass-helper/css-variable.service.ts +++ b/src/app/shared/sass-helper/css-variable.service.ts @@ -1,13 +1,32 @@ import { Injectable } from '@angular/core'; -import { AppState, keySelector } from '../../app.reducer'; -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; -import { AddAllCSSVariablesAction, AddCSSVariableAction, ClearCSSVariablesAction } from './css-variable.actions'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; +import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; import { Observable } from 'rxjs'; -import { hasValue, isNotEmpty } from '../empty.util'; -import { KeyValuePair } from '../key-value-pair.model'; + +import { + AppState, + keySelector, +} from '../../app.reducer'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { PageInfo } from '../../core/shared/page-info.model'; +import { + hasValue, + isNotEmpty, +} from '../empty.util'; +import { KeyValuePair } from '../key-value-pair.model'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; +import { + AddAllCSSVariablesAction, + AddCSSVariableAction, + ClearCSSVariablesAction, +} from './css-variable.actions'; import { CSSVariablesState } from './css-variable.reducer'; /** diff --git a/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.spec.ts b/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.spec.ts index aa95f6e2d8..ac1aa8ef58 100644 --- a/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.spec.ts +++ b/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.spec.ts @@ -1,13 +1,24 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ScopeSelectorModalComponent } from './scope-selector-modal.component'; +import { TranslateModule } from '@ngx-translate/core'; + import { Community } from '../../../core/shared/community.model'; import { MetadataValue } from '../../../core/shared/metadata.models'; import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; import { RouterStub } from '../../testing/router.stub'; +import { ScopeSelectorModalComponent } from './scope-selector-modal.component'; describe('ScopeSelectorModalComponent', () => { let component: ScopeSelectorModalComponent; diff --git a/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.ts b/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.ts index 3301435956..c947c2abae 100644 --- a/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.ts +++ b/src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.ts @@ -1,11 +1,22 @@ -import { Component, EventEmitter, OnInit } from '@angular/core'; +import { + Component, + EventEmitter, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; -import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../../dso-selector/modal-wrappers/dso-selector-modal-wrapper.component'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; + import { environment } from '../../../../environments/environment'; +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; +import { + DSOSelectorModalWrapperComponent, + SelectorActionType, +} from '../../dso-selector/modal-wrappers/dso-selector-modal-wrapper.component'; /** * Component to wrap a button - to select the entire repository - diff --git a/src/app/shared/search-form/search-form.component.spec.ts b/src/app/shared/search-form/search-form.component.spec.ts index 7fe3a0d357..291be186a5 100644 --- a/src/app/shared/search-form/search-form.component.spec.ts +++ b/src/app/shared/search-form/search-form.component.spec.ts @@ -1,22 +1,29 @@ -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; -import { SearchFormComponent } from './search-form.component'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { Community } from '../../core/shared/community.model'; import { TranslateModule } from '@ngx-translate/core'; + +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { Community } from '../../core/shared/community.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { SearchService } from '../../core/shared/search/search.service'; -import { PaginationService } from '../../core/pagination/pagination.service'; import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { PaginationServiceStub } from '../testing/pagination-service.stub'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { BrowserOnlyMockPipe } from '../testing/browser-only-mock.pipe'; -import { SearchServiceStub } from '../testing/search-service.stub'; -import { Router } from '@angular/router'; +import { PaginationServiceStub } from '../testing/pagination-service.stub'; import { RouterStub } from '../testing/router.stub'; +import { SearchServiceStub } from '../testing/search-service.stub'; +import { SearchFormComponent } from './search-form.component'; describe('SearchFormComponent', () => { let comp: SearchFormComponent; diff --git a/src/app/shared/search-form/search-form.component.ts b/src/app/shared/search-form/search-form.component.ts index 07f3171b94..407d7ce768 100644 --- a/src/app/shared/search-form/search-form.component.ts +++ b/src/app/shared/search-form/search-form.component.ts @@ -1,18 +1,25 @@ -import { Component, EventEmitter, Input, Output, OnChanges } from '@angular/core'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { + Component, + EventEmitter, + Input, + OnChanges, + Output, +} from '@angular/core'; import { Router } from '@angular/router'; -import { isNotEmpty } from '../empty.util'; -import { SearchService } from '../../core/shared/search/search.service'; -import { currentPath } from '../utils/route.utils'; -import { PaginationService } from '../../core/pagination/pagination.service'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { ScopeSelectorModalComponent } from './scope-selector-modal/scope-selector-modal.component'; -import { take } from 'rxjs/operators'; import { BehaviorSubject } from 'rxjs'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { take } from 'rxjs/operators'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { PaginationService } from '../../core/pagination/pagination.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { SearchService } from '../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { isNotEmpty } from '../empty.util'; +import { currentPath } from '../utils/route.utils'; +import { ScopeSelectorModalComponent } from './scope-selector-modal/scope-selector-modal.component'; @Component({ selector: 'ds-search-form', diff --git a/src/app/shared/search-form/themed-search-form.component.ts b/src/app/shared/search-form/themed-search-form.component.ts index 50b3751b06..f2f92c3904 100644 --- a/src/app/shared/search-form/themed-search-form.component.ts +++ b/src/app/shared/search-form/themed-search-form.component.ts @@ -1,4 +1,10 @@ -import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { ThemedComponent } from '../theme-support/themed.component'; import { SearchFormComponent } from './search-form.component'; diff --git a/src/app/shared/search/host-window.reducer.ts b/src/app/shared/search/host-window.reducer.ts index 4cd73c7faa..a8cefb992a 100644 --- a/src/app/shared/search/host-window.reducer.ts +++ b/src/app/shared/search/host-window.reducer.ts @@ -1,4 +1,7 @@ -import { HostWindowAction, HostWindowActionTypes } from '../host-window.actions'; +import { + HostWindowAction, + HostWindowActionTypes, +} from '../host-window.actions'; export interface HostWindowState { width: number; diff --git a/src/app/shared/search/models/facet-config-response.model.ts b/src/app/shared/search/models/facet-config-response.model.ts index 10e0aa035d..6b1cc37997 100644 --- a/src/app/shared/search/models/facet-config-response.model.ts +++ b/src/app/shared/search/models/facet-config-response.model.ts @@ -1,10 +1,11 @@ +import { deserialize } from 'cerialize'; + import { typedObject } from '../../../core/cache/builders/build-decorators'; -import { FACET_CONFIG_RESPONSE } from './types/facet-config-response.resouce-type'; +import { CacheableObject } from '../../../core/cache/cacheable-object.model'; +import { HALLink } from '../../../core/shared/hal-link.model'; import { excludeFromEquals } from '../../../core/utilities/equals.decorators'; import { SearchFilterConfig } from './search-filter-config.model'; -import { deserialize } from 'cerialize'; -import { HALLink } from '../../../core/shared/hal-link.model'; -import { CacheableObject } from '../../../core/cache/cacheable-object.model'; +import { FACET_CONFIG_RESPONSE } from './types/facet-config-response.resouce-type'; /** * The response from the discover/facets endpoint diff --git a/src/app/shared/search/models/facet-value.model.ts b/src/app/shared/search/models/facet-value.model.ts index e332709c43..a343e007c9 100644 --- a/src/app/shared/search/models/facet-value.model.ts +++ b/src/app/shared/search/models/facet-value.model.ts @@ -1,4 +1,9 @@ -import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; +import { + autoserialize, + autoserializeAs, + deserialize, +} from 'cerialize'; + import { HALLink } from '../../../core/shared/hal-link.model'; import { HALResource } from '../../../core/shared/hal-resource.model'; diff --git a/src/app/shared/search/models/facet-values.model.ts b/src/app/shared/search/models/facet-values.model.ts index fe9c9b70c7..4c14c7d90c 100644 --- a/src/app/shared/search/models/facet-values.model.ts +++ b/src/app/shared/search/models/facet-values.model.ts @@ -1,11 +1,16 @@ +import { + autoserialize, + autoserializeAs, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../../core/cache/builders/build-decorators'; -import { excludeFromEquals } from '../../../core/utilities/equals.decorators'; -import { FACET_VALUES } from './types/facet-values.resource-type'; -import { FacetValue } from './facet-value.model'; -import { SearchQueryResponse } from './search-query-response.model'; -import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize'; -import { FilterType } from './filter-type.model'; import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { excludeFromEquals } from '../../../core/utilities/equals.decorators'; +import { FacetValue } from './facet-value.model'; +import { FilterType } from './filter-type.model'; +import { SearchQueryResponse } from './search-query-response.model'; +import { FACET_VALUES } from './types/facet-values.resource-type'; @typedObject @inheritSerialization(PaginatedList) diff --git a/src/app/shared/search/models/paginated-search-options.model.spec.ts b/src/app/shared/search/models/paginated-search-options.model.spec.ts index a09ed77535..d39e3c958e 100644 --- a/src/app/shared/search/models/paginated-search-options.model.spec.ts +++ b/src/app/shared/search/models/paginated-search-options.model.spec.ts @@ -1,7 +1,10 @@ -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; +import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; import { PaginatedSearchOptions } from './paginated-search-options.model'; -import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; import { SearchFilter } from './search-filter.model'; describe('PaginatedSearchOptions', () => { diff --git a/src/app/shared/search/models/paginated-search-options.model.ts b/src/app/shared/search/models/paginated-search-options.model.ts index 76ed6cdaa8..2c8546d202 100644 --- a/src/app/shared/search/models/paginated-search-options.model.ts +++ b/src/app/shared/search/models/paginated-search-options.model.ts @@ -1,10 +1,10 @@ import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; -import { isNotEmpty } from '../../empty.util'; -import { SearchOptions } from './search-options.model'; -import { SearchFilter } from './search-filter.model'; import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; import { ViewMode } from '../../../core/shared/view-mode.model'; +import { isNotEmpty } from '../../empty.util'; +import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; +import { SearchFilter } from './search-filter.model'; +import { SearchOptions } from './search-options.model'; /** * This model class represents all parameters needed to request information about a certain page of a search request, in a certain order diff --git a/src/app/shared/search/models/search-filter-config.model.ts b/src/app/shared/search/models/search-filter-config.model.ts index aeb4eac594..4498ba5763 100644 --- a/src/app/shared/search/models/search-filter-config.model.ts +++ b/src/app/shared/search/models/search-filter-config.model.ts @@ -1,10 +1,15 @@ -import { FilterType } from './filter-type.model'; -import { autoserialize, autoserializeAs, deserialize } from 'cerialize'; -import { HALLink } from '../../../core/shared/hal-link.model'; +import { + autoserialize, + autoserializeAs, + deserialize, +} from 'cerialize'; + import { typedObject } from '../../../core/cache/builders/build-decorators'; -import { excludeFromEquals } from '../../../core/utilities/equals.decorators'; -import { SEARCH_FILTER_CONFIG } from './types/search-filter-config.resource-type'; import { CacheableObject } from '../../../core/cache/cacheable-object.model'; +import { HALLink } from '../../../core/shared/hal-link.model'; +import { excludeFromEquals } from '../../../core/utilities/equals.decorators'; +import { FilterType } from './filter-type.model'; +import { SEARCH_FILTER_CONFIG } from './types/search-filter-config.resource-type'; /** * The configuration for a search filter diff --git a/src/app/shared/search/models/search-objects.model.ts b/src/app/shared/search/models/search-objects.model.ts index f99dd5170e..fa483017ee 100644 --- a/src/app/shared/search/models/search-objects.model.ts +++ b/src/app/shared/search/models/search-objects.model.ts @@ -1,11 +1,15 @@ -import { autoserializeAs, inheritSerialization } from 'cerialize'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { SearchResult } from './search-result.model'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { + autoserializeAs, + inheritSerialization, +} from 'cerialize'; + import { typedObject } from '../../../core/cache/builders/build-decorators'; -import { SEARCH_OBJECTS } from './types/search-objects.resource-type'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { excludeFromEquals } from '../../../core/utilities/equals.decorators'; import { SearchQueryResponse } from './search-query-response.model'; +import { SearchResult } from './search-result.model'; +import { SEARCH_OBJECTS } from './types/search-objects.resource-type'; /** * Class representing the response returned by the server when performing a search request diff --git a/src/app/shared/search/models/search-options.model.spec.ts b/src/app/shared/search/models/search-options.model.spec.ts index c8ddd6eac7..614ca89160 100644 --- a/src/app/shared/search/models/search-options.model.spec.ts +++ b/src/app/shared/search/models/search-options.model.spec.ts @@ -1,6 +1,6 @@ -import { SearchOptions } from './search-options.model'; -import { SearchFilter } from './search-filter.model'; import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; +import { SearchFilter } from './search-filter.model'; +import { SearchOptions } from './search-options.model'; describe('SearchOptions', () => { let options: SearchOptions; diff --git a/src/app/shared/search/models/search-options.model.ts b/src/app/shared/search/models/search-options.model.ts index 44f86a0406..88866e7ef2 100644 --- a/src/app/shared/search/models/search-options.model.ts +++ b/src/app/shared/search/models/search-options.model.ts @@ -1,8 +1,11 @@ -import { hasValue, isNotEmpty } from '../../empty.util'; -import { URLCombiner } from '../../../core/url-combiner/url-combiner'; -import { SearchFilter } from './search-filter.model'; import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model'; import { ViewMode } from '../../../core/shared/view-mode.model'; +import { URLCombiner } from '../../../core/url-combiner/url-combiner'; +import { + hasValue, + isNotEmpty, +} from '../../empty.util'; +import { SearchFilter } from './search-filter.model'; /** * This model class represents all parameters needed to request information about a certain search request diff --git a/src/app/shared/search/models/search-query-response.model.ts b/src/app/shared/search/models/search-query-response.model.ts index 1a86056d64..961095e5f3 100644 --- a/src/app/shared/search/models/search-query-response.model.ts +++ b/src/app/shared/search/models/search-query-response.model.ts @@ -1,6 +1,7 @@ import { autoserialize } from 'cerialize'; -import { PageInfo } from '../../../core/shared/page-info.model'; + import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; /** * Class representing the response returned by the server when performing a search request diff --git a/src/app/shared/search/models/search-result.model.ts b/src/app/shared/search/models/search-result.model.ts index c7255a2f16..b2bc167c81 100644 --- a/src/app/shared/search/models/search-result.model.ts +++ b/src/app/shared/search/models/search-result.model.ts @@ -1,12 +1,19 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { typedObject } from '../../../core/cache/builders/build-decorators'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { GenericConstructor } from '../../../core/shared/generic-constructor'; import { HALLink } from '../../../core/shared/hal-link.model'; -import { MetadataMap } from '../../../core/shared/metadata.models'; -import { excludeFromEquals, fieldsForEquals } from '../../../core/utilities/equals.decorators'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { HALResource } from '../../../core/shared/hal-resource.model'; +import { MetadataMap } from '../../../core/shared/metadata.models'; +import { + excludeFromEquals, + fieldsForEquals, +} from '../../../core/utilities/equals.decorators'; +import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { SEARCH_RESULT } from './types/search-result.resource-type'; /** diff --git a/src/app/shared/search/search-export-csv/search-export-csv.component.spec.ts b/src/app/shared/search/search-export-csv/search-export-csv.component.spec.ts index fd58fd5abf..628ebcd845 100644 --- a/src/app/shared/search/search-export-csv/search-export-csv.component.spec.ts +++ b/src/app/shared/search/search-export-csv/search-export-csv.component.spec.ts @@ -1,20 +1,28 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { SearchExportCsvComponent } from './search-export-csv.component'; -import { ScriptDataService } from '../../../core/data/processes/script-data.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { Script } from '../../../process-page/scripts/script.model'; -import { Process } from '../../../process-page/processes/process.model'; -import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { Router } from '@angular/router'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { ScriptDataService } from '../../../core/data/processes/script-data.service'; import { getProcessDetailRoute } from '../../../process-page/process-page-routing.paths'; -import { SearchFilter } from '../models/search-filter.model'; +import { Process } from '../../../process-page/processes/process.model'; +import { Script } from '../../../process-page/scripts/script.model'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../remote-data.utils'; +import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; +import { SearchFilter } from '../models/search-filter.model'; +import { SearchExportCsvComponent } from './search-export-csv.component'; describe('SearchExportCsvComponent', () => { let component: SearchExportCsvComponent; diff --git a/src/app/shared/search/search-export-csv/search-export-csv.component.ts b/src/app/shared/search/search-export-csv/search-export-csv.component.ts index e19adc192f..e63b59359a 100644 --- a/src/app/shared/search/search-export-csv/search-export-csv.component.ts +++ b/src/app/shared/search/search-export-csv/search-export-csv.component.ts @@ -1,17 +1,28 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { ScriptDataService } from '../../../core/data/processes/script-data.service'; -import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; -import { map } from 'rxjs/operators'; -import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; -import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; -import { hasValue, isNotEmpty } from '../../empty.util'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Process } from '../../../process-page/processes/process.model'; -import { getProcessDetailRoute } from '../../../process-page/process-page-routing.paths'; -import { NotificationsService } from '../../notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; +import { ScriptDataService } from '../../../core/data/processes/script-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { getFirstCompletedRemoteData } from '../../../core/shared/operators'; +import { getProcessDetailRoute } from '../../../process-page/process-page-routing.paths'; +import { Process } from '../../../process-page/processes/process.model'; +import { + hasValue, + isNotEmpty, +} from '../../empty.util'; +import { NotificationsService } from '../../notifications/notifications.service'; import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; @Component({ diff --git a/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.ts index 15d5f95ca2..f19b9b67d4 100644 --- a/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.ts @@ -1,6 +1,13 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; + import { FilterType } from '../../../models/filter-type.model'; -import { facetLoad, SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; +import { + facetLoad, + SearchFacetFilterComponent, +} from '../search-facet-filter/search-facet-filter.component'; import { renderFacetFor } from '../search-filter-type-decorator'; @Component({ diff --git a/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.ts index 77dd2bd393..10fbdcb570 100644 --- a/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.ts @@ -1,7 +1,14 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; + import { FilterType } from '../../../models/filter-type.model'; +import { + facetLoad, + SearchFacetFilterComponent, +} from '../search-facet-filter/search-facet-filter.component'; import { renderFacetFor } from '../search-filter-type-decorator'; -import { facetLoad, SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; @Component({ selector: 'ds-search-boolean-filter', diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts index 2981fc2a71..c387be3eb9 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts @@ -1,24 +1,32 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { SearchService } from '../../../../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; -import { SearchService } from '../../../../../../core/shared/search/search.service'; +import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; +import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; import { RouterStub } from '../../../../../testing/router.stub'; import { SearchServiceStub } from '../../../../../testing/search-service.stub'; +import { ShortNumberPipe } from '../../../../../utils/short-number.pipe'; import { FacetValue } from '../../../../models/facet-value.model'; import { FilterType } from '../../../../models/filter-type.model'; import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; import { SearchFacetOptionComponent } from './search-facet-option.component'; -import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; -import { ShortNumberPipe } from '../../../../../utils/short-number.pipe'; describe('SearchFacetOptionComponent', () => { let comp: SearchFacetOptionComponent; diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.ts index 09cd08065c..8f2656c56f 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.ts @@ -1,16 +1,26 @@ -import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { map } from 'rxjs/operators'; -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; -import { FacetValue } from '../../../../models/facet-value.model'; -import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; +import { + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; import { SearchService } from '../../../../../../core/shared/search/search.service'; -import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; import { hasValue } from '../../../../../empty.util'; import { currentPath } from '../../../../../utils/route.utils'; +import { FacetValue } from '../../../../models/facet-value.model'; +import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; import { getFacetValueForType } from '../../../../search.utils'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; @Component({ selector: 'ds-search-facet-option', diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts index d0bc245d34..aeee40f781 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts @@ -1,28 +1,36 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; -import { FilterType } from '../../../../models/filter-type.model'; -import { FacetValue } from '../../../../models/facet-value.model'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { of as observableOf } from 'rxjs'; -import { SearchService } from '../../../../../../core/shared/search/search.service'; -import { SearchServiceStub } from '../../../../../testing/search-service.stub'; +import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { Router } from '@angular/router'; -import { RouterStub } from '../../../../../testing/router.stub'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { SearchService } from '../../../../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; -import { By } from '@angular/platform-browser'; -import { SearchFacetRangeOptionComponent } from './search-facet-range-option.component'; +import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; +import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; +import { RouterStub } from '../../../../../testing/router.stub'; +import { SearchServiceStub } from '../../../../../testing/search-service.stub'; +import { ShortNumberPipe } from '../../../../../utils/short-number.pipe'; +import { FacetValue } from '../../../../models/facet-value.model'; +import { FilterType } from '../../../../models/filter-type.model'; +import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; import { RANGE_FILTER_MAX_SUFFIX, RANGE_FILTER_MIN_SUFFIX, } from '../../search-range-filter/search-range-filter.component'; -import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; -import { ShortNumberPipe } from '../../../../../utils/short-number.pipe'; +import { SearchFacetRangeOptionComponent } from './search-facet-range-option.component'; describe('SearchFacetRangeOptionComponent', () => { let comp: SearchFacetRangeOptionComponent; diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.ts index 152de8f11b..39bfd6fe8c 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.ts @@ -1,19 +1,28 @@ -import { Observable, Subscription } from 'rxjs'; -import { map } from 'rxjs/operators'; -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { SearchService } from '../../../../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; +import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; +import { hasValue } from '../../../../../empty.util'; +import { currentPath } from '../../../../../utils/route.utils'; import { FacetValue } from '../../../../models/facet-value.model'; import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; -import { SearchService } from '../../../../../../core/shared/search/search.service'; -import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; import { RANGE_FILTER_MAX_SUFFIX, RANGE_FILTER_MIN_SUFFIX, } from '../../search-range-filter/search-range-filter.component'; -import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; -import { hasValue } from '../../../../../empty.util'; -import { currentPath } from '../../../../../utils/route.utils'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; const rangeDelimiter = '-'; diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts index 4735652e7d..c5cdd0c0cf 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts @@ -1,22 +1,30 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; +import { SearchService } from '../../../../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; -import { SearchService } from '../../../../../../core/shared/search/search.service'; +import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; +import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; import { RouterStub } from '../../../../../testing/router.stub'; import { SearchServiceStub } from '../../../../../testing/search-service.stub'; import { FacetValue } from '../../../../models/facet-value.model'; import { FilterType } from '../../../../models/filter-type.model'; import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; import { SearchFacetSelectedOptionComponent } from './search-facet-selected-option.component'; -import { PaginationComponentOptions } from '../../../../../pagination/pagination-component-options.model'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../../../testing/pagination-service.stub'; describe('SearchFacetSelectedOptionComponent', () => { let comp: SearchFacetSelectedOptionComponent; diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.ts index a986e6e629..f6f2c35874 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.ts @@ -1,15 +1,25 @@ -import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; -import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; +import { + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; + +import { PaginationService } from '../../../../../../core/pagination/pagination.service'; import { SearchService } from '../../../../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; import { SearchFilterService } from '../../../../../../core/shared/search/search-filter.service'; import { hasValue } from '../../../../../empty.util'; -import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service'; -import { FacetValue } from '../../../../models/facet-value.model'; import { currentPath } from '../../../../../utils/route.utils'; +import { FacetValue } from '../../../../models/facet-value.model'; +import { SearchFilterConfig } from '../../../../models/search-filter-config.model'; import { getFacetValueForType } from '../../../../search.utils'; -import { PaginationService } from '../../../../../../core/pagination/pagination.service'; @Component({ selector: 'ds-search-facet-selected-option', diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-wrapper/search-facet-filter-wrapper.component.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-wrapper/search-facet-filter-wrapper.component.ts index 29e54abf29..8a8102de5e 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-wrapper/search-facet-filter-wrapper.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-wrapper/search-facet-filter-wrapper.component.ts @@ -1,15 +1,21 @@ -import { Component, Injector, Input, OnInit } from '@angular/core'; -import { renderFilterType } from '../search-filter-type-decorator'; -import { FilterType } from '../../../models/filter-type.model'; -import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { + Component, + Injector, + Input, + OnInit, +} from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; import { FILTER_CONFIG, IN_PLACE_SEARCH, REFRESH_FILTER, } from '../../../../../core/shared/search/search-filter.service'; -import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; +import { FilterType } from '../../../models/filter-type.model'; +import { SearchFilterConfig } from '../../../models/search-filter-config.model'; import { SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; -import { BehaviorSubject } from 'rxjs'; +import { renderFilterType } from '../search-filter-type-decorator'; @Component({ selector: 'ds-search-facet-filter-wrapper', diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts index 05abe4d8cf..abf679216d 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts @@ -1,29 +1,40 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Router } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + +import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; +import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { PageInfo } from '../../../../../core/shared/page-info.model'; +import { SearchService } from '../../../../../core/shared/search/search.service'; import { FILTER_CONFIG, IN_PLACE_SEARCH, REFRESH_FILTER, SearchFilterService, } from '../../../../../core/shared/search/search-filter.service'; -import { SearchFilterConfig } from '../../../models/search-filter-config.model'; -import { FilterType } from '../../../models/filter-type.model'; -import { FacetValue } from '../../../models/facet-value.model'; -import { FormsModule } from '@angular/forms'; -import { BehaviorSubject, of as observableOf } from 'rxjs'; -import { SearchService } from '../../../../../core/shared/search/search.service'; -import { SearchServiceStub } from '../../../../testing/search-service.stub'; -import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; -import { RouterStub } from '../../../../testing/router.stub'; -import { Router } from '@angular/router'; -import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { SearchFacetFilterComponent } from './search-facet-filter.component'; -import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; -import { SearchConfigurationServiceStub } from '../../../../testing/search-configuration-service.stub'; import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; +import { RouterStub } from '../../../../testing/router.stub'; +import { SearchConfigurationServiceStub } from '../../../../testing/search-configuration-service.stub'; +import { SearchServiceStub } from '../../../../testing/search-service.stub'; +import { FacetValue } from '../../../models/facet-value.model'; +import { FilterType } from '../../../models/filter-type.model'; +import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { SearchFacetFilterComponent } from './search-facet-filter.component'; describe('SearchFacetFilterComponent', () => { let comp: SearchFacetFilterComponent; diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts index 1551124fef..3817448c5e 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts @@ -1,7 +1,17 @@ -import { animate, state, style, transition, trigger } from '@angular/animations'; -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; +import { + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - import { BehaviorSubject, combineLatest as observableCombineLatest, @@ -10,31 +20,47 @@ import { Subject, Subscription, } from 'rxjs'; -import { debounceTime, distinctUntilChanged, filter, map, mergeMap, switchMap, take, tap } from 'rxjs/operators'; +import { + debounceTime, + distinctUntilChanged, + filter, + map, + mergeMap, + switchMap, + take, + tap, +} from 'rxjs/operators'; import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; import { PaginatedList } from '../../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../../core/data/remote-data'; -import { hasNoValue, hasValue, isNotEmpty } from '../../../../empty.util'; -import { EmphasizePipe } from '../../../../utils/emphasize.pipe'; -import { FacetValue } from '../../../models/facet-value.model'; -import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { getFirstSucceededRemoteData } from '../../../../../core/shared/operators'; import { SearchService } from '../../../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; import { FILTER_CONFIG, IN_PLACE_SEARCH, REFRESH_FILTER, SearchFilterService, } from '../../../../../core/shared/search/search-filter.service'; -import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; -import { getFirstSucceededRemoteData } from '../../../../../core/shared/operators'; -import { InputSuggestion } from '../../../../input-suggestions/input-suggestions.model'; -import { SearchOptions } from '../../../models/search-options.model'; import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; -import { currentPath } from '../../../../utils/route.utils'; -import { getFacetValueForType, stripOperatorFromFilterValue } from '../../../search.utils'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../../../../empty.util'; +import { InputSuggestion } from '../../../../input-suggestions/input-suggestions.model'; import { createPendingRemoteDataObject } from '../../../../remote-data.utils'; +import { EmphasizePipe } from '../../../../utils/emphasize.pipe'; +import { currentPath } from '../../../../utils/route.utils'; +import { FacetValue } from '../../../models/facet-value.model'; import { FacetValues } from '../../../models/facet-values.model'; +import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { SearchOptions } from '../../../models/search-options.model'; +import { + getFacetValueForType, + stripOperatorFromFilterValue, +} from '../../../search.utils'; @Component({ selector: 'ds-search-facet-filter', diff --git a/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts index 8e1a9a9d77..3b622b2582 100644 --- a/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts @@ -1,19 +1,29 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { SearchFilterService } from '../../../../core/shared/search/search-filter.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { SearchService } from '../../../../core/shared/search/search.service'; -import { SearchFilterComponent } from './search-filter.component'; -import { SearchFilterConfig } from '../../models/search-filter-config.model'; -import { FilterType } from '../../models/filter-type.model'; -import { SearchConfigurationServiceStub } from '../../../testing/search-configuration-service.stub'; -import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; +import { SearchFilterService } from '../../../../core/shared/search/search-filter.service'; import { SequenceService } from '../../../../core/shared/sequence.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; import { BrowserOnlyMockPipe } from '../../../testing/browser-only-mock.pipe'; +import { SearchConfigurationServiceStub } from '../../../testing/search-configuration-service.stub'; +import { FilterType } from '../../models/filter-type.model'; +import { SearchFilterConfig } from '../../models/search-filter-config.model'; +import { SearchFilterComponent } from './search-filter.component'; describe('SearchFilterComponent', () => { let comp: SearchFilterComponent; diff --git a/src/app/shared/search/search-filters/search-filter/search-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-filter.component.ts index ab932a7901..b6b458940e 100644 --- a/src/app/shared/search/search-filters/search-filter/search-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-filter.component.ts @@ -1,16 +1,30 @@ -import { Component, Inject, Input, OnInit } from '@angular/core'; +import { + Component, + Inject, + Input, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, + of as observableOf, +} from 'rxjs'; +import { + filter, + map, + startWith, + switchMap, + take, +} from 'rxjs/operators'; -import { BehaviorSubject, Observable, of as observableOf } from 'rxjs'; -import { filter, map, startWith, switchMap, take } from 'rxjs/operators'; - -import { SearchFilterConfig } from '../../models/search-filter-config.model'; -import { SearchFilterService } from '../../../../core/shared/search/search-filter.service'; -import { slide } from '../../../animations/slide'; -import { isNotEmpty } from '../../../empty.util'; import { SearchService } from '../../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service'; -import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; +import { SearchFilterService } from '../../../../core/shared/search/search-filter.service'; import { SequenceService } from '../../../../core/shared/sequence.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; +import { slide } from '../../../animations/slide'; +import { isNotEmpty } from '../../../empty.util'; +import { SearchFilterConfig } from '../../models/search-filter-config.model'; @Component({ selector: 'ds-search-filter', diff --git a/src/app/shared/search/search-filters/search-filter/search-filter.reducer.spec.ts b/src/app/shared/search/search-filters/search-filter/search-filter.reducer.spec.ts index 678c0df3cb..d8330aeb39 100644 --- a/src/app/shared/search/search-filters/search-filter/search-filter.reducer.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-filter.reducer.spec.ts @@ -1,5 +1,6 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; + import { SearchFilterCollapseAction, SearchFilterDecrementPageAction, diff --git a/src/app/shared/search/search-filters/search-filter/search-filter.reducer.ts b/src/app/shared/search/search-filters/search-filter/search-filter.reducer.ts index d3ce1cd300..f38db42b26 100644 --- a/src/app/shared/search/search-filters/search-filter/search-filter.reducer.ts +++ b/src/app/shared/search/search-filters/search-filter/search-filter.reducer.ts @@ -1,4 +1,8 @@ -import { SearchFilterAction, SearchFilterActionTypes, SearchFilterInitializeAction } from './search-filter.actions'; +import { + SearchFilterAction, + SearchFilterActionTypes, + SearchFilterInitializeAction, +} from './search-filter.actions'; /** * Interface that represents the state for a single filters diff --git a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts index d4c4f954d7..577bc43a55 100644 --- a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts @@ -1,31 +1,46 @@ -import { SearchHierarchyFilterComponent } from './search-hierarchy-filter.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { DebugElement, EventEmitter, NO_ERRORS_SCHEMA } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { + DebugElement, + EventEmitter, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { VocabularyService } from '../../../../../core/submission/vocabularies/vocabulary.service'; -import { of as observableOf, BehaviorSubject } from 'rxjs'; +import { Router } from '@angular/router'; +import { + NgbModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + +import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; +import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../../core/data/remote-data'; import { RequestEntryState } from '../../../../../core/data/request-entry-state.model'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterStub } from '../../../../testing/router.stub'; -import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { CommonModule } from '@angular/common'; import { SearchService } from '../../../../../core/shared/search/search.service'; import { FILTER_CONFIG, IN_PLACE_SEARCH, - SearchFilterService, REFRESH_FILTER, + SearchFilterService, } from '../../../../../core/shared/search/search-filter.service'; -import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; -import { Router } from '@angular/router'; -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationServiceStub } from '../../../../testing/search-configuration-service.stub'; import { VocabularyEntryDetail } from '../../../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { VocabularyService } from '../../../../../core/submission/vocabularies/vocabulary.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; +import { RouterStub } from '../../../../testing/router.stub'; +import { SearchConfigurationServiceStub } from '../../../../testing/search-configuration-service.stub'; import { FacetValue} from '../../../models/facet-value.model'; import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { SearchHierarchyFilterComponent } from './search-hierarchy-filter.component'; describe('SearchHierarchyFilterComponent', () => { diff --git a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts index 1d58ae2778..5fd1c96ca4 100644 --- a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts @@ -1,31 +1,50 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { renderFacetFor } from '../search-filter-type-decorator'; -import { FilterType } from '../../../models/filter-type.model'; -import { facetLoad, SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; import { - VocabularyEntryDetail, -} from '../../../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; + Component, + Inject, + OnInit, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + filter, + map, + take, +} from 'rxjs/operators'; + +import { environment } from '../../../../../../environments/environment'; +import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; +import { PageInfo } from '../../../../../core/shared/page-info.model'; import { SearchService } from '../../../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; import { FILTER_CONFIG, IN_PLACE_SEARCH, - SearchFilterService, REFRESH_FILTER, + REFRESH_FILTER, + SearchFilterService, } from '../../../../../core/shared/search/search-filter.service'; -import { Router } from '@angular/router'; -import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; -import { SearchFilterConfig } from '../../../models/search-filter-config.model'; -import { FacetValue } from '../../../models/facet-value.model'; -import { getFacetValueForType } from '../../../search.utils'; -import { filter, map, take } from 'rxjs/operators'; +import { VocabularyEntryDetail } from '../../../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; import { VocabularyService } from '../../../../../core/submission/vocabularies/vocabulary.service'; -import { Observable, BehaviorSubject } from 'rxjs'; -import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { environment } from '../../../../../../environments/environment'; -import { addOperatorToFilterValue } from '../../../search.utils'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; import { VocabularyTreeviewModalComponent } from '../../../../form/vocabulary-treeview-modal/vocabulary-treeview-modal.component'; +import { FacetValue } from '../../../models/facet-value.model'; +import { FilterType } from '../../../models/filter-type.model'; +import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { + addOperatorToFilterValue, + getFacetValueForType, +} from '../../../search.utils'; +import { + facetLoad, + SearchFacetFilterComponent, +} from '../search-facet-filter/search-facet-filter.component'; +import { renderFacetFor } from '../search-filter-type-decorator'; @Component({ selector: 'ds-search-hierarchy-filter', diff --git a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts index ebd658690d..d8251e2264 100644 --- a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts @@ -1,30 +1,41 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Router } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + +import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; +import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; +import { RouteService } from '../../../../../core/services/route.service'; +import { PageInfo } from '../../../../../core/shared/page-info.model'; +import { SearchService } from '../../../../../core/shared/search/search.service'; import { FILTER_CONFIG, IN_PLACE_SEARCH, REFRESH_FILTER, SearchFilterService, } from '../../../../../core/shared/search/search-filter.service'; -import { SearchFilterConfig } from '../../../models/search-filter-config.model'; -import { FilterType } from '../../../models/filter-type.model'; -import { FacetValue } from '../../../models/facet-value.model'; -import { FormsModule } from '@angular/forms'; -import { BehaviorSubject, of as observableOf } from 'rxjs'; -import { SearchService } from '../../../../../core/shared/search/search.service'; -import { SearchServiceStub } from '../../../../testing/search-service.stub'; -import { buildPaginatedList } from '../../../../../core/data/paginated-list.model'; -import { RouterStub } from '../../../../testing/router.stub'; -import { Router } from '@angular/router'; -import { PageInfo } from '../../../../../core/shared/page-info.model'; -import { SearchRangeFilterComponent } from './search-range-filter.component'; -import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationServiceStub } from '../../../../testing/search-configuration-service.stub'; import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils'; -import { RouteService } from '../../../../../core/services/route.service'; +import { RouterStub } from '../../../../testing/router.stub'; +import { SearchConfigurationServiceStub } from '../../../../testing/search-configuration-service.stub'; +import { SearchServiceStub } from '../../../../testing/search-service.stub'; +import { FacetValue } from '../../../models/facet-value.model'; +import { FilterType } from '../../../models/filter-type.model'; +import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { SearchRangeFilterComponent } from './search-range-filter.component'; describe('SearchRangeFilterComponent', () => { let comp: SearchRangeFilterComponent; diff --git a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.ts index fdfad166fd..76ba54ce1f 100644 --- a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.ts @@ -1,25 +1,42 @@ -import { BehaviorSubject, combineLatest as observableCombineLatest, Subscription } from 'rxjs'; -import { map, startWith } from 'rxjs/operators'; import { isPlatformBrowser } from '@angular/common'; -import { Component, Inject, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core'; +import { + Component, + Inject, + OnDestroy, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { + BehaviorSubject, + combineLatest as observableCombineLatest, + Subscription, +} from 'rxjs'; +import { + map, + startWith, +} from 'rxjs/operators'; +import { yearFromString } from 'src/app/shared/date.util'; + import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; -import { FilterType } from '../../../models/filter-type.model'; -import { renderFacetFor } from '../search-filter-type-decorator'; -import { facetLoad, SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; -import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { RouteService } from '../../../../../core/services/route.service'; +import { SearchService } from '../../../../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; import { FILTER_CONFIG, IN_PLACE_SEARCH, REFRESH_FILTER, SearchFilterService, } from '../../../../../core/shared/search/search-filter.service'; -import { SearchService } from '../../../../../core/shared/search/search.service'; -import { Router } from '@angular/router'; import { SEARCH_CONFIG_SERVICE } from '../../../../../my-dspace-page/my-dspace-page.component'; -import { SearchConfigurationService } from '../../../../../core/shared/search/search-configuration.service'; -import { RouteService } from '../../../../../core/services/route.service'; import { hasValue } from '../../../../empty.util'; -import { yearFromString } from 'src/app/shared/date.util'; +import { FilterType } from '../../../models/filter-type.model'; +import { SearchFilterConfig } from '../../../models/search-filter-config.model'; +import { + facetLoad, + SearchFacetFilterComponent, +} from '../search-facet-filter/search-facet-filter.component'; +import { renderFacetFor } from '../search-filter-type-decorator'; /** * The suffix for a range filters' minimum in the frontend URL diff --git a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts index a30f442c99..d7371e8fb1 100644 --- a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts +++ b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts @@ -1,8 +1,15 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; + import { FilterType } from '../../../models/filter-type.model'; -import { facetLoad, SearchFacetFilterComponent } from '../search-facet-filter/search-facet-filter.component'; -import { renderFacetFor } from '../search-filter-type-decorator'; import { addOperatorToFilterValue } from '../../../search.utils'; +import { + facetLoad, + SearchFacetFilterComponent, +} from '../search-facet-filter/search-facet-filter.component'; +import { renderFacetFor } from '../search-filter-type-decorator'; /** * This component renders a simple item page. diff --git a/src/app/shared/search/search-filters/search-filters.component.spec.ts b/src/app/shared/search/search-filters/search-filters.component.spec.ts index a0c2dad3aa..5a7b32d678 100644 --- a/src/app/shared/search/search-filters/search-filters.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filters.component.spec.ts @@ -1,14 +1,21 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { SearchFilterService } from '../../../core/shared/search/search-filter.service'; -import { SearchFiltersComponent } from './search-filters.component'; + import { SearchService } from '../../../core/shared/search/search.service'; +import { SearchFilterService } from '../../../core/shared/search/search-filter.service'; import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; +import { SearchFiltersComponent } from './search-filters.component'; describe('SearchFiltersComponent', () => { let comp: SearchFiltersComponent; diff --git a/src/app/shared/search/search-filters/search-filters.component.ts b/src/app/shared/search/search-filters/search-filters.component.ts index 766939226d..4c8f602224 100644 --- a/src/app/shared/search/search-filters/search-filters.component.ts +++ b/src/app/shared/search/search-filters/search-filters.component.ts @@ -1,17 +1,25 @@ -import { Component, Inject, Input, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Inject, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - -import { BehaviorSubject, Observable } from 'rxjs'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; import { map } from 'rxjs/operators'; -import { SearchService } from '../../../core/shared/search/search.service'; import { RemoteData } from '../../../core/data/remote-data'; -import { SearchFilterConfig } from '../models/search-filter-config.model'; +import { SearchService } from '../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { SearchFilterService } from '../../../core/shared/search/search-filter.service'; import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; -import { currentPath } from '../../utils/route.utils'; import { hasValue } from '../../empty.util'; +import { currentPath } from '../../utils/route.utils'; +import { SearchFilterConfig } from '../models/search-filter-config.model'; @Component({ selector: 'ds-search-filters', diff --git a/src/app/shared/search/search-filters/themed-search-filters.component.ts b/src/app/shared/search/search-filters/themed-search-filters.component.ts index 4849995ff3..5e89c27b26 100644 --- a/src/app/shared/search/search-filters/themed-search-filters.component.ts +++ b/src/app/shared/search/search-filters/themed-search-filters.component.ts @@ -1,10 +1,14 @@ -import { Component, Input } from '@angular/core'; -import { ThemedComponent } from '../../theme-support/themed.component'; -import { SearchFiltersComponent } from './search-filters.component'; -import { RemoteData } from '../../../core/data/remote-data'; -import { SearchFilterConfig } from '../models/search-filter-config.model'; +import { + Component, + Input, +} from '@angular/core'; import { Observable } from 'rxjs'; +import { RemoteData } from '../../../core/data/remote-data'; +import { ThemedComponent } from '../../theme-support/themed.component'; +import { SearchFilterConfig } from '../models/search-filter-config.model'; +import { SearchFiltersComponent } from './search-filters.component'; + /** * Themed wrapper for SearchFiltersComponent */ diff --git a/src/app/shared/search/search-labels/search-label/search-label.component.spec.ts b/src/app/shared/search/search-labels/search-label/search-label.component.spec.ts index 22b6f4476b..5642f40057 100644 --- a/src/app/shared/search/search-labels/search-label/search-label.component.spec.ts +++ b/src/app/shared/search/search-labels/search-label/search-label.component.spec.ts @@ -1,20 +1,34 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { Observable, of as observableOf } from 'rxjs'; -import { Params, Router } from '@angular/router'; -import { SearchLabelComponent } from './search-label.component'; -import { ObjectKeysPipe } from '../../../utils/object-keys-pipe'; -import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; -import { SearchServiceStub } from '../../../testing/search-service.stub'; -import { SearchConfigurationServiceStub } from '../../../testing/search-configuration-service.stub'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { PaginationComponentOptions } from '../../../pagination/pagination-component-options.model'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + Params, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { PaginationService } from '../../../../core/pagination/pagination.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; +import { PaginationComponentOptions } from '../../../pagination/pagination-component-options.model'; import { PaginationServiceStub } from '../../../testing/pagination-service.stub'; +import { SearchConfigurationServiceStub } from '../../../testing/search-configuration-service.stub'; +import { SearchServiceStub } from '../../../testing/search-service.stub'; +import { ObjectKeysPipe } from '../../../utils/object-keys-pipe'; +import { SearchLabelComponent } from './search-label.component'; describe('SearchLabelComponent', () => { let comp: SearchLabelComponent; diff --git a/src/app/shared/search/search-labels/search-label/search-label.component.ts b/src/app/shared/search/search-labels/search-label/search-label.component.ts index 759607d7af..bebf3dd15d 100644 --- a/src/app/shared/search/search-labels/search-label/search-label.component.ts +++ b/src/app/shared/search/search-labels/search-label/search-label.component.ts @@ -1,12 +1,23 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + Params, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { Params, Router } from '@angular/router'; import { map } from 'rxjs/operators'; -import { hasValue, isNotEmpty } from '../../../empty.util'; -import { SearchService } from '../../../../core/shared/search/search.service'; -import { currentPath } from '../../../utils/route.utils'; + import { PaginationService } from '../../../../core/pagination/pagination.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service'; +import { + hasValue, + isNotEmpty, +} from '../../../empty.util'; +import { currentPath } from '../../../utils/route.utils'; import { stripOperatorFromFilterValue } from '../../search.utils'; @Component({ diff --git a/src/app/shared/search/search-labels/search-labels.component.spec.ts b/src/app/shared/search/search-labels/search-labels.component.spec.ts index 8b503a6e55..ec53427f94 100644 --- a/src/app/shared/search/search-labels/search-labels.component.spec.ts +++ b/src/app/shared/search/search-labels/search-labels.component.spec.ts @@ -1,15 +1,23 @@ -import { SearchLabelsComponent } from './search-labels.component'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; -import { of as observableOf } from 'rxjs'; -import { SearchService } from '../../../core/shared/search/search.service'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; -import { ObjectKeysPipe } from '../../utils/object-keys-pipe'; -import { SearchServiceStub } from '../../testing/search-service.stub'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { SearchService } from '../../../core/shared/search/search.service'; import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; +import { SearchServiceStub } from '../../testing/search-service.stub'; +import { ObjectKeysPipe } from '../../utils/object-keys-pipe'; +import { SearchLabelsComponent } from './search-labels.component'; describe('SearchLabelsComponent', () => { let comp: SearchLabelsComponent; diff --git a/src/app/shared/search/search-labels/search-labels.component.ts b/src/app/shared/search/search-labels/search-labels.component.ts index 95654972a1..2d97731abe 100644 --- a/src/app/shared/search/search-labels/search-labels.component.ts +++ b/src/app/shared/search/search-labels/search-labels.component.ts @@ -1,10 +1,18 @@ -import { Component, Inject, Input } from '@angular/core'; -import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; +import { + Component, + Inject, + Input, +} from '@angular/core'; +import { + Params, + Router, +} from '@angular/router'; import { Observable } from 'rxjs'; -import { Params, Router } from '@angular/router'; -import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { map } from 'rxjs/operators'; +import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; + @Component({ selector: 'ds-search-labels', styleUrls: ['./search-labels.component.scss'], diff --git a/src/app/shared/search/search-results/search-results.component.spec.ts b/src/app/shared/search/search-results/search-results.component.spec.ts index e6e36696ec..cd11c5eb12 100644 --- a/src/app/shared/search/search-results/search-results.component.spec.ts +++ b/src/app/shared/search/search-results/search-results.component.spec.ts @@ -1,12 +1,20 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { Community } from '../../../core/shared/community.model'; import { TranslateModule } from '@ngx-translate/core'; -import { SearchResultsComponent } from './search-results.component'; -import { QueryParamsDirectiveStub } from '../../testing/query-params-directive.stub'; + +import { Community } from '../../../core/shared/community.model'; import { createFailedRemoteDataObject } from '../../remote-data.utils'; +import { QueryParamsDirectiveStub } from '../../testing/query-params-directive.stub'; +import { SearchResultsComponent } from './search-results.component'; describe('SearchResultsComponent', () => { let comp: SearchResultsComponent; diff --git a/src/app/shared/search/search-results/search-results.component.ts b/src/app/shared/search/search-results/search-results.component.ts index a2d71a32a5..ba6ba887de 100644 --- a/src/app/shared/search/search-results/search-results.component.ts +++ b/src/app/shared/search/search-results/search-results.component.ts @@ -1,16 +1,28 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { RemoteData } from '../../../core/data/remote-data'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { fadeIn, fadeInOut } from '../../animations/fade'; -import { SearchResult } from '../models/search-result.model'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { hasNoValue, isNotEmpty } from '../../empty.util'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { ListableObject } from '../../object-collection/shared/listable-object.model'; -import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; -import { ViewMode } from '../../../core/shared/view-mode.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; import { Context } from '../../../core/shared/context.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { + fadeIn, + fadeInOut, +} from '../../animations/fade'; +import { + hasNoValue, + isNotEmpty, +} from '../../empty.util'; +import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; +import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; +import { SearchResult } from '../models/search-result.model'; export interface SelectionConfig { repeatable: boolean; diff --git a/src/app/shared/search/search-results/themed-search-results.component.ts b/src/app/shared/search/search-results/themed-search-results.component.ts index 01ee5761f3..d61e481c49 100644 --- a/src/app/shared/search/search-results/themed-search-results.component.ts +++ b/src/app/shared/search/search-results/themed-search-results.component.ts @@ -1,16 +1,25 @@ -import { ThemedComponent } from '../../theme-support/themed.component'; -import { SearchResultsComponent, SelectionConfig } from './search-results.component'; -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; -import { SearchResult } from '../models/search-result.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { ViewMode } from '../../../core/shared/view-mode.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; import { Context } from '../../../core/shared/context.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { CollectionElementLinkType } from '../../object-collection/collection-element-link.type'; import { ListableObject } from '../../object-collection/shared/listable-object.model'; +import { ThemedComponent } from '../../theme-support/themed.component'; +import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; +import { SearchResult } from '../models/search-result.model'; +import { + SearchResultsComponent, + SelectionConfig, +} from './search-results.component'; /** * Themed wrapper for SearchResultsComponent diff --git a/src/app/shared/search/search-settings/search-settings.component.spec.ts b/src/app/shared/search/search-settings/search-settings.component.spec.ts index efce404ea5..a9cdf7c75c 100644 --- a/src/app/shared/search/search-settings/search-settings.component.spec.ts +++ b/src/app/shared/search/search-settings/search-settings.component.spec.ts @@ -1,22 +1,30 @@ -import { SearchService } from '../../../core/shared/search/search.service'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { SearchSettingsComponent } from './search-settings.component'; -import { of as observableOf } from 'rxjs'; -import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute } from '@angular/router'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { EnumKeysPipe } from '../../utils/enum-keys-pipe'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { SearchFilterService } from '../../../core/shared/search/search-filter.service'; -import { VarDirective } from '../../utils/var.directive'; -import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; -import { SidebarService } from '../../sidebar/sidebar.service'; -import { SidebarServiceStub } from '../../testing/sidebar-service.stub'; +import { ActivatedRoute } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; import { PaginationService } from '../../../core/pagination/pagination.service'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { SearchFilterService } from '../../../core/shared/search/search-filter.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; +import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; +import { SidebarService } from '../../sidebar/sidebar.service'; import { PaginationServiceStub } from '../../testing/pagination-service.stub'; +import { SidebarServiceStub } from '../../testing/sidebar-service.stub'; +import { EnumKeysPipe } from '../../utils/enum-keys-pipe'; +import { VarDirective } from '../../utils/var.directive'; +import { SearchSettingsComponent } from './search-settings.component'; describe('SearchSettingsComponent', () => { diff --git a/src/app/shared/search/search-settings/search-settings.component.ts b/src/app/shared/search/search-settings/search-settings.component.ts index 082acb43f7..eb77f820a2 100644 --- a/src/app/shared/search/search-settings/search-settings.component.ts +++ b/src/app/shared/search/search-settings/search-settings.component.ts @@ -1,10 +1,21 @@ -import { Component, Inject, Input } from '@angular/core'; +import { + Component, + Inject, + Input, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; + +import { + SortDirection, + SortOptions, +} from '../../../core/cache/models/sort-options.model'; +import { PaginationService } from '../../../core/pagination/pagination.service'; import { SearchService } from '../../../core/shared/search/search.service'; -import { SortDirection, SortOptions } from '../../../core/cache/models/sort-options.model'; -import { ActivatedRoute, Router } from '@angular/router'; import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; -import { PaginationService } from '../../../core/pagination/pagination.service'; @Component({ selector: 'ds-search-settings', diff --git a/src/app/shared/search/search-settings/themed-search-settings.component.ts b/src/app/shared/search/search-settings/themed-search-settings.component.ts index b1f1d08264..ab6f62d56e 100644 --- a/src/app/shared/search/search-settings/themed-search-settings.component.ts +++ b/src/app/shared/search/search-settings/themed-search-settings.component.ts @@ -1,7 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; + +import { SortOptions } from '../../../core/cache/models/sort-options.model'; import { ThemedComponent } from '../../theme-support/themed.component'; import { SearchSettingsComponent } from './search-settings.component'; -import { SortOptions } from '../../../core/cache/models/sort-options.model'; /** * Themed wrapper for SearchSettingsComponent diff --git a/src/app/shared/search/search-sidebar/search-sidebar.component.spec.ts b/src/app/shared/search/search-sidebar/search-sidebar.component.spec.ts index a16387cf51..472b249962 100644 --- a/src/app/shared/search/search-sidebar/search-sidebar.component.spec.ts +++ b/src/app/shared/search/search-sidebar/search-sidebar.component.spec.ts @@ -1,9 +1,14 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { SearchSidebarComponent } from './search-sidebar.component'; -import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; -import { By } from '@angular/platform-browser'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SearchSidebarComponent } from './search-sidebar.component'; describe('SearchSidebarComponent', () => { let comp: SearchSidebarComponent; diff --git a/src/app/shared/search/search-sidebar/search-sidebar.component.ts b/src/app/shared/search/search-sidebar/search-sidebar.component.ts index 929f819ca3..23a9e1d012 100644 --- a/src/app/shared/search/search-sidebar/search-sidebar.component.ts +++ b/src/app/shared/search/search-sidebar/search-sidebar.component.ts @@ -1,12 +1,20 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; -import { SearchConfigurationOption } from '../search-switch-configuration/search-configuration-option.model'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { ViewMode } from '../../../core/shared/view-mode.model'; import { RemoteData } from '../../../core/data/remote-data'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; import { SearchFilterConfig } from '../models/search-filter-config.model'; +import { SearchConfigurationOption } from '../search-switch-configuration/search-configuration-option.model'; /** * This component renders a simple item page. diff --git a/src/app/shared/search/search-sidebar/themed-search-sidebar.component.ts b/src/app/shared/search/search-sidebar/themed-search-sidebar.component.ts index 935f797532..449438ef51 100644 --- a/src/app/shared/search/search-sidebar/themed-search-sidebar.component.ts +++ b/src/app/shared/search/search-sidebar/themed-search-sidebar.component.ts @@ -1,13 +1,22 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { ThemedComponent } from '../../theme-support/themed.component'; -import { SearchSidebarComponent } from './search-sidebar.component'; -import { SearchConfigurationOption } from '../search-switch-configuration/search-configuration-option.model'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; + import { SortOptions } from '../../../core/cache/models/sort-options.model'; -import { ViewMode } from '../../../core/shared/view-mode.model'; -import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; -import { BehaviorSubject, Observable } from 'rxjs'; import { RemoteData } from '../../../core/data/remote-data'; +import { ViewMode } from '../../../core/shared/view-mode.model'; +import { ThemedComponent } from '../../theme-support/themed.component'; +import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; import { SearchFilterConfig } from '../models/search-filter-config.model'; +import { SearchConfigurationOption } from '../search-switch-configuration/search-configuration-option.model'; +import { SearchSidebarComponent } from './search-sidebar.component'; /** * Themed wrapper for SearchSidebarComponent diff --git a/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.spec.ts b/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.spec.ts index 79a731f217..094e95fd8e 100644 --- a/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.spec.ts +++ b/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.spec.ts @@ -1,19 +1,31 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { + NavigationExtras, + Router, +} from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { SearchSwitchConfigurationComponent } from './search-switch-configuration.component'; -import { NavigationExtras, Router } from '@angular/router'; -import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; -import { RouterStub } from '../../testing/router.stub'; -import { SearchService } from '../../../core/shared/search/search.service'; -import { MYDSPACE_ROUTE, SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; -import { MyDSpaceConfigurationValueType } from '../../../my-dspace-page/my-dspace-configuration-value-type'; -import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; import { Context } from '../../../core/shared/context.model'; +import { SearchService } from '../../../core/shared/search/search.service'; +import { MyDSpaceConfigurationValueType } from '../../../my-dspace-page/my-dspace-configuration-value-type'; +import { + MYDSPACE_ROUTE, + SEARCH_CONFIG_SERVICE, +} from '../../../my-dspace-page/my-dspace-page.component'; +import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; +import { RouterStub } from '../../testing/router.stub'; +import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; +import { SearchSwitchConfigurationComponent } from './search-switch-configuration.component'; describe('SearchSwitchConfigurationComponent', () => { diff --git a/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.ts b/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.ts index 0e1b4f221b..7e536b0b48 100644 --- a/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.ts +++ b/src/app/shared/search/search-switch-configuration/search-switch-configuration.component.ts @@ -1,16 +1,26 @@ -import { Component, EventEmitter, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core'; -import { NavigationExtras, Router } from '@angular/router'; - +import { + Component, + EventEmitter, + Inject, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { + NavigationExtras, + Router, +} from '@angular/router'; +import findIndex from 'lodash/findIndex'; import { Subscription } from 'rxjs'; -import { hasValue } from '../../empty.util'; -import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; +import { SearchService } from '../../../core/shared/search/search.service'; import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { MyDSpaceConfigurationValueType } from '../../../my-dspace-page/my-dspace-configuration-value-type'; -import { SearchConfigurationOption } from './search-configuration-option.model'; -import { SearchService } from '../../../core/shared/search/search.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; +import { hasValue } from '../../empty.util'; import { currentPath } from '../../utils/route.utils'; -import findIndex from 'lodash/findIndex'; +import { SearchConfigurationOption } from './search-configuration-option.model'; @Component({ selector: 'ds-search-switch-configuration', diff --git a/src/app/shared/search/search.component.spec.ts b/src/app/shared/search/search.component.spec.ts index 35f7799fbd..29c0095bbc 100644 --- a/src/app/shared/search/search.component.spec.ts +++ b/src/app/shared/search/search.component.spec.ts @@ -1,38 +1,60 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; - -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { ActivatedRoute } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; +import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; -import { BehaviorSubject, Observable, of as observableOf } from 'rxjs'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; +import { + BehaviorSubject, + Observable, + of as observableOf, +} from 'rxjs'; + +import { getCollectionPageRoute } from '../../collection-page/collection-page-routing-paths'; +import { getCommunityPageRoute } from '../../community-page/community-page-routing-paths'; +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { CommunityDataService } from '../../core/data/community-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { RouteService } from '../../core/services/route.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Item } from '../../core/shared/item.model'; +import { SearchService } from '../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { SearchFilterService } from '../../core/shared/search/search-filter.service'; +import { + SearchConfig, + SortConfig, +} from '../../core/shared/search/search-filters/search-config.model'; +import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; import { HostWindowService } from '../host-window.service'; import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { SearchComponent } from './search.component'; -import { SearchService } from '../../core/shared/search/search.service'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { ActivatedRoute } from '@angular/router'; -import { By } from '@angular/platform-browser'; -import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; import { SidebarService } from '../sidebar/sidebar.service'; -import { SearchFilterService } from '../../core/shared/search/search-filter.service'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; -import { RouteService } from '../../core/services/route.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { PaginatedSearchOptions } from './models/paginated-search-options.model'; import { SidebarServiceStub } from '../testing/sidebar-service.stub'; -import { SearchConfig, SortConfig } from '../../core/shared/search/search-filters/search-config.model'; -import { Item } from '../../core/shared/item.model'; -import { RemoteData } from '../../core/data/remote-data'; -import { SearchObjects } from './models/search-objects.model'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { SearchFilterConfig } from './models/search-filter-config.model'; import { FilterType } from './models/filter-type.model'; -import { getCommunityPageRoute } from '../../community-page/community-page-routing-paths'; -import { getCollectionPageRoute } from '../../collection-page/collection-page-routing-paths'; +import { PaginatedSearchOptions } from './models/paginated-search-options.model'; +import { SearchFilterConfig } from './models/search-filter-config.model'; +import { SearchObjects } from './models/search-objects.model'; +import { SearchComponent } from './search.component'; let comp: SearchComponent; let fixture: ComponentFixture; diff --git a/src/app/shared/search/search.component.ts b/src/app/shared/search/search.component.ts index 847340b135..9e93597507 100644 --- a/src/app/shared/search/search.component.ts +++ b/src/app/shared/search/search.component.ts @@ -1,43 +1,68 @@ -import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core'; -import { NavigationStart, Router } from '@angular/router'; - -import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'; -import { debounceTime, distinctUntilChanged, filter, map, switchMap } from 'rxjs/operators'; +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + Inject, + Input, + OnInit, + Output, +} from '@angular/core'; +import { + NavigationStart, + Router, +} from '@angular/router'; import uniqueId from 'lodash/uniqueId'; - -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { RemoteData } from '../../core/data/remote-data'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { pushInOut } from '../animations/push'; -import { HostWindowService } from '../host-window.service'; -import { SidebarService } from '../sidebar/sidebar.service'; -import { hasValue, hasValueOperator, isNotEmpty } from '../empty.util'; -import { RouteService } from '../../core/services/route.service'; -import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; -import { PaginatedSearchOptions } from './models/paginated-search-options.model'; -import { SearchResult } from './models/search-result.model'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { SearchService } from '../../core/shared/search/search.service'; -import { currentPath } from '../utils/route.utils'; -import { Context } from '../../core/shared/context.model'; -import { SortOptions } from '../../core/cache/models/sort-options.model'; -import { SearchConfig } from '../../core/shared/search/search-filters/search-config.model'; -import { SearchConfigurationOption } from './search-switch-configuration/search-configuration-option.model'; -import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { followLink } from '../utils/follow-link-config.model'; -import { Item } from '../../core/shared/item.model'; -import { SearchObjects } from './models/search-objects.model'; -import { ViewMode } from '../../core/shared/view-mode.model'; -import { SelectionConfig } from './search-results/search-results.component'; -import { ListableObject } from '../object-collection/shared/listable-object.model'; -import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; +import { + BehaviorSubject, + combineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + debounceTime, + distinctUntilChanged, + filter, + map, + switchMap, +} from 'rxjs/operators'; import { environment } from 'src/environments/environment'; -import { SubmissionObject } from '../../core/submission/models/submission-object.model'; -import { SearchFilterConfig } from './models/search-filter-config.model'; + import { WorkspaceItem } from '../..//core/submission/models/workspaceitem.model'; -import { ITEM_MODULE_PATH } from '../../item-page/item-page-routing-paths'; import { COLLECTION_MODULE_PATH } from '../../collection-page/collection-page-routing-paths'; import { COMMUNITY_MODULE_PATH } from '../../community-page/community-page-routing-paths'; +import { SortOptions } from '../../core/cache/models/sort-options.model'; +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { RouteService } from '../../core/services/route.service'; +import { Context } from '../../core/shared/context.model'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Item } from '../../core/shared/item.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { SearchService } from '../../core/shared/search/search.service'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { SearchConfig } from '../../core/shared/search/search-filters/search-config.model'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { SubmissionObject } from '../../core/submission/models/submission-object.model'; +import { ITEM_MODULE_PATH } from '../../item-page/item-page-routing-paths'; +import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component'; +import { pushInOut } from '../animations/push'; +import { + hasValue, + hasValueOperator, + isNotEmpty, +} from '../empty.util'; +import { HostWindowService } from '../host-window.service'; +import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; +import { ListableObject } from '../object-collection/shared/listable-object.model'; +import { SidebarService } from '../sidebar/sidebar.service'; +import { followLink } from '../utils/follow-link-config.model'; +import { currentPath } from '../utils/route.utils'; +import { PaginatedSearchOptions } from './models/paginated-search-options.model'; +import { SearchFilterConfig } from './models/search-filter-config.model'; +import { SearchObjects } from './models/search-objects.model'; +import { SearchResult } from './models/search-result.model'; +import { SelectionConfig } from './search-results/search-results.component'; +import { SearchConfigurationOption } from './search-switch-configuration/search-configuration-option.model'; @Component({ selector: 'ds-search', diff --git a/src/app/shared/search/search.module.ts b/src/app/shared/search/search.module.ts index be490ec2e3..9ede1d80c4 100644 --- a/src/app/shared/search/search.module.ts +++ b/src/app/shared/search/search.module.ts @@ -1,39 +1,43 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { SearchSwitchConfigurationComponent } from './search-switch-configuration/search-switch-configuration.component'; -import { SearchFiltersComponent } from './search-filters/search-filters.component'; -import { SearchFilterComponent } from './search-filters/search-filter/search-filter.component'; -import { SearchFacetFilterComponent } from './search-filters/search-filter/search-facet-filter/search-facet-filter.component'; -import { SearchLabelsComponent } from './search-labels/search-labels.component'; -import { SearchLabelComponent } from './search-labels/search-label/search-label.component'; -import { SearchFacetFilterWrapperComponent } from './search-filters/search-filter/search-facet-filter-wrapper/search-facet-filter-wrapper.component'; -import { SearchRangeFilterComponent } from './search-filters/search-filter/search-range-filter/search-range-filter.component'; -import { SearchTextFilterComponent } from './search-filters/search-filter/search-text-filter/search-text-filter.component'; -import { SearchHierarchyFilterComponent } from './search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component'; -import { SearchBooleanFilterComponent } from './search-filters/search-filter/search-boolean-filter/search-boolean-filter.component'; -import { SearchFacetOptionComponent } from './search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component'; -import { SearchFacetSelectedOptionComponent } from './search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component'; -import { SearchFacetRangeOptionComponent } from './search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component'; -import { SearchAuthorityFilterComponent } from './search-filters/search-filter/search-authority-filter/search-authority-filter.component'; -import { SearchSidebarComponent } from './search-sidebar/search-sidebar.component'; -import { SearchSettingsComponent } from './search-settings/search-settings.component'; +import { NgModule } from '@angular/core'; +import { + MissingTranslationHandler, + TranslateModule, +} from '@ngx-translate/core'; +import { NouisliderModule } from 'ng2-nouislider'; + import { ConfigurationSearchPageComponent } from '../../search-page/configuration-search-page.component'; import { ThemedConfigurationSearchPageComponent } from '../../search-page/themed-configuration-search-page.component'; -import { SearchObjects } from './models/search-objects.model'; +import { SharedModule } from '../shared.module'; +import { MissingTranslationHelper } from '../translate/missing-translation.helper'; import { FacetConfigResponse } from './models/facet-config-response.model'; import { FacetValues } from './models/facet-values.model'; +import { SearchObjects } from './models/search-objects.model'; import { SearchResult } from './models/search-result.model'; -import { MissingTranslationHandler, TranslateModule } from '@ngx-translate/core'; -import { MissingTranslationHelper } from '../translate/missing-translation.helper'; -import { SharedModule } from '../shared.module'; -import { SearchResultsComponent } from './search-results/search-results.component'; import { SearchComponent } from './search.component'; -import { ThemedSearchComponent } from './themed-search.component'; -import { ThemedSearchResultsComponent } from './search-results/themed-search-results.component'; -import { ThemedSearchSettingsComponent } from './search-settings/themed-search-settings.component'; -import { NouisliderModule } from 'ng2-nouislider'; +import { SearchAuthorityFilterComponent } from './search-filters/search-filter/search-authority-filter/search-authority-filter.component'; +import { SearchBooleanFilterComponent } from './search-filters/search-filter/search-boolean-filter/search-boolean-filter.component'; +import { SearchFacetFilterComponent } from './search-filters/search-filter/search-facet-filter/search-facet-filter.component'; +import { SearchFacetOptionComponent } from './search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component'; +import { SearchFacetRangeOptionComponent } from './search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component'; +import { SearchFacetSelectedOptionComponent } from './search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component'; +import { SearchFacetFilterWrapperComponent } from './search-filters/search-filter/search-facet-filter-wrapper/search-facet-filter-wrapper.component'; +import { SearchFilterComponent } from './search-filters/search-filter/search-filter.component'; +import { SearchHierarchyFilterComponent } from './search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component'; +import { SearchRangeFilterComponent } from './search-filters/search-filter/search-range-filter/search-range-filter.component'; +import { SearchTextFilterComponent } from './search-filters/search-filter/search-text-filter/search-text-filter.component'; +import { SearchFiltersComponent } from './search-filters/search-filters.component'; import { ThemedSearchFiltersComponent } from './search-filters/themed-search-filters.component'; +import { SearchLabelComponent } from './search-labels/search-label/search-label.component'; +import { SearchLabelsComponent } from './search-labels/search-labels.component'; +import { SearchResultsComponent } from './search-results/search-results.component'; +import { ThemedSearchResultsComponent } from './search-results/themed-search-results.component'; +import { SearchSettingsComponent } from './search-settings/search-settings.component'; +import { ThemedSearchSettingsComponent } from './search-settings/themed-search-settings.component'; +import { SearchSidebarComponent } from './search-sidebar/search-sidebar.component'; import { ThemedSearchSidebarComponent } from './search-sidebar/themed-search-sidebar.component'; +import { SearchSwitchConfigurationComponent } from './search-switch-configuration/search-switch-configuration.component'; +import { ThemedSearchComponent } from './themed-search.component'; const COMPONENTS = [ SearchComponent, diff --git a/src/app/shared/search/search.utils.ts b/src/app/shared/search/search.utils.ts index cfb96a5285..86cc88cde0 100644 --- a/src/app/shared/search/search.utils.ts +++ b/src/app/shared/search/search.utils.ts @@ -1,6 +1,6 @@ +import { isNotEmpty } from '../empty.util'; import { FacetValue } from './models/facet-value.model'; import { SearchFilterConfig } from './models/search-filter-config.model'; -import { isNotEmpty } from '../empty.util'; /** * Get a facet's value by matching its parameter in the search href, this will include the operator of the facet value diff --git a/src/app/shared/search/themed-search.component.ts b/src/app/shared/search/themed-search.component.ts index fe531e4f0f..c40da3de83 100644 --- a/src/app/shared/search/themed-search.component.ts +++ b/src/app/shared/search/themed-search.component.ts @@ -1,14 +1,20 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { ThemedComponent } from '../theme-support/themed.component'; -import { SearchComponent } from './search.component'; -import { SearchConfigurationOption } from './search-switch-configuration/search-configuration-option.model'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; + import { Context } from '../../core/shared/context.model'; -import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; -import { SelectionConfig } from './search-results/search-results.component'; -import { ViewMode } from '../../core/shared/view-mode.model'; -import { SearchObjects } from './models/search-objects.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { ViewMode } from '../../core/shared/view-mode.model'; +import { CollectionElementLinkType } from '../object-collection/collection-element-link.type'; import { ListableObject } from '../object-collection/shared/listable-object.model'; +import { ThemedComponent } from '../theme-support/themed.component'; +import { SearchObjects } from './models/search-objects.model'; +import { SearchComponent } from './search.component'; +import { SelectionConfig } from './search-results/search-results.component'; +import { SearchConfigurationOption } from './search-switch-configuration/search-configuration-option.model'; /** * Themed wrapper for {@link SearchComponent} diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index 24787a3b43..13752b595f 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -1,8 +1,11 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { RouterModule } from '@angular/router'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { DragDropModule } from '@angular/cdk/drag-drop'; +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { RouterModule } from '@angular/router'; import { NgbDropdownModule, NgbNavModule, @@ -10,280 +13,172 @@ import { NgbTooltipModule, NgbTypeaheadModule, } from '@ng-bootstrap/ng-bootstrap'; -import { MissingTranslationHandler, TranslateModule } from '@ngx-translate/core'; +import { + MissingTranslationHandler, + TranslateModule, +} from '@ngx-translate/core'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; -import { ConfirmationModalComponent } from './confirmation-modal/confirmation-modal.component'; -import { - ExportMetadataSelectorComponent, -} from './dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component'; -import { - ExportBatchSelectorComponent, -} from './dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component'; -import { - ImportBatchSelectorComponent, -} from './dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component'; -import { ItemListElementComponent } from './object-list/item-list-element/item-types/item/item-list-element.component'; -import { EnumKeysPipe } from './utils/enum-keys-pipe'; -import { FileSizePipe } from './utils/file-size-pipe'; -import { MetadataFieldValidator } from './utils/metadatafield-validator.directive'; -import { SafeUrlPipe } from './utils/safe-url-pipe'; -import { ConsolePipe } from './utils/console.pipe'; -import { - CollectionListElementComponent, -} from './object-list/collection-list-element/collection-list-element.component'; -import { CommunityListElementComponent } from './object-list/community-list-element/community-list-element.component'; -import { - SearchResultListElementComponent, -} from './object-list/search-result-list-element/search-result-list-element.component'; -import { ObjectListComponent } from './object-list/object-list.component'; -import { ThemedObjectListComponent } from './object-list/themed-object-list.component'; -import { - CollectionGridElementComponent, -} from './object-grid/collection-grid-element/collection-grid-element.component'; -import { CommunityGridElementComponent } from './object-grid/community-grid-element/community-grid-element.component'; -import { - AbstractListableElementComponent, -} from './object-collection/shared/object-collection-element/abstract-listable-element.component'; -import { ObjectGridComponent } from './object-grid/object-grid.component'; -import { ObjectCollectionComponent } from './object-collection/object-collection.component'; -import { ErrorComponent } from './error/error.component'; -import { LoadingComponent } from './loading/loading.component'; -import { PaginationComponent } from './pagination/pagination.component'; -import { ThumbnailComponent } from '../thumbnail/thumbnail.component'; -import { ThemedThumbnailComponent } from '../thumbnail/themed-thumbnail.component'; -import { SearchFormComponent } from './search-form/search-form.component'; -import { ThemedSearchFormComponent } from './search-form/themed-search-form.component'; -import { - SearchResultGridElementComponent, -} from './object-grid/search-result-grid-element/search-result-grid-element.component'; -import { ViewModeSwitchComponent } from './view-mode-switch/view-mode-switch.component'; -import { VarDirective } from './utils/var.directive'; -import { AuthNavMenuComponent } from './auth-nav-menu/auth-nav-menu.component'; -import { ThemedAuthNavMenuComponent } from './auth-nav-menu/themed-auth-nav-menu.component'; -import { LogOutComponent } from './log-out/log-out.component'; -import { DragClickDirective } from './utils/drag-click.directive'; -import { TruncatePipe } from './utils/truncate.pipe'; -import { TruncatableComponent } from './truncatable/truncatable.component'; -import { TruncatableService } from './truncatable/truncatable.service'; -import { TruncatablePartComponent } from './truncatable/truncatable-part/truncatable-part.component'; -import { MockAdminGuard } from './mocks/admin-guard.service.mock'; -import { AlertComponent } from './alert/alert.component'; -import { - SearchResultDetailElementComponent, -} from './object-detail/my-dspace-result-detail-element/search-result-detail-element.component'; -import { ObjectDetailComponent } from './object-detail/object-detail.component'; -import { ObjNgFor } from './utils/object-ngfor.pipe'; -import { - BrowseEntryListElementComponent, -} from './object-list/browse-entry-list-element/browse-entry-list-element.component'; -import { DebounceDirective } from './utils/debounce.directive'; -import { ClickOutsideDirective } from './utils/click-outside.directive'; -import { EmphasizePipe } from './utils/emphasize.pipe'; -import { InputSuggestionsComponent } from './input-suggestions/input-suggestions.component'; -import { CapitalizePipe } from './utils/capitalize.pipe'; -import { ObjectKeysPipe } from './utils/object-keys-pipe'; -import { LangSwitchComponent } from './lang-switch/lang-switch.component'; -import { - PlainTextMetadataListElementComponent, -} from './object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component'; -import { - BrowseLinkMetadataListElementComponent, -} from './object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component'; -import { - ItemMetadataListElementComponent, -} from './object-list/metadata-representation-list-element/item/item-metadata-list-element.component'; -import { - MetadataRepresentationListElementComponent, -} from './object-list/metadata-representation-list-element/metadata-representation-list-element.component'; -import { ObjectValuesPipe } from './utils/object-values-pipe'; -import { InListValidator } from './utils/in-list-validator.directive'; -import { AutoFocusDirective } from './utils/auto-focus.directive'; -import { StartsWithDateComponent } from './starts-with/date/starts-with-date.component'; -import { StartsWithTextComponent } from './starts-with/text/starts-with-text.component'; -import { DSOSelectorComponent } from './dso-selector/dso-selector/dso-selector.component'; -import { - CreateCommunityParentSelectorComponent, -} from './dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; -import { - ThemedCreateCommunityParentSelectorComponent, -} from './dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component'; -import { - CreateItemParentSelectorComponent, -} from './dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; -import { - ThemedCreateItemParentSelectorComponent, -} from './dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component'; -import { - CreateCollectionParentSelectorComponent, -} from './dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; -import { - ThemedCreateCollectionParentSelectorComponent, -} from './dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component'; -import { - CommunitySearchResultListElementComponent, -} from './object-list/search-result-list-element/community-search-result/community-search-result-list-element.component'; -import { - CollectionSearchResultListElementComponent, -} from './object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component'; -import { - EditItemSelectorComponent, -} from './dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; -import { - ThemedEditItemSelectorComponent, -} from './dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component'; -import { - EditCommunitySelectorComponent, -} from './dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; -import { - ThemedEditCommunitySelectorComponent, -} from './dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component'; -import { - EditCollectionSelectorComponent, -} from './dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; -import { - ThemedEditCollectionSelectorComponent, -} from './dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component'; -import { RoleDirective } from './roles/role.directive'; -import { UserMenuComponent } from './auth-nav-menu/user-menu/user-menu.component'; -import { - CollectionSearchResultGridElementComponent, -} from './object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component'; -import { - CommunitySearchResultGridElementComponent, -} from './object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component'; -import { PageSizeSelectorComponent } from './page-size-selector/page-size-selector.component'; -import { AbstractTrackableComponent } from './trackable/abstract-trackable.component'; -import { - ComcolMetadataComponent, -} from './comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component'; -import { ItemSelectComponent } from './object-select/item-select/item-select.component'; -import { CollectionSelectComponent } from './object-select/collection-select/collection-select.component'; -import { - FilterInputSuggestionsComponent, -} from './input-suggestions/filter-suggestions/filter-input-suggestions.component'; -import { - DsoInputSuggestionsComponent, -} from './input-suggestions/dso-input-suggestions/dso-input-suggestions.component'; -import { ItemGridElementComponent } from './object-grid/item-grid-element/item-types/item/item-grid-element.component'; -import { TypeBadgeComponent } from './object-collection/shared/badges/type-badge/type-badge.component'; -import { AccessStatusBadgeComponent } from './object-collection/shared/badges/access-status-badge/access-status-badge.component'; -import { - MetadataRepresentationLoaderComponent, -} from './metadata-representation/metadata-representation-loader.component'; -import { MetadataRepresentationDirective } from './metadata-representation/metadata-representation.directive'; -import { - ListableObjectComponentLoaderComponent, -} from './object-collection/shared/listable-object/listable-object-component-loader.component'; -import { - ItemSearchResultListElementComponent, -} from './object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; -import { ListableObjectDirective } from './object-collection/shared/listable-object/listable-object.directive'; -import { - ItemMetadataRepresentationListElementComponent, -} from './object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component'; -import { PageWithSidebarComponent } from './sidebar/page-with-sidebar.component'; -import { SidebarDropdownComponent } from './sidebar/sidebar-dropdown.component'; -import { - SelectableListItemControlComponent, -} from './object-collection/shared/selectable-list-item-control/selectable-list-item-control.component'; -import { - ImportableListItemControlComponent, -} from './object-collection/shared/importable-list-item-control/importable-list-item-control.component'; -import { LogInContainerComponent } from './log-in/container/log-in-container.component'; -import { LogInPasswordComponent } from './log-in/methods/password/log-in-password.component'; -import { LogInComponent } from './log-in/log-in.component'; -import { MissingTranslationHelper } from './translate/missing-translation.helper'; -import { FileValidator } from './utils/require-file.validator'; -import { FileValueAccessorDirective } from './utils/file-value-accessor.directive'; -import { - ModifyItemOverviewComponent, -} from '../item-page/edit-item-page/modify-item-overview/modify-item-overview.component'; -import { ClaimedTaskActionsDirective } from './mydspace-actions/claimed-task/switcher/claimed-task-actions.directive'; -import { ImpersonateNavbarComponent } from './impersonate-navbar/impersonate-navbar.component'; -import { NgForTrackByIdDirective } from './ng-for-track-by-id.directive'; -import { FileDownloadLinkComponent } from './file-download-link/file-download-link.component'; -import { ThemedFileDownloadLinkComponent } from './file-download-link/themed-file-download-link.component'; -import { CollectionDropdownComponent } from './collection-dropdown/collection-dropdown.component'; -import { EntityDropdownComponent } from './entity-dropdown/entity-dropdown.component'; +import { NgxPaginationModule } from 'ngx-pagination'; + +import { GoogleRecaptchaModule } from '../core/google-recaptcha/google-recaptcha.module'; import { CurationFormComponent } from '../curation-form/curation-form.component'; -import { - PublicationSidebarSearchListElementComponent, -} from './object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; -import { - SidebarSearchListElementComponent, -} from './object-list/sidebar-search-list-element/sidebar-search-list-element.component'; -import { - CollectionSidebarSearchListElementComponent, -} from './object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component'; -import { - CommunitySidebarSearchListElementComponent, -} from './object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component'; -import { - BundleListElementComponent, -} from './object-list/bundle-list-element/bundle-list-element.component'; -import { - AuthorizedCollectionSelectorComponent, -} from './dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component'; -import { HoverClassDirective } from './hover-class.directive'; -import { - ValidationSuggestionsComponent, -} from './input-suggestions/validation-suggestions/validation-suggestions.component'; -import { - ItemSearchResultGridElementComponent, -} from './object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; +import { ModifyItemOverviewComponent } from '../item-page/edit-item-page/modify-item-overview/modify-item-overview.component'; +import { ItemPageTitleFieldComponent } from '../item-page/simple/field-components/specific-field/title/item-page-title-field.component'; +import { ThemedItemPageTitleFieldComponent } from '../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { SearchNavbarComponent } from '../search-navbar/search-navbar.component'; import { ThemedSearchNavbarComponent } from '../search-navbar/themed-search-navbar.component'; -import { ScopeSelectorModalComponent } from './search-form/scope-selector-modal/scope-selector-modal.component'; -import { DsSelectComponent } from './ds-select/ds-select.component'; +import { ThemedThumbnailComponent } from '../thumbnail/themed-thumbnail.component'; +import { ThumbnailComponent } from '../thumbnail/thumbnail.component'; +import { AlertComponent } from './alert/alert.component'; +import { AuthNavMenuComponent } from './auth-nav-menu/auth-nav-menu.component'; +import { ThemedAuthNavMenuComponent } from './auth-nav-menu/themed-auth-nav-menu.component'; +import { UserMenuComponent } from './auth-nav-menu/user-menu/user-menu.component'; +import { CollectionDropdownComponent } from './collection-dropdown/collection-dropdown.component'; +import { ThemedCollectionDropdownComponent } from './collection-dropdown/themed-collection-dropdown.component'; +import { ComcolMetadataComponent } from './comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component'; +import { ConfirmationModalComponent } from './confirmation-modal/confirmation-modal.component'; import { ContextHelpDirective } from './context-help.directive'; import { ContextHelpWrapperComponent } from './context-help-wrapper/context-help-wrapper.component'; -import { RSSComponent } from './rss-feed/rss.component'; -import { BrowserOnlyPipe } from './utils/browser-only.pipe'; -import { ThemedLoadingComponent } from './loading/themed-loading.component'; -import { SearchExportCsvComponent } from './search/search-export-csv/search-export-csv.component'; -import { - ItemPageTitleFieldComponent, -} from '../item-page/simple/field-components/specific-field/title/item-page-title-field.component'; -import { MarkdownPipe } from './utils/markdown.pipe'; -import { GoogleRecaptchaModule } from '../core/google-recaptcha/google-recaptcha.module'; -import { MenuModule } from './menu/menu.module'; -import { - ListableNotificationObjectComponent, -} from './object-list/listable-notification-object/listable-notification-object.component'; -import { ThemedCollectionDropdownComponent } from './collection-dropdown/themed-collection-dropdown.component'; -import { MetadataFieldWrapperComponent } from './metadata-field-wrapper/metadata-field-wrapper.component'; - -import { StatusBadgeComponent } from './object-collection/shared/badges/status-badge/status-badge.component'; -import { BadgesComponent } from './object-collection/shared/badges/badges.component'; -import { ThemedBadgesComponent } from './object-collection/shared/badges/themed-badges.component'; -import { ThemedStatusBadgeComponent } from './object-collection/shared/badges/status-badge/themed-status-badge.component'; -import { ThemedTypeBadgeComponent } from './object-collection/shared/badges/type-badge/themed-type-badge.component'; -import { ThemedMyDSpaceStatusBadgeComponent } from './object-collection/shared/badges/my-dspace-status-badge/themed-my-dspace-status-badge.component'; -import { ThemedAccessStatusBadgeComponent } from './object-collection/shared/badges/access-status-badge/themed-access-status-badge.component'; -import { MyDSpaceStatusBadgeComponent } from './object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component'; - -import { ShortNumberPipe } from './utils/short-number.pipe'; -import { - LogInExternalProviderComponent, -} from './log-in/methods/log-in-external-provider/log-in-external-provider.component'; -import { - AdvancedClaimedTaskActionSelectReviewerComponent, -} from './mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component'; -import { - AdvancedClaimedTaskActionRatingComponent, -} from './mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component'; -import { ClaimedTaskActionsDeclineTaskComponent } from './mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component'; -import { - DsoPageSubscriptionButtonComponent, -} from './dso-page/dso-page-subscription-button/dso-page-subscription-button.component'; +import { DsSelectComponent } from './ds-select/ds-select.component'; +import { DsoPageSubscriptionButtonComponent } from './dso-page/dso-page-subscription-button/dso-page-subscription-button.component'; +import { AuthorizedCollectionSelectorComponent } from './dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component'; +import { DSOSelectorComponent } from './dso-selector/dso-selector/dso-selector.component'; +import { CreateCollectionParentSelectorComponent } from './dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; +import { ThemedCreateCollectionParentSelectorComponent } from './dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component'; +import { CreateCommunityParentSelectorComponent } from './dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; +import { ThemedCreateCommunityParentSelectorComponent } from './dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component'; +import { CreateItemParentSelectorComponent } from './dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; +import { ThemedCreateItemParentSelectorComponent } from './dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component'; +import { EditCollectionSelectorComponent } from './dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; +import { ThemedEditCollectionSelectorComponent } from './dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component'; +import { EditCommunitySelectorComponent } from './dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; +import { ThemedEditCommunitySelectorComponent } from './dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component'; +import { EditItemSelectorComponent } from './dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; +import { ThemedEditItemSelectorComponent } from './dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component'; +import { ExportBatchSelectorComponent } from './dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component'; +import { ExportMetadataSelectorComponent } from './dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component'; +import { ImportBatchSelectorComponent } from './dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component'; +import { EntityDropdownComponent } from './entity-dropdown/entity-dropdown.component'; import { EpersonGroupListComponent } from './eperson-group-list/eperson-group-list.component'; import { EpersonSearchBoxComponent } from './eperson-group-list/eperson-search-box/eperson-search-box.component'; import { GroupSearchBoxComponent } from './eperson-group-list/group-search-box/group-search-box.component'; -import { - ThemedItemPageTitleFieldComponent, -} from '../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { ErrorComponent } from './error/error.component'; +import { FileDownloadLinkComponent } from './file-download-link/file-download-link.component'; +import { ThemedFileDownloadLinkComponent } from './file-download-link/themed-file-download-link.component'; +import { HoverClassDirective } from './hover-class.directive'; +import { ImpersonateNavbarComponent } from './impersonate-navbar/impersonate-navbar.component'; +import { DsoInputSuggestionsComponent } from './input-suggestions/dso-input-suggestions/dso-input-suggestions.component'; +import { FilterInputSuggestionsComponent } from './input-suggestions/filter-suggestions/filter-input-suggestions.component'; +import { InputSuggestionsComponent } from './input-suggestions/input-suggestions.component'; +import { ValidationSuggestionsComponent } from './input-suggestions/validation-suggestions/validation-suggestions.component'; +import { LangSwitchComponent } from './lang-switch/lang-switch.component'; +import { LoadingComponent } from './loading/loading.component'; +import { ThemedLoadingComponent } from './loading/themed-loading.component'; +import { LogInContainerComponent } from './log-in/container/log-in-container.component'; +import { LogInComponent } from './log-in/log-in.component'; +import { LogInExternalProviderComponent } from './log-in/methods/log-in-external-provider/log-in-external-provider.component'; +import { LogInPasswordComponent } from './log-in/methods/password/log-in-password.component'; +import { LogOutComponent } from './log-out/log-out.component'; +import { MenuModule } from './menu/menu.module'; +import { MetadataFieldWrapperComponent } from './metadata-field-wrapper/metadata-field-wrapper.component'; +import { MetadataRepresentationDirective } from './metadata-representation/metadata-representation.directive'; +import { MetadataRepresentationLoaderComponent } from './metadata-representation/metadata-representation-loader.component'; +import { MockAdminGuard } from './mocks/admin-guard.service.mock'; +import { ClaimedTaskActionsDeclineTaskComponent } from './mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component'; +import { AdvancedClaimedTaskActionRatingComponent } from './mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component'; +import { AdvancedClaimedTaskActionSelectReviewerComponent } from './mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component'; +import { ClaimedTaskActionsDirective } from './mydspace-actions/claimed-task/switcher/claimed-task-actions.directive'; +import { NgForTrackByIdDirective } from './ng-for-track-by-id.directive'; +import { ObjectCollectionComponent } from './object-collection/object-collection.component'; +import { AccessStatusBadgeComponent } from './object-collection/shared/badges/access-status-badge/access-status-badge.component'; +import { ThemedAccessStatusBadgeComponent } from './object-collection/shared/badges/access-status-badge/themed-access-status-badge.component'; +import { BadgesComponent } from './object-collection/shared/badges/badges.component'; +import { MyDSpaceStatusBadgeComponent } from './object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component'; +import { ThemedMyDSpaceStatusBadgeComponent } from './object-collection/shared/badges/my-dspace-status-badge/themed-my-dspace-status-badge.component'; +import { StatusBadgeComponent } from './object-collection/shared/badges/status-badge/status-badge.component'; +import { ThemedStatusBadgeComponent } from './object-collection/shared/badges/status-badge/themed-status-badge.component'; +import { ThemedBadgesComponent } from './object-collection/shared/badges/themed-badges.component'; +import { ThemedTypeBadgeComponent } from './object-collection/shared/badges/type-badge/themed-type-badge.component'; +import { TypeBadgeComponent } from './object-collection/shared/badges/type-badge/type-badge.component'; +import { ImportableListItemControlComponent } from './object-collection/shared/importable-list-item-control/importable-list-item-control.component'; +import { ListableObjectDirective } from './object-collection/shared/listable-object/listable-object.directive'; +import { ListableObjectComponentLoaderComponent } from './object-collection/shared/listable-object/listable-object-component-loader.component'; +import { AbstractListableElementComponent } from './object-collection/shared/object-collection-element/abstract-listable-element.component'; +import { SelectableListItemControlComponent } from './object-collection/shared/selectable-list-item-control/selectable-list-item-control.component'; +import { SearchResultDetailElementComponent } from './object-detail/my-dspace-result-detail-element/search-result-detail-element.component'; +import { ObjectDetailComponent } from './object-detail/object-detail.component'; +import { CollectionGridElementComponent } from './object-grid/collection-grid-element/collection-grid-element.component'; +import { CommunityGridElementComponent } from './object-grid/community-grid-element/community-grid-element.component'; +import { ItemGridElementComponent } from './object-grid/item-grid-element/item-types/item/item-grid-element.component'; +import { ObjectGridComponent } from './object-grid/object-grid.component'; +import { CollectionSearchResultGridElementComponent } from './object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component'; +import { CommunitySearchResultGridElementComponent } from './object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component'; +import { ItemSearchResultGridElementComponent } from './object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; +import { SearchResultGridElementComponent } from './object-grid/search-result-grid-element/search-result-grid-element.component'; import { BitstreamListItemComponent } from './object-list/bitstream-list-item/bitstream-list-item.component'; -import { NgxPaginationModule } from 'ngx-pagination'; +import { BrowseEntryListElementComponent } from './object-list/browse-entry-list-element/browse-entry-list-element.component'; +import { BundleListElementComponent } from './object-list/bundle-list-element/bundle-list-element.component'; +import { CollectionListElementComponent } from './object-list/collection-list-element/collection-list-element.component'; +import { CommunityListElementComponent } from './object-list/community-list-element/community-list-element.component'; +import { ItemListElementComponent } from './object-list/item-list-element/item-types/item/item-list-element.component'; +import { ListableNotificationObjectComponent } from './object-list/listable-notification-object/listable-notification-object.component'; +import { BrowseLinkMetadataListElementComponent } from './object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component'; +import { ItemMetadataListElementComponent } from './object-list/metadata-representation-list-element/item/item-metadata-list-element.component'; +import { ItemMetadataRepresentationListElementComponent } from './object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component'; +import { MetadataRepresentationListElementComponent } from './object-list/metadata-representation-list-element/metadata-representation-list-element.component'; +import { PlainTextMetadataListElementComponent } from './object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component'; +import { ObjectListComponent } from './object-list/object-list.component'; +import { CollectionSearchResultListElementComponent } from './object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component'; +import { CommunitySearchResultListElementComponent } from './object-list/search-result-list-element/community-search-result/community-search-result-list-element.component'; +import { ItemSearchResultListElementComponent } from './object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { SearchResultListElementComponent } from './object-list/search-result-list-element/search-result-list-element.component'; +import { CollectionSidebarSearchListElementComponent } from './object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component'; +import { CommunitySidebarSearchListElementComponent } from './object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component'; +import { PublicationSidebarSearchListElementComponent } from './object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; +import { SidebarSearchListElementComponent } from './object-list/sidebar-search-list-element/sidebar-search-list-element.component'; +import { ThemedObjectListComponent } from './object-list/themed-object-list.component'; +import { CollectionSelectComponent } from './object-select/collection-select/collection-select.component'; +import { ItemSelectComponent } from './object-select/item-select/item-select.component'; +import { PageSizeSelectorComponent } from './page-size-selector/page-size-selector.component'; +import { PaginationComponent } from './pagination/pagination.component'; +import { RoleDirective } from './roles/role.directive'; +import { RSSComponent } from './rss-feed/rss.component'; +import { SearchExportCsvComponent } from './search/search-export-csv/search-export-csv.component'; +import { ScopeSelectorModalComponent } from './search-form/scope-selector-modal/scope-selector-modal.component'; +import { SearchFormComponent } from './search-form/search-form.component'; +import { ThemedSearchFormComponent } from './search-form/themed-search-form.component'; +import { PageWithSidebarComponent } from './sidebar/page-with-sidebar.component'; +import { SidebarDropdownComponent } from './sidebar/sidebar-dropdown.component'; +import { StartsWithDateComponent } from './starts-with/date/starts-with-date.component'; +import { StartsWithTextComponent } from './starts-with/text/starts-with-text.component'; +import { AbstractTrackableComponent } from './trackable/abstract-trackable.component'; +import { MissingTranslationHelper } from './translate/missing-translation.helper'; +import { TruncatableComponent } from './truncatable/truncatable.component'; +import { TruncatableService } from './truncatable/truncatable.service'; +import { TruncatablePartComponent } from './truncatable/truncatable-part/truncatable-part.component'; +import { AutoFocusDirective } from './utils/auto-focus.directive'; +import { BrowserOnlyPipe } from './utils/browser-only.pipe'; +import { CapitalizePipe } from './utils/capitalize.pipe'; +import { ClickOutsideDirective } from './utils/click-outside.directive'; +import { ConsolePipe } from './utils/console.pipe'; +import { DebounceDirective } from './utils/debounce.directive'; +import { DragClickDirective } from './utils/drag-click.directive'; +import { EmphasizePipe } from './utils/emphasize.pipe'; +import { EnumKeysPipe } from './utils/enum-keys-pipe'; +import { FileSizePipe } from './utils/file-size-pipe'; +import { FileValueAccessorDirective } from './utils/file-value-accessor.directive'; +import { InListValidator } from './utils/in-list-validator.directive'; +import { MarkdownPipe } from './utils/markdown.pipe'; +import { MetadataFieldValidator } from './utils/metadatafield-validator.directive'; +import { ObjectKeysPipe } from './utils/object-keys-pipe'; +import { ObjNgFor } from './utils/object-ngfor.pipe'; +import { ObjectValuesPipe } from './utils/object-values-pipe'; +import { FileValidator } from './utils/require-file.validator'; +import { SafeUrlPipe } from './utils/safe-url-pipe'; +import { ShortNumberPipe } from './utils/short-number.pipe'; +import { TruncatePipe } from './utils/truncate.pipe'; +import { VarDirective } from './utils/var.directive'; +import { ViewModeSwitchComponent } from './view-mode-switch/view-mode-switch.component'; const MODULES = [ CommonModule, diff --git a/src/app/shared/sidebar/page-with-sidebar.component.spec.ts b/src/app/shared/sidebar/page-with-sidebar.component.spec.ts index 1f9fbbeae6..fd0614858c 100644 --- a/src/app/shared/sidebar/page-with-sidebar.component.spec.ts +++ b/src/app/shared/sidebar/page-with-sidebar.component.spec.ts @@ -1,13 +1,16 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; -import { PageWithSidebarComponent } from './page-with-sidebar.component'; -import { SidebarService } from './sidebar.service'; import { HostWindowService } from '../host-window.service'; import { SidebarServiceStub } from '../testing/sidebar-service.stub'; +import { PageWithSidebarComponent } from './page-with-sidebar.component'; +import { SidebarService } from './sidebar.service'; describe('PageWithSidebarComponent', () => { let comp: PageWithSidebarComponent; diff --git a/src/app/shared/sidebar/page-with-sidebar.component.ts b/src/app/shared/sidebar/page-with-sidebar.component.ts index 16653f8e23..ad5d28197d 100644 --- a/src/app/shared/sidebar/page-with-sidebar.component.ts +++ b/src/app/shared/sidebar/page-with-sidebar.component.ts @@ -1,10 +1,16 @@ -import { Component, Input, OnInit, TemplateRef } from '@angular/core'; -import { SidebarService } from './sidebar.service'; -import { HostWindowService } from '../host-window.service'; +import { + Component, + Input, + OnInit, + TemplateRef, +} from '@angular/core'; import { Observable } from 'rxjs'; -import { pushInOut } from '../animations/push'; import { map } from 'rxjs/operators'; +import { pushInOut } from '../animations/push'; +import { HostWindowService } from '../host-window.service'; +import { SidebarService } from './sidebar.service'; + @Component({ selector: 'ds-page-with-sidebar', styleUrls: ['./page-with-sidebar.component.scss'], diff --git a/src/app/shared/sidebar/sidebar-dropdown.component.ts b/src/app/shared/sidebar/sidebar-dropdown.component.ts index 471d357e25..26460276fe 100644 --- a/src/app/shared/sidebar/sidebar-dropdown.component.ts +++ b/src/app/shared/sidebar/sidebar-dropdown.component.ts @@ -1,4 +1,9 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; @Component({ selector: 'ds-sidebar-dropdown', diff --git a/src/app/shared/sidebar/sidebar-effects.service.ts b/src/app/shared/sidebar/sidebar-effects.service.ts index bf56137309..e8a0e76357 100644 --- a/src/app/shared/sidebar/sidebar-effects.service.ts +++ b/src/app/shared/sidebar/sidebar-effects.service.ts @@ -1,10 +1,18 @@ -import { map, tap, filter } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { createEffect, Actions, ofType } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; import { ROUTER_NAVIGATION } from '@ngrx/router-store'; +import { + filter, + map, + tap, +} from 'rxjs/operators'; -import { SidebarCollapseAction } from './sidebar.actions'; import { URLBaser } from '../../core/url-baser/url-baser'; +import { SidebarCollapseAction } from './sidebar.actions'; /** * Makes sure that if the user navigates to another route, the sidebar is collapsed diff --git a/src/app/shared/sidebar/sidebar.reducer.spec.ts b/src/app/shared/sidebar/sidebar.reducer.spec.ts index 76962f60c1..9f4c5d6ea8 100644 --- a/src/app/shared/sidebar/sidebar.reducer.spec.ts +++ b/src/app/shared/sidebar/sidebar.reducer.spec.ts @@ -1,8 +1,12 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; +import { + SidebarCollapseAction, + SidebarExpandAction, + SidebarToggleAction, +} from './sidebar.actions'; import { sidebarReducer } from './sidebar.reducer'; -import { SidebarCollapseAction, SidebarExpandAction, SidebarToggleAction } from './sidebar.actions'; class NullAction extends SidebarCollapseAction { type = null; diff --git a/src/app/shared/sidebar/sidebar.reducer.ts b/src/app/shared/sidebar/sidebar.reducer.ts index 0a0cf9ccf1..3630e7af8e 100644 --- a/src/app/shared/sidebar/sidebar.reducer.ts +++ b/src/app/shared/sidebar/sidebar.reducer.ts @@ -1,4 +1,7 @@ -import { SidebarAction, SidebarActionTypes } from './sidebar.actions'; +import { + SidebarAction, + SidebarActionTypes, +} from './sidebar.actions'; /** * Interface that represents the state of the sidebar diff --git a/src/app/shared/sidebar/sidebar.service.spec.ts b/src/app/shared/sidebar/sidebar.service.spec.ts index 3d8e4eef5d..f5c1b5c733 100644 --- a/src/app/shared/sidebar/sidebar.service.spec.ts +++ b/src/app/shared/sidebar/sidebar.service.spec.ts @@ -1,10 +1,17 @@ +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Store } from '@ngrx/store'; -import { SidebarService } from './sidebar.service'; -import { AppState } from '../../app.reducer'; -import { TestBed, waitForAsync } from '@angular/core/testing'; import { of as observableOf } from 'rxjs'; -import { SidebarCollapseAction, SidebarExpandAction } from './sidebar.actions'; + +import { AppState } from '../../app.reducer'; import { HostWindowService } from '../host-window.service'; +import { + SidebarCollapseAction, + SidebarExpandAction, +} from './sidebar.actions'; +import { SidebarService } from './sidebar.service'; describe('SidebarService', () => { let service: SidebarService; diff --git a/src/app/shared/sidebar/sidebar.service.ts b/src/app/shared/sidebar/sidebar.service.ts index b458e8771e..0007cbdbb4 100644 --- a/src/app/shared/sidebar/sidebar.service.ts +++ b/src/app/shared/sidebar/sidebar.service.ts @@ -1,11 +1,22 @@ -import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; import { Injectable } from '@angular/core'; -import { SidebarState } from './sidebar.reducer'; -import { createSelector, select, Store } from '@ngrx/store'; -import { SidebarCollapseAction, SidebarExpandAction } from './sidebar.actions'; +import { + createSelector, + select, + Store, +} from '@ngrx/store'; +import { + combineLatest as observableCombineLatest, + Observable, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + import { AppState } from '../../app.reducer'; import { HostWindowService } from '../host-window.service'; -import { map } from 'rxjs/operators'; +import { + SidebarCollapseAction, + SidebarExpandAction, +} from './sidebar.actions'; +import { SidebarState } from './sidebar.reducer'; const sidebarStateSelector = (state: AppState) => state.sidebar; const sidebarCollapsedSelector = createSelector(sidebarStateSelector, (sidebar: SidebarState) => sidebar.sidebarCollapsed); diff --git a/src/app/shared/starts-with/date/starts-with-date.component.spec.ts b/src/app/shared/starts-with/date/starts-with-date.component.spec.ts index 1b69d97905..61197ed47c 100644 --- a/src/app/shared/starts-with/date/starts-with-date.component.spec.ts +++ b/src/app/shared/starts-with/date/starts-with-date.component.spec.ts @@ -1,18 +1,27 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { of as observableOf } from 'rxjs'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { StartsWithDateComponent } from './starts-with-date.component'; -import { ActivatedRouteStub } from '../../testing/active-router.stub'; -import { EnumKeysPipe } from '../../utils/enum-keys-pipe'; -import { RouterStub } from '../../testing/router.stub'; +import { + ActivatedRoute, + NavigationExtras, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { PaginationService } from '../../../core/pagination/pagination.service'; +import { ActivatedRouteStub } from '../../testing/active-router.stub'; import { PaginationServiceStub } from '../../testing/pagination-service.stub'; +import { RouterStub } from '../../testing/router.stub'; +import { EnumKeysPipe } from '../../utils/enum-keys-pipe'; +import { StartsWithDateComponent } from './starts-with-date.component'; describe('StartsWithDateComponent', () => { let comp: StartsWithDateComponent; diff --git a/src/app/shared/starts-with/date/starts-with-date.component.ts b/src/app/shared/starts-with/date/starts-with-date.component.ts index d871231e86..0049d1a47b 100644 --- a/src/app/shared/starts-with/date/starts-with-date.component.ts +++ b/src/app/shared/starts-with/date/starts-with-date.component.ts @@ -1,10 +1,19 @@ -import { Component, Inject } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + Inject, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; -import { renderStartsWithFor, StartsWithType } from '../starts-with-decorator'; -import { StartsWithAbstractComponent } from '../starts-with-abstract.component'; -import { hasValue } from '../../empty.util'; import { PaginationService } from '../../../core/pagination/pagination.service'; +import { hasValue } from '../../empty.util'; +import { StartsWithAbstractComponent } from '../starts-with-abstract.component'; +import { + renderStartsWithFor, + StartsWithType, +} from '../starts-with-decorator'; /** * A switchable component rendering StartsWith options for the type "Date". diff --git a/src/app/shared/starts-with/starts-with-abstract.component.ts b/src/app/shared/starts-with/starts-with-abstract.component.ts index f7cddd7de6..e637036c23 100644 --- a/src/app/shared/starts-with/starts-with-abstract.component.ts +++ b/src/app/shared/starts-with/starts-with-abstract.component.ts @@ -1,9 +1,21 @@ -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; +import { + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { Subscription } from 'rxjs'; -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; -import { hasValue } from '../empty.util'; + import { PaginationService } from '../../core/pagination/pagination.service'; +import { hasValue } from '../empty.util'; /** * An abstract component to render StartsWith options diff --git a/src/app/shared/starts-with/starts-with-decorator.spec.ts b/src/app/shared/starts-with/starts-with-decorator.spec.ts index 0ba72d8ac4..c5eac51ffc 100644 --- a/src/app/shared/starts-with/starts-with-decorator.spec.ts +++ b/src/app/shared/starts-with/starts-with-decorator.spec.ts @@ -1,4 +1,7 @@ -import { renderStartsWithFor, StartsWithType } from './starts-with-decorator'; +import { + renderStartsWithFor, + StartsWithType, +} from './starts-with-decorator'; describe('BrowseByStartsWithDecorator', () => { const textDecorator = renderStartsWithFor(StartsWithType.text); diff --git a/src/app/shared/starts-with/text/starts-with-text.component.spec.ts b/src/app/shared/starts-with/text/starts-with-text.component.spec.ts index b0deec4f17..bafdcd583a 100644 --- a/src/app/shared/starts-with/text/starts-with-text.component.spec.ts +++ b/src/app/shared/starts-with/text/starts-with-text.component.spec.ts @@ -1,15 +1,23 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute, Router } from '@angular/router'; import { CommonModule } from '@angular/common'; -import { RouterTestingModule } from '@angular/router/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { EnumKeysPipe } from '../../utils/enum-keys-pipe'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { StartsWithTextComponent } from './starts-with-text.component'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + import { PaginationService } from '../../../core/pagination/pagination.service'; import { PaginationServiceStub } from '../../testing/pagination-service.stub'; +import { EnumKeysPipe } from '../../utils/enum-keys-pipe'; +import { StartsWithTextComponent } from './starts-with-text.component'; describe('StartsWithTextComponent', () => { let comp: StartsWithTextComponent; diff --git a/src/app/shared/starts-with/text/starts-with-text.component.ts b/src/app/shared/starts-with/text/starts-with-text.component.ts index d24466ecd0..b4e9fbd7ce 100644 --- a/src/app/shared/starts-with/text/starts-with-text.component.ts +++ b/src/app/shared/starts-with/text/starts-with-text.component.ts @@ -1,7 +1,11 @@ import { Component } from '@angular/core'; -import { renderStartsWithFor, StartsWithType } from '../starts-with-decorator'; -import { StartsWithAbstractComponent } from '../starts-with-abstract.component'; + import { hasValue } from '../../empty.util'; +import { StartsWithAbstractComponent } from '../starts-with-abstract.component'; +import { + renderStartsWithFor, + StartsWithType, +} from '../starts-with-decorator'; /** * A switchable component rendering StartsWith options for the type "Text". diff --git a/src/app/shared/subscriptions/models/subscription.model.ts b/src/app/shared/subscriptions/models/subscription.model.ts index d1978cfea5..cf3ea645dd 100644 --- a/src/app/shared/subscriptions/models/subscription.model.ts +++ b/src/app/shared/subscriptions/models/subscription.model.ts @@ -1,14 +1,21 @@ +import { + autoserialize, + deserialize, + inheritSerialization, +} from 'cerialize'; import { Observable } from 'rxjs'; -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; -import { link, typedObject } from '../../../core/cache/builders/build-decorators'; +import { + link, + typedObject, +} from '../../../core/cache/builders/build-decorators'; +import { RemoteData } from '../../../core/data/remote-data'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { EPERSON } from '../../../core/eperson/models/eperson.resource-type'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { DSPACE_OBJECT } from '../../../core/shared/dspace-object.resource-type'; import { HALLink } from '../../../core/shared/hal-link.model'; import { SUBSCRIPTION } from './subscription.resource-type'; -import { EPerson } from '../../../core/eperson/models/eperson.model'; -import { RemoteData } from '../../../core/data/remote-data'; -import { EPERSON } from '../../../core/eperson/models/eperson.resource-type'; -import { DSPACE_OBJECT } from '../../../core/shared/dspace-object.resource-type'; @typedObject @inheritSerialization(DSpaceObject) diff --git a/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.spec.ts b/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.spec.ts index dff27a328b..b069b1efd1 100644 --- a/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.spec.ts +++ b/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.spec.ts @@ -1,22 +1,42 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { CommonModule } from '@angular/common'; -import { UntypedFormControl, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; -import { NgbActiveModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ReactiveFormsModule, + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { + NgbActiveModal, + NgbModalModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { SubscriptionModalComponent } from './subscription-modal.component'; +import { AuthService } from '../../../core/auth/auth.service'; +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { Item } from '../../../core/shared/item.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; import { NotificationsService } from '../../notifications/notifications.service'; -import { SubscriptionsDataService } from '../subscriptions-data.service'; import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; -import { Item } from '../../../core/shared/item.model'; -import { AuthService } from '../../../core/auth/auth.service'; -import { EPerson } from '../../../core/eperson/models/eperson.model'; -import { PageInfo } from '../../../core/shared/page-info.model'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; -import { By } from '@angular/platform-browser'; -import { subscriptionMock, subscriptionMock2 } from '../../testing/subscriptions-data.mock'; +import { + subscriptionMock, + subscriptionMock2, +} from '../../testing/subscriptions-data.mock'; +import { SubscriptionsDataService } from '../subscriptions-data.service'; +import { SubscriptionModalComponent } from './subscription-modal.component'; describe('SubscriptionModalComponent', () => { let component: SubscriptionModalComponent; diff --git a/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.ts b/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.ts index 32f10ec525..683633ae2a 100644 --- a/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.ts +++ b/src/app/shared/subscriptions/subscription-modal/subscription-modal.component.ts @@ -1,23 +1,47 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; - -import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; - -import { BehaviorSubject, combineLatest, from, shareReplay } from 'rxjs'; -import { map, mergeMap, take, tap } from 'rxjs/operators'; +import { + Component, + EventEmitter, + Input, + OnInit, + Output, +} from '@angular/core'; +import { + UntypedFormBuilder, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { + NgbActiveModal, + NgbModal, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateService } from '@ngx-translate/core'; -import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; import findIndex from 'lodash/findIndex'; +import { + BehaviorSubject, + combineLatest, + from, + shareReplay, +} from 'rxjs'; +import { + map, + mergeMap, + take, + tap, +} from 'rxjs/operators'; -import { Subscription } from '../models/subscription.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { SubscriptionsDataService } from '../subscriptions-data.service'; -import { NotificationsService } from '../../notifications/notifications.service'; +import { AuthService } from '../../../core/auth/auth.service'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { RemoteData } from '../../../core/data/remote-data'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { AuthService } from '../../../core/auth/auth.service'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { + getFirstCompletedRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; import { isNotEmpty } from '../../empty.util'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { NotificationsService } from '../../notifications/notifications.service'; +import { Subscription } from '../models/subscription.model'; +import { SubscriptionsDataService } from '../subscriptions-data.service'; @Component({ selector: 'ds-subscription-modal', diff --git a/src/app/shared/subscriptions/subscription-view/subscription-view.component.spec.ts b/src/app/shared/subscriptions/subscription-view/subscription-view.component.spec.ts index 5336cca0af..acd764c18d 100644 --- a/src/app/shared/subscriptions/subscription-view/subscription-view.component.spec.ts +++ b/src/app/shared/subscriptions/subscription-view/subscription-view.component.spec.ts @@ -1,31 +1,42 @@ -import { ComponentFixture, ComponentFixtureAutoDetect, TestBed } from '@angular/core/testing'; - // Import modules import { CommonModule } from '@angular/common'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + ComponentFixtureAutoDetect, + TestBed, +} from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; - -import { SubscriptionViewComponent } from './subscription-view.component'; - -// Import mocks -import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; -import { findByEPersonAndDsoResEmpty, subscriptionMock } from '../../testing/subscriptions-data.mock'; - -// Import utils -import { NotificationsService } from '../../notifications/notifications.service'; -import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; -import { SubscriptionsDataService } from '../subscriptions-data.service'; -import { Subscription } from '../models/subscription.model'; - +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; import { Item } from '../../../core/shared/item.model'; import { ITEM } from '../../../core/shared/item.resource-type'; +// Import mocks +import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; +// Import utils +import { NotificationsService } from '../../notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; +import { NotificationsServiceStub } from '../../testing/notifications-service.stub'; +import { + findByEPersonAndDsoResEmpty, + subscriptionMock, +} from '../../testing/subscriptions-data.mock'; +import { Subscription } from '../models/subscription.model'; +import { SubscriptionsDataService } from '../subscriptions-data.service'; +import { SubscriptionViewComponent } from './subscription-view.component'; describe('SubscriptionViewComponent', () => { let component: SubscriptionViewComponent; diff --git a/src/app/shared/subscriptions/subscription-view/subscription-view.component.ts b/src/app/shared/subscriptions/subscription-view/subscription-view.component.ts index e34f49f8f3..7208e2247b 100644 --- a/src/app/shared/subscriptions/subscription-view/subscription-view.component.ts +++ b/src/app/shared/subscriptions/subscription-view/subscription-view.component.ts @@ -1,18 +1,25 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { Subscription } from '../models/subscription.model'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; - +import { + Component, + EventEmitter, + Input, + Output, +} from '@angular/core'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; import { take } from 'rxjs/operators'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; -import { hasValue } from '../../empty.util'; -import { ConfirmationModalComponent } from '../../confirmation-modal/confirmation-modal.component'; -import { SubscriptionsDataService } from '../subscriptions-data.service'; -import { getCommunityModuleRoute } from '../../../community-page/community-page-routing-paths'; import { getCollectionModuleRoute } from '../../../collection-page/collection-page-routing-paths'; -import { getItemModuleRoute } from '../../../item-page/item-page-routing-paths'; -import { SubscriptionModalComponent } from '../subscription-modal/subscription-modal.component'; +import { getCommunityModuleRoute } from '../../../community-page/community-page-routing-paths'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { getItemModuleRoute } from '../../../item-page/item-page-routing-paths'; +import { ConfirmationModalComponent } from '../../confirmation-modal/confirmation-modal.component'; +import { hasValue } from '../../empty.util'; +import { Subscription } from '../models/subscription.model'; +import { SubscriptionModalComponent } from '../subscription-modal/subscription-modal.component'; +import { SubscriptionsDataService } from '../subscriptions-data.service'; @Component({ // eslint-disable-next-line @angular-eslint/component-selector diff --git a/src/app/shared/subscriptions/subscriptions-data.service.spec.ts b/src/app/shared/subscriptions/subscriptions-data.service.spec.ts index 9c4c69123d..6876005db4 100644 --- a/src/app/shared/subscriptions/subscriptions-data.service.spec.ts +++ b/src/app/shared/subscriptions/subscriptions-data.service.spec.ts @@ -1,21 +1,25 @@ -import { SubscriptionsDataService } from './subscriptions-data.service'; -import { createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { Subscription } from './models/subscription.model'; -import { DSOChangeAnalyzer } from '../../core/data/dso-change-analyzer.service'; import { HttpClient } from '@angular/common/http'; -import { NotificationsService } from '../notifications/notifications.service'; -import { RequestService } from '../../core/data/request.service'; -import { RemoteDataBuildService } from '../../core/cache/builders/remote-data-build.service'; import { Store } from '@ngrx/store'; -import { ObjectCacheService } from '../../core/cache/object-cache.service'; -import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { getMockRequestService } from '../mocks/request.service.mock'; -import { getMockRemoteDataBuildService } from '../mocks/remote-data-build.service.mock'; +import { RemoteDataBuildService } from '../../core/cache/builders/remote-data-build.service'; +import { ObjectCacheService } from '../../core/cache/object-cache.service'; import { SearchDataImpl } from '../../core/data/base/search-data'; -import { NotificationsServiceStub } from '../testing/notifications-service.stub'; +import { DSOChangeAnalyzer } from '../../core/data/dso-change-analyzer.service'; +import { RequestService } from '../../core/data/request.service'; +import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; +import { getMockRemoteDataBuildService } from '../mocks/remote-data-build.service.mock'; +import { getMockRequestService } from '../mocks/request.service.mock'; +import { NotificationsService } from '../notifications/notifications.service'; +import { + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; import { HALEndpointServiceStub } from '../testing/hal-endpoint-service.stub'; +import { NotificationsServiceStub } from '../testing/notifications-service.stub'; import { createPaginatedList } from '../testing/utils.test'; +import { Subscription } from './models/subscription.model'; +import { SubscriptionsDataService } from './subscriptions-data.service'; describe('SubscriptionsDataService', () => { diff --git a/src/app/shared/subscriptions/subscriptions-data.service.ts b/src/app/shared/subscriptions/subscriptions-data.service.ts index c31f894a57..bc46c86835 100644 --- a/src/app/shared/subscriptions/subscriptions-data.service.ts +++ b/src/app/shared/subscriptions/subscriptions-data.service.ts @@ -1,38 +1,46 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; - import { Store } from '@ngrx/store'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map, switchMap, take } from 'rxjs/operators'; +import { + distinctUntilChanged, + filter, + map, + switchMap, + take, +} from 'rxjs/operators'; +import { sendRequest } from 'src/app/core/shared/request.operators'; - -import { NotificationsService } from '../notifications/notifications.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { RemoteDataBuildService } from '../../core/cache/builders/remote-data-build.service'; import { RequestParam } from '../../core/cache/models/request-param.model'; import { ObjectCacheService } from '../../core/cache/object-cache.service'; +import { dataService } from '../../core/data/base/data-service.decorator'; +import { DeleteDataImpl } from '../../core/data/base/delete-data'; +import { FindAllData } from '../../core/data/base/find-all-data'; +import { IdentifiableDataService } from '../../core/data/base/identifiable-data.service'; +import { SearchDataImpl } from '../../core/data/base/search-data'; import { DSOChangeAnalyzer } from '../../core/data/dso-change-analyzer.service'; +import { FindListOptions } from '../../core/data/find-list-options.model'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; -import { CreateRequest, PutRequest } from '../../core/data/request.models'; -import { FindListOptions } from '../../core/data/find-list-options.model'; -import { RestRequest } from '../../core/data/rest-request.model'; - +import { + CreateRequest, + PutRequest, +} from '../../core/data/request.models'; import { RequestService } from '../../core/data/request.service'; +import { RestRequest } from '../../core/data/rest-request.model'; import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; -import { Subscription } from './models/subscription.model'; -import { dataService } from '../../core/data/base/data-service.decorator'; -import { SUBSCRIPTION } from './models/subscription.resource-type'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { NoContent } from '../../core/shared/NoContent.model'; -import { isNotEmpty, isNotEmptyOperator } from '../empty.util'; - import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { sendRequest } from 'src/app/core/shared/request.operators'; -import { IdentifiableDataService } from '../../core/data/base/identifiable-data.service'; -import { DeleteDataImpl } from '../../core/data/base/delete-data'; -import { SearchDataImpl } from '../../core/data/base/search-data'; -import { FindAllData } from '../../core/data/base/find-all-data'; +import { + isNotEmpty, + isNotEmptyOperator, +} from '../empty.util'; +import { NotificationsService } from '../notifications/notifications.service'; import { followLink } from '../utils/follow-link-config.model'; +import { Subscription } from './models/subscription.model'; +import { SUBSCRIPTION } from './models/subscription.resource-type'; /** * Provides methods to retrieve subscription resources from the REST API related CRUD actions. diff --git a/src/app/shared/subscriptions/subscriptions.module.ts b/src/app/shared/subscriptions/subscriptions.module.ts index ec62bc1dde..bf2cbd8eaa 100644 --- a/src/app/shared/subscriptions/subscriptions.module.ts +++ b/src/app/shared/subscriptions/subscriptions.module.ts @@ -1,13 +1,13 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; - -import { SubscriptionViewComponent } from './subscription-view/subscription-view.component'; -import { SubscriptionModalComponent } from './subscription-modal/subscription-modal.component'; -import { TranslateModule } from '@ngx-translate/core'; import { RouterModule } from '@angular/router'; -import { SharedModule } from '../shared.module'; import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +import { SharedModule } from '../shared.module'; +import { SubscriptionModalComponent } from './subscription-modal/subscription-modal.component'; +import { SubscriptionViewComponent } from './subscription-view/subscription-view.component'; const COMPONENTS = [ SubscriptionViewComponent, diff --git a/src/app/shared/testing/active-router.stub.ts b/src/app/shared/testing/active-router.stub.ts index 28993a9a04..dc20ede4a9 100644 --- a/src/app/shared/testing/active-router.stub.ts +++ b/src/app/shared/testing/active-router.stub.ts @@ -1,7 +1,9 @@ -import { map } from 'rxjs/operators'; -import { convertToParamMap, Params } from '@angular/router'; - +import { + convertToParamMap, + Params, +} from '@angular/router'; import { BehaviorSubject } from 'rxjs'; +import { map } from 'rxjs/operators'; export class ActivatedRouteStub { diff --git a/src/app/shared/testing/auth-request-service.stub.ts b/src/app/shared/testing/auth-request-service.stub.ts index da0469bd6d..aeebc08df4 100644 --- a/src/app/shared/testing/auth-request-service.stub.ts +++ b/src/app/shared/testing/auth-request-service.stub.ts @@ -1,11 +1,15 @@ -import { Observable, of as observableOf } from 'rxjs'; -import { HttpOptions } from '../../core/dspace-rest/dspace-rest.service'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { AuthStatus } from '../../core/auth/models/auth-status.model'; import { AuthTokenInfo } from '../../core/auth/models/auth-token-info.model'; +import { HttpOptions } from '../../core/dspace-rest/dspace-rest.service'; import { EPerson } from '../../core/eperson/models/eperson.model'; import { isNotEmpty } from '../empty.util'; -import { EPersonMock } from './eperson.mock'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; +import { EPersonMock } from './eperson.mock'; export class AuthRequestServiceStub { protected mockUser: EPerson = EPersonMock; diff --git a/src/app/shared/testing/auth-service.stub.ts b/src/app/shared/testing/auth-service.stub.ts index c0dad61bd3..45a1aa9bed 100644 --- a/src/app/shared/testing/auth-service.stub.ts +++ b/src/app/shared/testing/auth-service.stub.ts @@ -1,11 +1,15 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { AuthMethod } from '../../core/auth/models/auth.method'; import { AuthStatus } from '../../core/auth/models/auth-status.model'; import { AuthTokenInfo } from '../../core/auth/models/auth-token-info.model'; -import { EPersonMock } from './eperson.mock'; import { EPerson } from '../../core/eperson/models/eperson.model'; -import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { AuthMethod } from '../../core/auth/models/auth.method'; import { hasValue } from '../empty.util'; +import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; +import { EPersonMock } from './eperson.mock'; export const authMethodsMock = [ new AuthMethod('password'), diff --git a/src/app/shared/testing/authorization-service.stub.ts b/src/app/shared/testing/authorization-service.stub.ts index 253599233e..8e7c0e586f 100644 --- a/src/app/shared/testing/authorization-service.stub.ts +++ b/src/app/shared/testing/authorization-service.stub.ts @@ -1,4 +1,8 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { FeatureID } from '../../core/data/feature-authorization/feature-id'; export class AuthorizationDataServiceStub { diff --git a/src/app/shared/testing/base-data-service.stub.ts b/src/app/shared/testing/base-data-service.stub.ts index f4b6f25923..3df661ba5b 100644 --- a/src/app/shared/testing/base-data-service.stub.ts +++ b/src/app/shared/testing/base-data-service.stub.ts @@ -1,4 +1,8 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { CacheableObject } from '../../core/cache/cacheable-object.model'; /** diff --git a/src/app/shared/testing/bitstream-data-service.stub.ts b/src/app/shared/testing/bitstream-data-service.stub.ts index 5b05109b98..932d20b323 100644 --- a/src/app/shared/testing/bitstream-data-service.stub.ts +++ b/src/app/shared/testing/bitstream-data-service.stub.ts @@ -1,8 +1,12 @@ -import { Bitstream } from '../../core/shared/bitstream.model'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { RemoteData } from '../../core/data/remote-data'; -import { NoContent } from '../../core/shared/NoContent.model'; import { RequestEntryState } from '../../core/data/request-entry-state.model'; +import { Bitstream } from '../../core/shared/bitstream.model'; +import { NoContent } from '../../core/shared/NoContent.model'; export class BitstreamDataServiceStub { diff --git a/src/app/shared/testing/browse-definition-data-service.stub.ts b/src/app/shared/testing/browse-definition-data-service.stub.ts index 5c17c659a6..3bad04b668 100644 --- a/src/app/shared/testing/browse-definition-data-service.stub.ts +++ b/src/app/shared/testing/browse-definition-data-service.stub.ts @@ -1,12 +1,20 @@ -import { EMPTY, Observable, of as observableOf } from 'rxjs'; -import { RemoteData } from '../../core/data/remote-data'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; -import { BrowseDefinition } from '../../core/shared/browse-definition.model'; +import { + EMPTY, + Observable, + of as observableOf, +} from 'rxjs'; + import { BrowseService } from '../../core/browse/browse.service'; -import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; -import { PageInfo } from '../../core/shared/page-info.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { BrowseDefinition } from '../../core/shared/browse-definition.model'; import { FlatBrowseDefinition } from '../../core/shared/flat-browse-definition.model'; +import { PageInfo } from '../../core/shared/page-info.model'; import { ValueListBrowseDefinition } from '../../core/shared/value-list-browse-definition.model'; +import { createSuccessfulRemoteDataObject } from '../remote-data.utils'; // This data is in post-serialized form (metadata -> metadataKeys) export const mockData: BrowseDefinition[] = [ diff --git a/src/app/shared/testing/browser-only-mock.pipe.ts b/src/app/shared/testing/browser-only-mock.pipe.ts index 1ba182f763..129f666bb1 100644 --- a/src/app/shared/testing/browser-only-mock.pipe.ts +++ b/src/app/shared/testing/browser-only-mock.pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; /** * Support dsBrowserOnly in unit tests. diff --git a/src/app/shared/testing/claimed-task-data-service.stub.ts b/src/app/shared/testing/claimed-task-data-service.stub.ts index 3a9f3d852d..610098a337 100644 --- a/src/app/shared/testing/claimed-task-data-service.stub.ts +++ b/src/app/shared/testing/claimed-task-data-service.stub.ts @@ -1,7 +1,11 @@ -import { Observable, EMPTY } from 'rxjs'; -import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; -import { ClaimedTask } from '../../core/tasks/models/claimed-task-object.model'; +import { + EMPTY, + Observable, +} from 'rxjs'; + import { RemoteData } from '../../core/data/remote-data'; +import { ClaimedTask } from '../../core/tasks/models/claimed-task-object.model'; +import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; export class ClaimedTaskDataServiceStub { diff --git a/src/app/shared/testing/css-variable-service.stub.ts b/src/app/shared/testing/css-variable-service.stub.ts index 2f5c647945..b1f1ba6ee2 100644 --- a/src/app/shared/testing/css-variable-service.stub.ts +++ b/src/app/shared/testing/css-variable-service.stub.ts @@ -1,4 +1,8 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { KeyValuePair } from '../key-value-pair.model'; const variables = { diff --git a/src/app/shared/testing/form-event.stub.ts b/src/app/shared/testing/form-event.stub.ts index a5109853d3..6380a4b2ff 100644 --- a/src/app/shared/testing/form-event.stub.ts +++ b/src/app/shared/testing/form-event.stub.ts @@ -1,5 +1,11 @@ -import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; -import { DynamicCheckboxModel, DynamicSelectModel } from '@ng-dynamic-forms/core'; +import { + UntypedFormControl, + UntypedFormGroup, +} from '@angular/forms'; +import { + DynamicCheckboxModel, + DynamicSelectModel, +} from '@ng-dynamic-forms/core'; export const accessConditionChangeEvent = { $event: { diff --git a/src/app/shared/testing/group-mock.ts b/src/app/shared/testing/group-mock.ts index 1c2f818945..0c82dd5afa 100644 --- a/src/app/shared/testing/group-mock.ts +++ b/src/app/shared/testing/group-mock.ts @@ -1,6 +1,6 @@ import { Group } from '../../core/eperson/models/group.model'; -import { EPersonMock } from './eperson.mock'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; +import { EPersonMock } from './eperson.mock'; export const GroupMock2: Group = Object.assign(new Group(), { handle: null, diff --git a/src/app/shared/testing/hal-endpoint-service.stub.ts b/src/app/shared/testing/hal-endpoint-service.stub.ts index 753efcdb5d..f53eecb0bb 100644 --- a/src/app/shared/testing/hal-endpoint-service.stub.ts +++ b/src/app/shared/testing/hal-endpoint-service.stub.ts @@ -1,4 +1,5 @@ import { of as observableOf } from 'rxjs'; + import { hasValue } from '../empty.util'; export class HALEndpointServiceStub { diff --git a/src/app/shared/testing/host-window-service.stub.ts b/src/app/shared/testing/host-window-service.stub.ts index ecb8c26acb..1b864967d3 100644 --- a/src/app/shared/testing/host-window-service.stub.ts +++ b/src/app/shared/testing/host-window-service.stub.ts @@ -1,4 +1,7 @@ -import {of as observableOf, Observable } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; // declare a stub service export class HostWindowServiceStub { diff --git a/src/app/shared/testing/identifiable-data-service.stub.ts b/src/app/shared/testing/identifiable-data-service.stub.ts index cb4957500e..e8928b568d 100644 --- a/src/app/shared/testing/identifiable-data-service.stub.ts +++ b/src/app/shared/testing/identifiable-data-service.stub.ts @@ -1,8 +1,12 @@ +import { + EMPTY, + Observable, +} from 'rxjs'; + import { CacheableObject } from '../../core/cache/cacheable-object.model'; -import { BaseDataServiceStub } from './base-data-service.stub'; -import { FollowLinkConfig } from '../utils/follow-link-config.model'; -import { Observable, EMPTY } from 'rxjs'; import { RemoteData } from '../../core/data/remote-data'; +import { FollowLinkConfig } from '../utils/follow-link-config.model'; +import { BaseDataServiceStub } from './base-data-service.stub'; /** * Stub class for {@link IdentifiableDataService} diff --git a/src/app/shared/testing/menu-service.stub.ts b/src/app/shared/testing/menu-service.stub.ts index 6a6b15cd46..1e7a6737ee 100644 --- a/src/app/shared/testing/menu-service.stub.ts +++ b/src/app/shared/testing/menu-service.stub.ts @@ -1,7 +1,11 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { MenuID } from '../menu/menu-id.model'; import { MenuSection } from '../menu/menu-section.model'; import { MenuState } from '../menu/menu-state.model'; -import { MenuID } from '../menu/menu-id.model'; export class MenuServiceStub { visibleSection1 = { diff --git a/src/app/shared/testing/ng-component-outlet-directive.stub.ts b/src/app/shared/testing/ng-component-outlet-directive.stub.ts index 7b413e7443..796f0fdd32 100644 --- a/src/app/shared/testing/ng-component-outlet-directive.stub.ts +++ b/src/app/shared/testing/ng-component-outlet-directive.stub.ts @@ -1,4 +1,7 @@ -import { Directive, Input } from '@angular/core'; +import { + Directive, + Input, +} from '@angular/core'; /* eslint-disable @angular-eslint/directive-class-suffix */ @Directive({ diff --git a/src/app/shared/testing/object-select-service.stub.ts b/src/app/shared/testing/object-select-service.stub.ts index 4841463913..05f5a509c0 100644 --- a/src/app/shared/testing/object-select-service.stub.ts +++ b/src/app/shared/testing/object-select-service.stub.ts @@ -1,4 +1,7 @@ -import { Observable, of } from 'rxjs'; +import { + Observable, + of, +} from 'rxjs'; export class ObjectSelectServiceStub { diff --git a/src/app/shared/testing/pagination-service.stub.ts b/src/app/shared/testing/pagination-service.stub.ts index 3ea8e732c8..57ce101d33 100644 --- a/src/app/shared/testing/pagination-service.stub.ts +++ b/src/app/shared/testing/pagination-service.stub.ts @@ -1,7 +1,11 @@ import { of as observableOf } from 'rxjs'; -import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; + +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { FindListOptions } from '../../core/data/find-list-options.model'; +import { PaginationComponentOptions } from '../pagination/pagination-component-options.model'; export class PaginationServiceStub { diff --git a/src/app/shared/testing/query-params-directive.stub.ts b/src/app/shared/testing/query-params-directive.stub.ts index 60f76786c7..7c9d1e28d7 100644 --- a/src/app/shared/testing/query-params-directive.stub.ts +++ b/src/app/shared/testing/query-params-directive.stub.ts @@ -1,4 +1,7 @@ -import { Directive, Input } from '@angular/core'; +import { + Directive, + Input, +} from '@angular/core'; /* eslint-disable @angular-eslint/directive-class-suffix */ @Directive({ diff --git a/src/app/shared/testing/request-service.stub.ts b/src/app/shared/testing/request-service.stub.ts index 9add8898df..a0f05f4b50 100644 --- a/src/app/shared/testing/request-service.stub.ts +++ b/src/app/shared/testing/request-service.stub.ts @@ -1,4 +1,7 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; /** * Stub service for {@link RequestService}. diff --git a/src/app/shared/testing/route-service.stub.ts b/src/app/shared/testing/route-service.stub.ts index 1464037490..97d6a65adb 100644 --- a/src/app/shared/testing/route-service.stub.ts +++ b/src/app/shared/testing/route-service.stub.ts @@ -1,4 +1,7 @@ -import { EMPTY, of as observableOf } from 'rxjs'; +import { + EMPTY, + of as observableOf, +} from 'rxjs'; export const routeServiceStub: any = { /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ diff --git a/src/app/shared/testing/router-link-directive.stub.ts b/src/app/shared/testing/router-link-directive.stub.ts index 2357c89225..31132d4cf2 100644 --- a/src/app/shared/testing/router-link-directive.stub.ts +++ b/src/app/shared/testing/router-link-directive.stub.ts @@ -1,4 +1,7 @@ -import { Directive, Input } from '@angular/core'; +import { + Directive, + Input, +} from '@angular/core'; /* eslint-disable @angular-eslint/directive-class-suffix */ @Directive({ diff --git a/src/app/shared/testing/router.stub.ts b/src/app/shared/testing/router.stub.ts index 31bee0b6fe..ac92ae102e 100644 --- a/src/app/shared/testing/router.stub.ts +++ b/src/app/shared/testing/router.stub.ts @@ -1,4 +1,5 @@ import { of as observableOf } from 'rxjs'; + export class RouterStub { url: string; routeReuseStrategy = {shouldReuseRoute: {}}; diff --git a/src/app/shared/testing/search-configuration-service.stub.ts b/src/app/shared/testing/search-configuration-service.stub.ts index 1cb1d089a8..684e40b44c 100644 --- a/src/app/shared/testing/search-configuration-service.stub.ts +++ b/src/app/shared/testing/search-configuration-service.stub.ts @@ -1,6 +1,13 @@ -import { BehaviorSubject, of as observableOf } from 'rxjs'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; + +import { + SortDirection, + SortOptions, +} from '../../core/cache/models/sort-options.model'; import { SearchConfig } from '../../core/shared/search/search-filters/search-config.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; export class SearchConfigurationServiceStub { diff --git a/src/app/shared/testing/search-service.stub.ts b/src/app/shared/testing/search-service.stub.ts index b64fdd1330..18638ff73a 100644 --- a/src/app/shared/testing/search-service.stub.ts +++ b/src/app/shared/testing/search-service.stub.ts @@ -1,4 +1,9 @@ -import {of as observableOf, Observable , BehaviorSubject } from 'rxjs'; +import { + BehaviorSubject, + Observable, + of as observableOf, +} from 'rxjs'; + import { ViewMode } from '../../core/shared/view-mode.model'; export class SearchServiceStub { diff --git a/src/app/shared/testing/special-group.mock.ts b/src/app/shared/testing/special-group.mock.ts index 6e2f45d6e6..6d5f123ffe 100644 --- a/src/app/shared/testing/special-group.mock.ts +++ b/src/app/shared/testing/special-group.mock.ts @@ -1,11 +1,17 @@ import { Observable } from 'rxjs'; -import { EPersonMock } from './eperson.mock'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; -import { Group } from '../../core/eperson/models/group.model'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; +import { Group } from '../../core/eperson/models/group.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; +import { EPersonMock } from './eperson.mock'; export const SpecialGroupMock2: Group = Object.assign(new Group(), { handle: null, diff --git a/src/app/shared/testing/store.mock.ts b/src/app/shared/testing/store.mock.ts index 61294649d6..027200925b 100644 --- a/src/app/shared/testing/store.mock.ts +++ b/src/app/shared/testing/store.mock.ts @@ -1,5 +1,10 @@ import { Injectable } from '@angular/core'; -import { ActionsSubject, ReducerManager, StateObservable, Store } from '@ngrx/store'; +import { + ActionsSubject, + ReducerManager, + StateObservable, + Store, +} from '@ngrx/store'; import { BehaviorSubject } from 'rxjs'; @Injectable() diff --git a/src/app/shared/testing/submission-rest-service.stub.ts b/src/app/shared/testing/submission-rest-service.stub.ts index b6ec9a86a2..677fb05026 100644 --- a/src/app/shared/testing/submission-rest-service.stub.ts +++ b/src/app/shared/testing/submission-rest-service.stub.ts @@ -1,9 +1,9 @@ -import { of as observableOf } from 'rxjs'; import { Store } from '@ngrx/store'; +import { of as observableOf } from 'rxjs'; +import { CoreState } from '../../core/core-state.model'; import { RequestService } from '../../core/data/request.service'; import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; -import { CoreState } from '../../core/core-state.model'; export class SubmissionRestServiceStub { protected linkPath = 'workspaceitems'; diff --git a/src/app/shared/testing/subscriptions-data.mock.ts b/src/app/shared/testing/subscriptions-data.mock.ts index c822249fe0..771f1e38fb 100644 --- a/src/app/shared/testing/subscriptions-data.mock.ts +++ b/src/app/shared/testing/subscriptions-data.mock.ts @@ -1,7 +1,7 @@ import { EPerson } from '../../core/eperson/models/eperson.model'; -import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { Item } from '../../core/shared/item.model'; import { ITEM_TYPE } from '../../core/shared/item-relationships/item-type.resource-type'; +import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; export const mockSubscriptionEperson = Object.assign(new EPerson(), { 'id': 'fake-eperson-id', diff --git a/src/app/shared/testing/supervision-order.mock.ts b/src/app/shared/testing/supervision-order.mock.ts index 4b217a99c5..bc98de0dfb 100644 --- a/src/app/shared/testing/supervision-order.mock.ts +++ b/src/app/shared/testing/supervision-order.mock.ts @@ -1,9 +1,15 @@ -import { Item } from '../../core/shared/item.model'; -import { SupervisionOrder } from '../../core/supervision-order/models/supervision-order.model'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; -import { GroupMock, GroupMock2 } from './group-mock'; import { buildPaginatedList } from '../../core/data/paginated-list.model'; +import { Item } from '../../core/shared/item.model'; import { PageInfo } from '../../core/shared/page-info.model'; +import { SupervisionOrder } from '../../core/supervision-order/models/supervision-order.model'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../remote-data.utils'; +import { + GroupMock, + GroupMock2, +} from './group-mock'; const itemMock = Object.assign(new Item(), { metadata: { diff --git a/src/app/shared/testing/test-module.ts b/src/app/shared/testing/test-module.ts index 1c2aed3c81..181cb34065 100644 --- a/src/app/shared/testing/test-module.ts +++ b/src/app/shared/testing/test-module.ts @@ -1,11 +1,15 @@ import { CommonModule } from '@angular/common'; -import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { + CUSTOM_ELEMENTS_SCHEMA, + NgModule, +} from '@angular/core'; + import { MySimpleItemActionComponent } from '../../item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec'; import { SharedModule } from '../shared.module'; +import { BrowserOnlyMockPipe } from './browser-only-mock.pipe'; import { NgComponentOutletDirectiveStub } from './ng-component-outlet-directive.stub'; import { QueryParamsDirectiveStub } from './query-params-directive.stub'; import { RouterLinkDirectiveStub } from './router-link-directive.stub'; -import { BrowserOnlyMockPipe } from './browser-only-mock.pipe'; /** * This module isn't used. It serves to prevent the AoT compiler diff --git a/src/app/shared/testing/translate-loader.mock.ts b/src/app/shared/testing/translate-loader.mock.ts index 3251de9ea1..ea1ee7528e 100644 --- a/src/app/shared/testing/translate-loader.mock.ts +++ b/src/app/shared/testing/translate-loader.mock.ts @@ -1,5 +1,8 @@ -import {of as observableOf, Observable } from 'rxjs'; import { TranslateLoader } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; export class TranslateLoaderMock implements TranslateLoader { getTranslation(lang: string): Observable { diff --git a/src/app/shared/testing/utils.test.ts b/src/app/shared/testing/utils.test.ts index 30cbd8d244..850d50358c 100644 --- a/src/app/shared/testing/utils.test.ts +++ b/src/app/shared/testing/utils.test.ts @@ -1,10 +1,20 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { of as observableOf, Observable } from 'rxjs'; -import { UnCacheableObject } from '../../core/shared/uncacheable-object.model'; -import { RequestEntryState } from '../../core/data/request-entry-state.model'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RequestEntry } from '../../core/data/request-entry.model'; +import { RequestEntryState } from '../../core/data/request-entry-state.model'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { UnCacheableObject } from '../../core/shared/uncacheable-object.model'; /** * Returns true if a Native Element has a specified css class. diff --git a/src/app/shared/testing/vocabulary-service.stub.ts b/src/app/shared/testing/vocabulary-service.stub.ts index f6a578dd3d..029e7e1f16 100644 --- a/src/app/shared/testing/vocabulary-service.stub.ts +++ b/src/app/shared/testing/vocabulary-service.stub.ts @@ -1,12 +1,18 @@ -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { VocabularyEntry } from '../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; -import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; +import { + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; -import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; +import { PageInfo } from '../../core/shared/page-info.model'; import { Vocabulary } from '../../core/submission/vocabularies/models/vocabulary.model'; +import { VocabularyEntry } from '../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; +import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; export class VocabularyServiceStub { diff --git a/src/app/shared/testing/workflow-action-data-service.stub.ts b/src/app/shared/testing/workflow-action-data-service.stub.ts index 38c764de5a..9cd61d7955 100644 --- a/src/app/shared/testing/workflow-action-data-service.stub.ts +++ b/src/app/shared/testing/workflow-action-data-service.stub.ts @@ -1,9 +1,13 @@ +import { + EMPTY, + Observable, +} from 'rxjs'; + import { FindListOptions } from '../../core/data/find-list-options.model'; -import { FollowLinkConfig } from '../utils/follow-link-config.model'; -import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; -import { Observable, EMPTY } from 'rxjs'; import { RemoteData } from '../../core/data/remote-data'; import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; +import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; +import { FollowLinkConfig } from '../utils/follow-link-config.model'; import { IdentifiableDataServiceStub } from './identifiable-data-service.stub'; /** diff --git a/src/app/shared/theme-support/theme.actions.ts b/src/app/shared/theme-support/theme.actions.ts index dbc885772d..32ba431b1f 100644 --- a/src/app/shared/theme-support/theme.actions.ts +++ b/src/app/shared/theme-support/theme.actions.ts @@ -1,4 +1,5 @@ import { Action } from '@ngrx/store'; + import { type } from '../ngrx/type'; export const ThemeActionTypes = { diff --git a/src/app/shared/theme-support/theme.effects.spec.ts b/src/app/shared/theme-support/theme.effects.spec.ts index 5ee79f62d5..96699498c9 100644 --- a/src/app/shared/theme-support/theme.effects.spec.ts +++ b/src/app/shared/theme-support/theme.effects.spec.ts @@ -1,11 +1,15 @@ -import { ThemeEffects } from './theme.effects'; import { TestBed } from '@angular/core/testing'; -import { provideMockActions } from '@ngrx/effects/testing'; -import { cold, hot } from 'jasmine-marbles'; import { ROOT_EFFECTS_INIT } from '@ngrx/effects'; -import { SetThemeAction } from './theme.actions'; +import { provideMockActions } from '@ngrx/effects/testing'; import { provideMockStore } from '@ngrx/store/testing'; +import { + cold, + hot, +} from 'jasmine-marbles'; + +import { SetThemeAction } from './theme.actions'; import { BASE_THEME_NAME } from './theme.constants'; +import { ThemeEffects } from './theme.effects'; describe('ThemeEffects', () => { let themeEffects: ThemeEffects; diff --git a/src/app/shared/theme-support/theme.effects.ts b/src/app/shared/theme-support/theme.effects.ts index 68e9e4f2f5..f16c6cee70 100644 --- a/src/app/shared/theme-support/theme.effects.ts +++ b/src/app/shared/theme-support/theme.effects.ts @@ -1,10 +1,16 @@ import { Injectable } from '@angular/core'; -import { createEffect, Actions, ofType, ROOT_EFFECTS_INIT } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, + ROOT_EFFECTS_INIT, +} from '@ngrx/effects'; import { map } from 'rxjs/operators'; -import { SetThemeAction } from './theme.actions'; -import { hasValue } from '../empty.util'; -import { BASE_THEME_NAME } from './theme.constants'; + import { getDefaultThemeConfig } from '../../../config/config.util'; +import { hasValue } from '../empty.util'; +import { SetThemeAction } from './theme.actions'; +import { BASE_THEME_NAME } from './theme.constants'; @Injectable() export class ThemeEffects { diff --git a/src/app/shared/theme-support/theme.reducer.ts b/src/app/shared/theme-support/theme.reducer.ts index 86ec4ff410..aa963e4da4 100644 --- a/src/app/shared/theme-support/theme.reducer.ts +++ b/src/app/shared/theme-support/theme.reducer.ts @@ -1,4 +1,7 @@ -import { ThemeAction, ThemeActionTypes } from './theme.actions'; +import { + ThemeAction, + ThemeActionTypes, +} from './theme.actions'; export interface ThemeState { currentTheme: string; diff --git a/src/app/shared/theme-support/theme.service.spec.ts b/src/app/shared/theme-support/theme.service.spec.ts index e455f49bf7..dbb3d19f6c 100644 --- a/src/app/shared/theme-support/theme.service.spec.ts +++ b/src/app/shared/theme-support/theme.service.spec.ts @@ -1,29 +1,37 @@ -import { of as observableOf } from 'rxjs'; +import { + CommonModule, + DOCUMENT, +} from '@angular/common'; import { TestBed } from '@angular/core/testing'; +import { + ActivatedRouteSnapshot, + Router, +} from '@angular/router'; import { provideMockActions } from '@ngrx/effects/testing'; -import { LinkService } from '../../core/cache/builders/link.service'; -import { hot } from 'jasmine-marbles'; -import { SetThemeAction } from './theme.actions'; -import { Theme } from '../../../config/theme.model'; +import { ROUTER_NAVIGATED } from '@ngrx/router-store'; import { provideMockStore } from '@ngrx/store/testing'; -import { Community } from '../../core/shared/community.model'; -import { COMMUNITY } from '../../core/shared/community.resource-type'; -import { NoOpAction } from '../ngrx/no-op.action'; -import { ITEM } from '../../core/shared/item.resource-type'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { Item } from '../../core/shared/item.model'; +import { hot } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; + +import { Theme } from '../../../config/theme.model'; +import { LinkService } from '../../core/cache/builders/link.service'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; import { Collection } from '../../core/shared/collection.model'; import { COLLECTION } from '../../core/shared/collection.resource-type'; +import { Community } from '../../core/shared/community.model'; +import { COMMUNITY } from '../../core/shared/community.resource-type'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Item } from '../../core/shared/item.model'; +import { ITEM } from '../../core/shared/item.resource-type'; +import { RouterMock } from '../mocks/router.mock'; +import { NoOpAction } from '../ngrx/no-op.action'; import { - createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject, + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../remote-data.utils'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { SetThemeAction } from './theme.actions'; import { ThemeService } from './theme.service'; -import { ROUTER_NAVIGATED } from '@ngrx/router-store'; -import { ActivatedRouteSnapshot, Router } from '@angular/router'; -import { CommonModule, DOCUMENT } from '@angular/common'; -import { RouterMock } from '../mocks/router.mock'; /** * LinkService able to mock recursively resolving DSO parent links diff --git a/src/app/shared/theme-support/theme.service.ts b/src/app/shared/theme-support/theme.service.ts index 2c9ae1c09c..2e09cf1d34 100644 --- a/src/app/shared/theme-support/theme.service.ts +++ b/src/app/shared/theme-support/theme.service.ts @@ -1,10 +1,46 @@ -import { Injectable, Inject, Injector } from '@angular/core'; -import { Store, createFeatureSelector, createSelector, select } from '@ngrx/store'; -import { BehaviorSubject, EMPTY, Observable, of as observableOf } from 'rxjs'; -import { ThemeState } from './theme.reducer'; -import { SetThemeAction, ThemeActionTypes } from './theme.actions'; -import { expand, filter, map, switchMap, take, toArray } from 'rxjs/operators'; -import { hasNoValue, hasValue, isNotEmpty } from '../empty.util'; +import { DOCUMENT } from '@angular/common'; +import { + Inject, + Injectable, + Injector, +} from '@angular/core'; +import { + ActivatedRouteSnapshot, + ResolveEnd, + Router, +} from '@angular/router'; +import { + createFeatureSelector, + createSelector, + select, + Store, +} from '@ngrx/store'; +import { + BehaviorSubject, + EMPTY, + Observable, + of as observableOf, +} from 'rxjs'; +import { + expand, + filter, + map, + switchMap, + take, + toArray, +} from 'rxjs/operators'; +import { distinctNext } from 'src/app/core/shared/distinct-next'; + +import { getDefaultThemeConfig } from '../../../config/config.util'; +import { + HeadTagConfig, + Theme, + ThemeConfig, + themeFactory, +} from '../../../config/theme.model'; +import { environment } from '../../../environments/environment'; +import { LinkService } from '../../core/cache/builders/link.service'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; import { RemoteData } from '../../core/data/remote-data'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { @@ -12,18 +48,23 @@ import { getFirstSucceededRemoteData, getRemoteDataPayload, } from '../../core/shared/operators'; -import { HeadTagConfig, Theme, ThemeConfig, themeFactory } from '../../../config/theme.model'; -import { NO_OP_ACTION_TYPE, NoOpAction } from '../ngrx/no-op.action'; -import { followLink } from '../utils/follow-link-config.model'; -import { LinkService } from '../../core/cache/builders/link.service'; -import { environment } from '../../../environments/environment'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { ActivatedRouteSnapshot, ResolveEnd, Router } from '@angular/router'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../empty.util'; +import { + NO_OP_ACTION_TYPE, + NoOpAction, +} from '../ngrx/no-op.action'; import { GET_THEME_CONFIG_FOR_FACTORY } from '../object-collection/shared/listable-object/listable-object.decorator'; -import { distinctNext } from 'src/app/core/shared/distinct-next'; -import { DOCUMENT } from '@angular/common'; -import { getDefaultThemeConfig } from '../../../config/config.util'; +import { followLink } from '../utils/follow-link-config.model'; +import { + SetThemeAction, + ThemeActionTypes, +} from './theme.actions'; import { BASE_THEME_NAME } from './theme.constants'; +import { ThemeState } from './theme.reducer'; export const themeStateSelector = createFeatureSelector('theme'); diff --git a/src/app/shared/theme-support/themed.component.spec.ts b/src/app/shared/theme-support/themed.component.spec.ts index 48dca3dfe9..9b0477cd7a 100644 --- a/src/app/shared/theme-support/themed.component.spec.ts +++ b/src/app/shared/theme-support/themed.component.spec.ts @@ -1,12 +1,20 @@ /* eslint-disable max-classes-per-file */ -import { ThemedComponent } from './themed.component'; -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { VarDirective } from '../utils/var.directive'; -import { ThemeService } from './theme.service'; -import { getMockThemeService } from '../mocks/theme-service.mock'; -import { TestComponent } from './test/test.component.spec'; +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; + import { ThemeConfig } from '../../../config/theme.model'; +import { getMockThemeService } from '../mocks/theme-service.mock'; +import { VarDirective } from '../utils/var.directive'; +import { TestComponent } from './test/test.component.spec'; +import { ThemeService } from './theme.service'; +import { ThemedComponent } from './themed.component'; @Component({ selector: 'ds-test-themed-component', diff --git a/src/app/shared/theme-support/themed.component.ts b/src/app/shared/theme-support/themed.component.ts index a56136d9f8..9b2149df19 100644 --- a/src/app/shared/theme-support/themed.component.ts +++ b/src/app/shared/theme-support/themed.component.ts @@ -1,23 +1,40 @@ import { + ChangeDetectorRef, Component, + ComponentFactoryResolver, + ComponentRef, + ElementRef, + HostBinding, + OnChanges, + OnDestroy, + OnInit, + SimpleChanges, ViewChild, ViewContainerRef, - ComponentRef, - SimpleChanges, - OnInit, - OnDestroy, - ComponentFactoryResolver, - ChangeDetectorRef, - OnChanges, - HostBinding, - ElementRef, } from '@angular/core'; -import { hasNoValue, hasValue, isNotEmpty } from '../empty.util'; -import { combineLatest, from as fromPromise, Observable, of as observableOf, Subscription, BehaviorSubject } from 'rxjs'; -import { ThemeService } from './theme.service'; -import { catchError, switchMap, map, tap } from 'rxjs/operators'; +import { + BehaviorSubject, + combineLatest, + from as fromPromise, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + catchError, + map, + switchMap, + tap, +} from 'rxjs/operators'; + import { GenericConstructor } from '../../core/shared/generic-constructor'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../empty.util'; import { BASE_THEME_NAME } from './theme.constants'; +import { ThemeService } from './theme.service'; @Component({ selector: 'ds-themed', diff --git a/src/app/shared/trackable/abstract-trackable.component.spec.ts b/src/app/shared/trackable/abstract-trackable.component.spec.ts index a750c914a3..3c2e25f6f6 100644 --- a/src/app/shared/trackable/abstract-trackable.component.spec.ts +++ b/src/app/shared/trackable/abstract-trackable.component.spec.ts @@ -1,14 +1,22 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { AbstractTrackableComponent } from './abstract-trackable.component'; -import { INotification, Notification } from '../notifications/models/notification.model'; -import { NotificationType } from '../notifications/models/notification-type'; -import { of as observableOf } from 'rxjs'; -import { TranslateModule } from '@ngx-translate/core'; -import { ObjectUpdatesService } from '../../core/data/object-updates/object-updates.service'; -import { NotificationsService } from '../notifications/notifications.service'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { TestScheduler } from 'rxjs/testing'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { ObjectUpdatesService } from '../../core/data/object-updates/object-updates.service'; +import { + INotification, + Notification, +} from '../notifications/models/notification.model'; +import { NotificationType } from '../notifications/models/notification-type'; +import { NotificationsService } from '../notifications/notifications.service'; +import { AbstractTrackableComponent } from './abstract-trackable.component'; describe('AbstractTrackableComponent', () => { let comp: AbstractTrackableComponent; diff --git a/src/app/shared/trackable/abstract-trackable.component.ts b/src/app/shared/trackable/abstract-trackable.component.ts index 0fdd37ee90..e5015a8d1c 100644 --- a/src/app/shared/trackable/abstract-trackable.component.ts +++ b/src/app/shared/trackable/abstract-trackable.component.ts @@ -1,8 +1,9 @@ -import { ObjectUpdatesService } from '../../core/data/object-updates/object-updates.service'; -import { NotificationsService } from '../notifications/notifications.service'; +import { Component } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { Component } from '@angular/core'; + +import { ObjectUpdatesService } from '../../core/data/object-updates/object-updates.service'; +import { NotificationsService } from '../notifications/notifications.service'; /** * Abstract Component that is able to track changes made in the inheriting component using the ObjectUpdateService diff --git a/src/app/shared/translate/missing-translation.helper.ts b/src/app/shared/translate/missing-translation.helper.ts index 71a1dc3620..0129e7971c 100644 --- a/src/app/shared/translate/missing-translation.helper.ts +++ b/src/app/shared/translate/missing-translation.helper.ts @@ -1,4 +1,7 @@ -import { MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core'; +import { + MissingTranslationHandler, + MissingTranslationHandlerParams, +} from '@ngx-translate/core'; /** * Class to handle missing translations for the ngx-translate library diff --git a/src/app/shared/truncatable/truncatable-part/truncatable-part.component.spec.ts b/src/app/shared/truncatable/truncatable-part/truncatable-part.component.spec.ts index 75643355a4..1d7d4fef14 100644 --- a/src/app/shared/truncatable/truncatable-part/truncatable-part.component.spec.ts +++ b/src/app/shared/truncatable/truncatable-part/truncatable-part.component.spec.ts @@ -1,15 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { of as observableOf } from 'rxjs'; -import { TruncatablePartComponent } from './truncatable-part.component'; -import { TruncatableService } from '../truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { + NativeWindowRef, + NativeWindowService, +} from '../../../core/services/window.service'; +import { mockTruncatableService } from '../../mocks/mock-trucatable.service'; import { getMockTranslateService } from '../../mocks/translate.service.mock'; import { TranslateLoaderMock } from '../../mocks/translate-loader.mock'; -import { mockTruncatableService } from '../../mocks/mock-trucatable.service'; -import { By } from '@angular/platform-browser'; -import { NativeWindowRef, NativeWindowService } from '../../../core/services/window.service'; +import { TruncatableService } from '../truncatable.service'; +import { TruncatablePartComponent } from './truncatable-part.component'; describe('TruncatablePartComponent', () => { let comp: TruncatablePartComponent; diff --git a/src/app/shared/truncatable/truncatable-part/truncatable-part.component.ts b/src/app/shared/truncatable/truncatable-part/truncatable-part.component.ts index 2a5ffd3477..f7d62ead37 100644 --- a/src/app/shared/truncatable/truncatable-part/truncatable-part.component.ts +++ b/src/app/shared/truncatable/truncatable-part/truncatable-part.component.ts @@ -1,6 +1,15 @@ -import { AfterViewChecked, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; -import { TruncatableService } from '../truncatable.service'; +import { + AfterViewChecked, + Component, + ElementRef, + Input, + OnDestroy, + OnInit, + ViewChild, +} from '@angular/core'; + import { hasValue } from '../../empty.util'; +import { TruncatableService } from '../truncatable.service'; @Component({ selector: 'ds-truncatable-part', diff --git a/src/app/shared/truncatable/truncatable.actions.ts b/src/app/shared/truncatable/truncatable.actions.ts index cd9a92f935..a6eb86cb0e 100644 --- a/src/app/shared/truncatable/truncatable.actions.ts +++ b/src/app/shared/truncatable/truncatable.actions.ts @@ -1,5 +1,6 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; + import { type } from '../ngrx/type'; /** diff --git a/src/app/shared/truncatable/truncatable.component.spec.ts b/src/app/shared/truncatable/truncatable.component.spec.ts index 0fc9b92a7d..518ba06309 100644 --- a/src/app/shared/truncatable/truncatable.component.spec.ts +++ b/src/app/shared/truncatable/truncatable.component.spec.ts @@ -1,9 +1,17 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; + import { mockTruncatableService } from '../mocks/mock-trucatable.service'; import { TruncatableComponent } from './truncatable.component'; import { TruncatableService } from './truncatable.service'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; describe('TruncatableComponent', () => { let comp: TruncatableComponent; diff --git a/src/app/shared/truncatable/truncatable.component.ts b/src/app/shared/truncatable/truncatable.component.ts index ecda4e54b3..a1a6bbb200 100644 --- a/src/app/shared/truncatable/truncatable.component.ts +++ b/src/app/shared/truncatable/truncatable.component.ts @@ -1,4 +1,11 @@ -import { AfterViewChecked, Component, ElementRef, Input, OnInit } from '@angular/core'; +import { + AfterViewChecked, + Component, + ElementRef, + Input, + OnInit, +} from '@angular/core'; + import { TruncatableService } from './truncatable.service'; @Component({ diff --git a/src/app/shared/truncatable/truncatable.reducer.spec.ts b/src/app/shared/truncatable/truncatable.reducer.spec.ts index 9866f382f7..1a7be787b1 100644 --- a/src/app/shared/truncatable/truncatable.reducer.spec.ts +++ b/src/app/shared/truncatable/truncatable.reducer.spec.ts @@ -1,8 +1,12 @@ // eslint-disable-next-line import/no-namespace import * as deepFreeze from 'deep-freeze'; +import { + TruncatableCollapseAction, + TruncatableExpandAction, + TruncatableToggleAction, +} from './truncatable.actions'; import { truncatableReducer } from './truncatable.reducer'; -import { TruncatableCollapseAction, TruncatableExpandAction, TruncatableToggleAction } from './truncatable.actions'; const id1 = '123'; const id2 = '456'; diff --git a/src/app/shared/truncatable/truncatable.reducer.ts b/src/app/shared/truncatable/truncatable.reducer.ts index 6739b7ef27..7cf7fc653f 100644 --- a/src/app/shared/truncatable/truncatable.reducer.ts +++ b/src/app/shared/truncatable/truncatable.reducer.ts @@ -1,4 +1,7 @@ -import { TruncatableAction, TruncatableActionTypes } from './truncatable.actions'; +import { + TruncatableAction, + TruncatableActionTypes, +} from './truncatable.actions'; /** * Interface that represents the state of a single truncatable diff --git a/src/app/shared/truncatable/truncatable.service.spec.ts b/src/app/shared/truncatable/truncatable.service.spec.ts index 9bc09422aa..9889b97883 100644 --- a/src/app/shared/truncatable/truncatable.service.spec.ts +++ b/src/app/shared/truncatable/truncatable.service.spec.ts @@ -1,10 +1,17 @@ +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Store } from '@ngrx/store'; -import { TestBed, waitForAsync } from '@angular/core/testing'; -import { TruncatableService } from './truncatable.service'; -import { TruncatableCollapseAction, TruncatableExpandAction } from './truncatable.actions'; -import { TruncatablesState } from './truncatable.reducer'; import { of as observableOf } from 'rxjs'; +import { + TruncatableCollapseAction, + TruncatableExpandAction, +} from './truncatable.actions'; +import { TruncatablesState } from './truncatable.reducer'; +import { TruncatableService } from './truncatable.service'; + describe('TruncatableService', () => { const id1 = '123'; const id2 = '456'; diff --git a/src/app/shared/truncatable/truncatable.service.ts b/src/app/shared/truncatable/truncatable.service.ts index bd51db5303..e6acffb388 100644 --- a/src/app/shared/truncatable/truncatable.service.ts +++ b/src/app/shared/truncatable/truncatable.service.ts @@ -1,14 +1,23 @@ -import { map } from 'rxjs/operators'; import { Injectable } from '@angular/core'; -import { createSelector, MemoizedSelector, select, Store } from '@ngrx/store'; -import { Observable } from 'rxjs'; -import { TruncatablesState, TruncatableState } from './truncatable.reducer'; import { + createSelector, + MemoizedSelector, + select, + Store, +} from '@ngrx/store'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { hasValue } from '../empty.util'; +import { + TruncatableCollapseAction, TruncatableExpandAction, TruncatableToggleAction, - TruncatableCollapseAction, } from './truncatable.actions'; -import { hasValue } from '../empty.util'; +import { + TruncatablesState, + TruncatableState, +} from './truncatable.reducer'; const truncatableStateSelector = (state: TruncatablesState) => state.truncatable; diff --git a/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts b/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts index fdbdf62208..6b67ecd166 100644 --- a/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts +++ b/src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts @@ -1,7 +1,18 @@ -import { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core'; +import { + Component, + EventEmitter, + HostListener, + Input, + OnInit, + Output, +} from '@angular/core'; import uniqueId from 'lodash/uniqueId'; import { FileUploader } from 'ng2-file-upload'; -import { Observable, of as observableOf } from 'rxjs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { UploaderOptions } from '../uploader/uploader-options.model'; /** diff --git a/src/app/shared/upload/upload.module.ts b/src/app/shared/upload/upload.module.ts index f64eed0f4d..e453c7fea9 100644 --- a/src/app/shared/upload/upload.module.ts +++ b/src/app/shared/upload/upload.module.ts @@ -5,12 +5,13 @@ * * http://www.dspace.org/license/ */ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { SharedModule } from '../shared.module'; +import { NgModule } from '@angular/core'; import { FileUploadModule } from 'ng2-file-upload'; -import { UploaderComponent } from './uploader/uploader.component'; + +import { SharedModule } from '../shared.module'; import { FileDropzoneNoUploaderComponent } from './file-dropzone-no-uploader/file-dropzone-no-uploader.component'; +import { UploaderComponent } from './uploader/uploader.component'; const COMPONENTS = [ UploaderComponent, diff --git a/src/app/shared/upload/uploader/uploader.component.spec.ts b/src/app/shared/upload/uploader/uploader.component.spec.ts index eb8882c80e..a67bde4539 100644 --- a/src/app/shared/upload/uploader/uploader.component.spec.ts +++ b/src/app/shared/upload/uploader/uploader.component.spec.ts @@ -1,19 +1,27 @@ // Load the implementations that should be tested -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - +import { HttpXsrfTokenExtractor } from '@angular/common/http'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; import { ScrollToService } from '@nicky-lenaers/ngx-scroll-to'; +import { FileUploadModule } from 'ng2-file-upload'; import { DragService } from '../../../core/drag.service'; -import { UploaderOptions } from './uploader-options.model'; -import { UploaderComponent } from './uploader.component'; -import { FileUploadModule } from 'ng2-file-upload'; -import { TranslateModule } from '@ngx-translate/core'; -import { createTestComponent } from '../../testing/utils.test'; -import { HttpXsrfTokenExtractor } from '@angular/common/http'; import { CookieService } from '../../../core/services/cookie.service'; import { CookieServiceMock } from '../../mocks/cookie.service.mock'; import { HttpXsrfTokenExtractorMock } from '../../mocks/http-xsrf-token-extractor.mock'; +import { createTestComponent } from '../../testing/utils.test'; +import { UploaderComponent } from './uploader.component'; +import { UploaderOptions } from './uploader-options.model'; describe('Chips component', () => { diff --git a/src/app/shared/upload/uploader/uploader.component.ts b/src/app/shared/upload/uploader/uploader.component.ts index 30f4d49f92..e1fdf6a304 100644 --- a/src/app/shared/upload/uploader/uploader.component.ts +++ b/src/app/shared/upload/uploader/uploader.component.ts @@ -1,17 +1,33 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core'; - -import { of as observableOf } from 'rxjs'; -import { FileUploader } from 'ng2-file-upload'; -import uniqueId from 'lodash/uniqueId'; -import { ScrollToService } from '@nicky-lenaers/ngx-scroll-to'; - -import { UploaderOptions } from './uploader-options.model'; -import { hasValue, isNotEmpty, isUndefined } from '../../empty.util'; -import { UploaderProperties } from './uploader-properties.model'; import { HttpXsrfTokenExtractor } from '@angular/common/http'; -import { XSRF_COOKIE, XSRF_REQUEST_HEADER, XSRF_RESPONSE_HEADER } from '../../../core/xsrf/xsrf.constants'; -import { CookieService } from '../../../core/services/cookie.service'; +import { + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + EventEmitter, + HostListener, + Input, + Output, + ViewEncapsulation, +} from '@angular/core'; +import { ScrollToService } from '@nicky-lenaers/ngx-scroll-to'; +import uniqueId from 'lodash/uniqueId'; +import { FileUploader } from 'ng2-file-upload'; +import { of as observableOf } from 'rxjs'; + import { DragService } from '../../../core/drag.service'; +import { CookieService } from '../../../core/services/cookie.service'; +import { + XSRF_COOKIE, + XSRF_REQUEST_HEADER, + XSRF_RESPONSE_HEADER, +} from '../../../core/xsrf/xsrf.constants'; +import { + hasValue, + isNotEmpty, + isUndefined, +} from '../../empty.util'; +import { UploaderOptions } from './uploader-options.model'; +import { UploaderProperties } from './uploader-properties.model'; @Component({ selector: 'ds-uploader', diff --git a/src/app/shared/utils/auto-focus.directive.ts b/src/app/shared/utils/auto-focus.directive.ts index 2330cd5aa7..e48ec7e1df 100644 --- a/src/app/shared/utils/auto-focus.directive.ts +++ b/src/app/shared/utils/auto-focus.directive.ts @@ -1,4 +1,10 @@ -import { Directive, AfterViewInit, ElementRef, Input } from '@angular/core'; +import { + AfterViewInit, + Directive, + ElementRef, + Input, +} from '@angular/core'; + import { isNotEmpty } from '../empty.util'; /** diff --git a/src/app/shared/utils/browser-only.pipe.ts b/src/app/shared/utils/browser-only.pipe.ts index cd7b2c85ec..65e6653256 100644 --- a/src/app/shared/utils/browser-only.pipe.ts +++ b/src/app/shared/utils/browser-only.pipe.ts @@ -1,5 +1,10 @@ -import { Inject, Pipe, PipeTransform, PLATFORM_ID } from '@angular/core'; import { isPlatformBrowser } from '@angular/common'; +import { + Inject, + Pipe, + PipeTransform, + PLATFORM_ID, +} from '@angular/core'; /** * A pipe that only returns its input when run in the browser. diff --git a/src/app/shared/utils/capitalize.pipe.ts b/src/app/shared/utils/capitalize.pipe.ts index b669e247ab..562434d731 100644 --- a/src/app/shared/utils/capitalize.pipe.ts +++ b/src/app/shared/utils/capitalize.pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; @Pipe({ name: 'dsCapitalize', diff --git a/src/app/shared/utils/click-outside.directive.ts b/src/app/shared/utils/click-outside.directive.ts index 96eedef4c6..70587becd8 100644 --- a/src/app/shared/utils/click-outside.directive.ts +++ b/src/app/shared/utils/click-outside.directive.ts @@ -1,4 +1,10 @@ -import { Directive, ElementRef, Output, EventEmitter, HostListener } from '@angular/core'; +import { + Directive, + ElementRef, + EventEmitter, + HostListener, + Output, +} from '@angular/core'; @Directive({ selector: '[dsClickOutside]', diff --git a/src/app/shared/utils/console.pipe.ts b/src/app/shared/utils/console.pipe.ts index 22476e46a7..5d49eaea84 100644 --- a/src/app/shared/utils/console.pipe.ts +++ b/src/app/shared/utils/console.pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; @Pipe({ name: 'dsConsole', diff --git a/src/app/shared/utils/debounce.directive.ts b/src/app/shared/utils/debounce.directive.ts index 6245dbbacf..a509af7a07 100644 --- a/src/app/shared/utils/debounce.directive.ts +++ b/src/app/shared/utils/debounce.directive.ts @@ -1,8 +1,18 @@ -import {distinctUntilChanged, debounceTime, takeUntil} from 'rxjs/operators'; -import { Directive, Input, Output, EventEmitter, OnDestroy, OnInit } from '@angular/core'; +import { + Directive, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; import { NgControl } from '@angular/forms'; - import { Subject } from 'rxjs'; +import { + debounceTime, + distinctUntilChanged, + takeUntil, +} from 'rxjs/operators'; @Directive({ selector: '[ngModel][dsDebounce]', diff --git a/src/app/shared/utils/drag-click.directive.ts b/src/app/shared/utils/drag-click.directive.ts index bf991099f1..9d04c0527f 100644 --- a/src/app/shared/utils/drag-click.directive.ts +++ b/src/app/shared/utils/drag-click.directive.ts @@ -1,4 +1,9 @@ -import { Directive, EventEmitter, HostListener, Output } from '@angular/core'; +import { + Directive, + EventEmitter, + HostListener, + Output, +} from '@angular/core'; @Directive({ selector: '[dsDragClick]', diff --git a/src/app/shared/utils/emphasize.pipe.ts b/src/app/shared/utils/emphasize.pipe.ts index 8dba0767ce..632a812617 100644 --- a/src/app/shared/utils/emphasize.pipe.ts +++ b/src/app/shared/utils/emphasize.pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; @Pipe({ name: 'dsEmphasize' }) /** diff --git a/src/app/shared/utils/enum-keys-pipe.ts b/src/app/shared/utils/enum-keys-pipe.ts index 0a4a445c02..c07c42fb9c 100644 --- a/src/app/shared/utils/enum-keys-pipe.ts +++ b/src/app/shared/utils/enum-keys-pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; @Pipe({ name: 'dsKeys' }) /** diff --git a/src/app/shared/utils/file-size-pipe.ts b/src/app/shared/utils/file-size-pipe.ts index 934f3ee67a..820840b115 100644 --- a/src/app/shared/utils/file-size-pipe.ts +++ b/src/app/shared/utils/file-size-pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; // eslint-disable-next-line import/no-namespace import * as fileSize from 'filesize'; diff --git a/src/app/shared/utils/file-value-accessor.directive.ts b/src/app/shared/utils/file-value-accessor.directive.ts index 5b33f35505..5cafe86cd9 100644 --- a/src/app/shared/utils/file-value-accessor.directive.ts +++ b/src/app/shared/utils/file-value-accessor.directive.ts @@ -1,5 +1,8 @@ import {Directive} from '@angular/core'; -import {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms'; +import { + ControlValueAccessor, + NG_VALUE_ACCESSOR, +} from '@angular/forms'; @Directive({ // eslint-disable-next-line @angular-eslint/directive-selector diff --git a/src/app/shared/utils/follow-link-config.model.ts b/src/app/shared/utils/follow-link-config.model.ts index 2ebe8552b1..0eb1ad0cae 100644 --- a/src/app/shared/utils/follow-link-config.model.ts +++ b/src/app/shared/utils/follow-link-config.model.ts @@ -1,6 +1,6 @@ +import { FindListOptions } from '../../core/data/find-list-options.model'; import { HALResource } from '../../core/shared/hal-resource.model'; import { hasValue } from '../empty.util'; -import { FindListOptions } from '../../core/data/find-list-options.model'; /** * A class to send the retrieval of a {@link HALLink} diff --git a/src/app/shared/utils/in-list-validator.directive.ts b/src/app/shared/utils/in-list-validator.directive.ts index 8702a3f9bd..278efa2dc3 100644 --- a/src/app/shared/utils/in-list-validator.directive.ts +++ b/src/app/shared/utils/in-list-validator.directive.ts @@ -1,5 +1,14 @@ -import { Directive, Input } from '@angular/core'; -import { UntypedFormControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms'; +import { + Directive, + Input, +} from '@angular/core'; +import { + NG_VALIDATORS, + UntypedFormControl, + ValidationErrors, + Validator, +} from '@angular/forms'; + import { inListValidator } from './validator.functions'; /** diff --git a/src/app/shared/utils/markdown.pipe.spec.ts b/src/app/shared/utils/markdown.pipe.spec.ts index 679ceac72b..cf644767e2 100644 --- a/src/app/shared/utils/markdown.pipe.spec.ts +++ b/src/app/shared/utils/markdown.pipe.spec.ts @@ -1,7 +1,8 @@ -import { MarkdownPipe } from './markdown.pipe'; import { TestBed } from '@angular/core/testing'; + import { APP_CONFIG } from '../../../config/app-config.interface'; import { environment } from '../../../environments/environment'; +import { MarkdownPipe } from './markdown.pipe'; describe('Markdown Pipe', () => { diff --git a/src/app/shared/utils/markdown.pipe.ts b/src/app/shared/utils/markdown.pipe.ts index 684cedd072..795f00ac3e 100644 --- a/src/app/shared/utils/markdown.pipe.ts +++ b/src/app/shared/utils/markdown.pipe.ts @@ -1,5 +1,15 @@ -import { Inject, InjectionToken, Pipe, PipeTransform, SecurityContext } from '@angular/core'; -import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; +import { + Inject, + InjectionToken, + Pipe, + PipeTransform, + SecurityContext, +} from '@angular/core'; +import { + DomSanitizer, + SafeHtml, +} from '@angular/platform-browser'; + import { environment } from '../../../environments/environment'; const markdownItLoader = async () => (await import('markdown-it')).default; diff --git a/src/app/shared/utils/metadatafield-validator.directive.ts b/src/app/shared/utils/metadatafield-validator.directive.ts index e9f7c0e9ef..badfad5b72 100644 --- a/src/app/shared/utils/metadatafield-validator.directive.ts +++ b/src/app/shared/utils/metadatafield-validator.directive.ts @@ -1,7 +1,24 @@ -import { Directive, Injectable } from '@angular/core'; -import { AbstractControl, AsyncValidator, NG_VALIDATORS, ValidationErrors } from '@angular/forms'; -import { map, switchMap, take } from 'rxjs/operators'; -import { of as observableOf, timer as observableTimer, Observable } from 'rxjs'; +import { + Directive, + Injectable, +} from '@angular/core'; +import { + AbstractControl, + AsyncValidator, + NG_VALIDATORS, + ValidationErrors, +} from '@angular/forms'; +import { + Observable, + of as observableOf, + timer as observableTimer, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + import { MetadataFieldDataService } from '../../core/data/metadata-field-data.service'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { RemoteData } from '../../core/data/remote-data'; diff --git a/src/app/shared/utils/object-keys-pipe.ts b/src/app/shared/utils/object-keys-pipe.ts index 0d6a2c8222..d016b22e67 100644 --- a/src/app/shared/utils/object-keys-pipe.ts +++ b/src/app/shared/utils/object-keys-pipe.ts @@ -1,4 +1,7 @@ -import { PipeTransform, Pipe } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; @Pipe({name: 'dsObjectKeys'}) /** diff --git a/src/app/shared/utils/object-ngfor.pipe.ts b/src/app/shared/utils/object-ngfor.pipe.ts index dab0e73019..51fcda31a2 100644 --- a/src/app/shared/utils/object-ngfor.pipe.ts +++ b/src/app/shared/utils/object-ngfor.pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; /** * Pipe that allows to iterate over an object and to access to entry key and value : diff --git a/src/app/shared/utils/object-values-pipe.ts b/src/app/shared/utils/object-values-pipe.ts index f396ac1485..a72d443b7e 100644 --- a/src/app/shared/utils/object-values-pipe.ts +++ b/src/app/shared/utils/object-values-pipe.ts @@ -1,4 +1,8 @@ -import { PipeTransform, Pipe } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; + import { isNotEmpty } from '../empty.util'; @Pipe({ diff --git a/src/app/shared/utils/relation-query.utils.spec.ts b/src/app/shared/utils/relation-query.utils.spec.ts index f40c331497..1f2a725a9f 100644 --- a/src/app/shared/utils/relation-query.utils.spec.ts +++ b/src/app/shared/utils/relation-query.utils.spec.ts @@ -1,4 +1,7 @@ -import { getFilterByRelation, getQueryByRelations } from './relation-query.utils'; +import { + getFilterByRelation, + getQueryByRelations, +} from './relation-query.utils'; describe('Relation Query Utils', () => { const relationtype = 'isAuthorOfPublication'; diff --git a/src/app/shared/utils/relation-query.utils.ts b/src/app/shared/utils/relation-query.utils.ts index 487976caa5..e2f3a0eb6c 100644 --- a/src/app/shared/utils/relation-query.utils.ts +++ b/src/app/shared/utils/relation-query.utils.ts @@ -1,5 +1,8 @@ -import { followLink, FollowLinkConfig } from './follow-link-config.model'; import { Relationship } from '../../core/shared/item-relationships/relationship.model'; +import { + followLink, + FollowLinkConfig, +} from './follow-link-config.model'; /** * Get the query for looking up items by relation type diff --git a/src/app/shared/utils/require-file.validator.ts b/src/app/shared/utils/require-file.validator.ts index 50d40d6aba..24d75d268d 100644 --- a/src/app/shared/utils/require-file.validator.ts +++ b/src/app/shared/utils/require-file.validator.ts @@ -1,5 +1,9 @@ import {Directive} from '@angular/core'; -import {NG_VALIDATORS, Validator, UntypedFormControl} from '@angular/forms'; +import { + NG_VALIDATORS, + UntypedFormControl, + Validator, +} from '@angular/forms'; @Directive({ // eslint-disable-next-line @angular-eslint/directive-selector diff --git a/src/app/shared/utils/route.utils.ts b/src/app/shared/utils/route.utils.ts index 8f7bb9120d..9f45b7ec23 100644 --- a/src/app/shared/utils/route.utils.ts +++ b/src/app/shared/utils/route.utils.ts @@ -1,6 +1,10 @@ -import { ActivatedRouteSnapshot, Router } from '@angular/router'; -import { hasValue } from '../empty.util'; +import { + ActivatedRouteSnapshot, + Router, +} from '@angular/router'; + import { URLCombiner } from '../../core/url-combiner/url-combiner'; +import { hasValue } from '../empty.util'; /** * Util function to retrieve the current path (without query parameters) the user is on diff --git a/src/app/shared/utils/safe-url-pipe.ts b/src/app/shared/utils/safe-url-pipe.ts index 3f35ed9262..1d04c7e08a 100644 --- a/src/app/shared/utils/safe-url-pipe.ts +++ b/src/app/shared/utils/safe-url-pipe.ts @@ -1,4 +1,7 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; /** diff --git a/src/app/shared/utils/short-number.pipe.ts b/src/app/shared/utils/short-number.pipe.ts index e349191313..7f66ac2efc 100644 --- a/src/app/shared/utils/short-number.pipe.ts +++ b/src/app/shared/utils/short-number.pipe.ts @@ -1,4 +1,8 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; + import { isEmpty } from '../empty.util'; diff --git a/src/app/shared/utils/truncate.pipe.ts b/src/app/shared/utils/truncate.pipe.ts index 0d5db79185..35d94656ba 100644 --- a/src/app/shared/utils/truncate.pipe.ts +++ b/src/app/shared/utils/truncate.pipe.ts @@ -1,4 +1,8 @@ -import { Pipe, PipeTransform } from '@angular/core'; +import { + Pipe, + PipeTransform, +} from '@angular/core'; + import { hasValue } from '../empty.util'; /** diff --git a/src/app/shared/utils/validator.functions.ts b/src/app/shared/utils/validator.functions.ts index 164ac7885e..da3b94d303 100644 --- a/src/app/shared/utils/validator.functions.ts +++ b/src/app/shared/utils/validator.functions.ts @@ -1,4 +1,8 @@ -import { AbstractControl, ValidatorFn } from '@angular/forms'; +import { + AbstractControl, + ValidatorFn, +} from '@angular/forms'; + import { isNotEmpty } from '../empty.util'; /** diff --git a/src/app/shared/utils/var.directive.ts b/src/app/shared/utils/var.directive.ts index 497fc91a8b..a5f6818214 100644 --- a/src/app/shared/utils/var.directive.ts +++ b/src/app/shared/utils/var.directive.ts @@ -1,4 +1,9 @@ -import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; +import { + Directive, + Input, + TemplateRef, + ViewContainerRef, +} from '@angular/core'; /* eslint-disable @angular-eslint/directive-selector */ @Directive({ diff --git a/src/app/shared/view-mode-switch/view-mode-switch.component.spec.ts b/src/app/shared/view-mode-switch/view-mode-switch.component.spec.ts index e5ca30c4ba..90c5b64e72 100644 --- a/src/app/shared/view-mode-switch/view-mode-switch.component.spec.ts +++ b/src/app/shared/view-mode-switch/view-mode-switch.component.spec.ts @@ -1,15 +1,27 @@ -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; import { SearchService } from '../../core/shared/search/search.service'; -import { ViewModeSwitchComponent } from './view-mode-switch.component'; -import { SearchServiceStub } from '../testing/search-service.stub'; import { ViewMode } from '../../core/shared/view-mode.model'; +import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; import { BrowserOnlyMockPipe } from '../testing/browser-only-mock.pipe'; +import { SearchServiceStub } from '../testing/search-service.stub'; +import { ViewModeSwitchComponent } from './view-mode-switch.component'; @Component({ template: '' }) class DummyComponent { diff --git a/src/app/shared/view-mode-switch/view-mode-switch.component.ts b/src/app/shared/view-mode-switch/view-mode-switch.component.ts index 13108cc089..b4b50462a1 100644 --- a/src/app/shared/view-mode-switch/view-mode-switch.component.ts +++ b/src/app/shared/view-mode-switch/view-mode-switch.component.ts @@ -1,13 +1,22 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; - +import { + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { Router } from '@angular/router'; import { Subscription } from 'rxjs'; +import { filter } from 'rxjs/operators'; import { SearchService } from '../../core/shared/search/search.service'; import { ViewMode } from '../../core/shared/view-mode.model'; -import { isEmpty, isNotEmpty } from '../empty.util'; +import { + isEmpty, + isNotEmpty, +} from '../empty.util'; import { currentPath } from '../utils/route.utils'; -import { Router } from '@angular/router'; -import { filter } from 'rxjs/operators'; /** * Component to switch between list and grid views. diff --git a/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.spec.ts b/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.spec.ts index 7a845fd620..241ab66405 100644 --- a/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.spec.ts +++ b/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.spec.ts @@ -1,20 +1,28 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { CollectionStatisticsPageComponent } from './collection-statistics-page.component'; -import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { of as observableOf } from 'rxjs'; -import { Collection } from '../../core/shared/collection.model'; -import { DebugElement } from '@angular/core'; -import { By } from '@angular/platform-browser'; -import { UsageReport } from '../../core/statistics/models/usage-report.model'; -import { SharedModule } from '../../shared/shared.module'; import { CommonModule } from '@angular/common'; +import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { AuthService } from '../../core/auth/auth.service'; +import { Collection } from '../../core/shared/collection.model'; +import { UsageReport } from '../../core/statistics/models/usage-report.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { SharedModule } from '../../shared/shared.module'; +import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; +import { CollectionStatisticsPageComponent } from './collection-statistics-page.component'; describe('CollectionStatisticsPageComponent', () => { diff --git a/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts b/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts index bf09125c41..c8b51765e6 100644 --- a/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts +++ b/src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts @@ -1,10 +1,14 @@ import { Component } from '@angular/core'; -import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { ActivatedRoute , Router} from '@angular/router'; -import { Collection } from '../../core/shared/collection.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; + import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { Collection } from '../../core/shared/collection.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; +import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; /** * Component representing the statistics page for a collection. diff --git a/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts b/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts index dab96aef04..90981363f1 100644 --- a/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts +++ b/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { CollectionStatisticsPageComponent } from './collection-statistics-page.component'; diff --git a/src/app/statistics-page/community-statistics-page/community-statistics-page.component.spec.ts b/src/app/statistics-page/community-statistics-page/community-statistics-page.component.spec.ts index 7f9fd0e72b..a51e201043 100644 --- a/src/app/statistics-page/community-statistics-page/community-statistics-page.component.spec.ts +++ b/src/app/statistics-page/community-statistics-page/community-statistics-page.component.spec.ts @@ -1,20 +1,28 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { CommunityStatisticsPageComponent } from './community-statistics-page.component'; -import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { of as observableOf } from 'rxjs'; -import { Community } from '../../core/shared/community.model'; -import { DebugElement } from '@angular/core'; -import { By } from '@angular/platform-browser'; -import { UsageReport } from '../../core/statistics/models/usage-report.model'; -import { SharedModule } from '../../shared/shared.module'; import { CommonModule } from '@angular/common'; +import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { AuthService } from '../../core/auth/auth.service'; +import { Community } from '../../core/shared/community.model'; +import { UsageReport } from '../../core/statistics/models/usage-report.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { SharedModule } from '../../shared/shared.module'; +import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; +import { CommunityStatisticsPageComponent } from './community-statistics-page.component'; describe('CommunityStatisticsPageComponent', () => { diff --git a/src/app/statistics-page/community-statistics-page/community-statistics-page.component.ts b/src/app/statistics-page/community-statistics-page/community-statistics-page.component.ts index fc86f5e639..f6f7e8c78c 100644 --- a/src/app/statistics-page/community-statistics-page/community-statistics-page.component.ts +++ b/src/app/statistics-page/community-statistics-page/community-statistics-page.component.ts @@ -1,10 +1,14 @@ import { Component } from '@angular/core'; -import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Community } from '../../core/shared/community.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; + import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { Community } from '../../core/shared/community.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; +import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; /** * Component representing the statistics page for a community. diff --git a/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts b/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts index 17f185f786..a3309ff83b 100644 --- a/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts +++ b/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { CommunityStatisticsPageComponent } from './community-statistics-page.component'; diff --git a/src/app/statistics-page/item-statistics-page/item-statistics-page.component.spec.ts b/src/app/statistics-page/item-statistics-page/item-statistics-page.component.spec.ts index f55e2439a8..e5ee114e39 100644 --- a/src/app/statistics-page/item-statistics-page/item-statistics-page.component.spec.ts +++ b/src/app/statistics-page/item-statistics-page/item-statistics-page.component.spec.ts @@ -1,20 +1,28 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ItemStatisticsPageComponent } from './item-statistics-page.component'; -import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { of as observableOf } from 'rxjs'; -import { Item } from '../../core/shared/item.model'; -import { DebugElement } from '@angular/core'; -import { By } from '@angular/platform-browser'; -import { UsageReport } from '../../core/statistics/models/usage-report.model'; -import { SharedModule } from '../../shared/shared.module'; import { CommonModule } from '@angular/common'; +import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; -import { AuthService } from '../../core/auth/auth.service'; +import { Item } from '../../core/shared/item.model'; +import { UsageReport } from '../../core/statistics/models/usage-report.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { SharedModule } from '../../shared/shared.module'; +import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; +import { ItemStatisticsPageComponent } from './item-statistics-page.component'; describe('ItemStatisticsPageComponent', () => { diff --git a/src/app/statistics-page/item-statistics-page/item-statistics-page.component.ts b/src/app/statistics-page/item-statistics-page/item-statistics-page.component.ts index 916b8d211a..f7ec8299fc 100644 --- a/src/app/statistics-page/item-statistics-page/item-statistics-page.component.ts +++ b/src/app/statistics-page/item-statistics-page/item-statistics-page.component.ts @@ -1,10 +1,14 @@ import { Component } from '@angular/core'; -import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Item } from '../../core/shared/item.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; + import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { Item } from '../../core/shared/item.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; +import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; /** * Component representing the statistics page for an item. diff --git a/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts b/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts index 50e26329a9..b9a46308a0 100644 --- a/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts +++ b/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ItemStatisticsPageComponent } from './item-statistics-page.component'; diff --git a/src/app/statistics-page/site-statistics-page/site-statistics-page.component.spec.ts b/src/app/statistics-page/site-statistics-page/site-statistics-page.component.spec.ts index 7381c58fa6..60148bc55b 100644 --- a/src/app/statistics-page/site-statistics-page/site-statistics-page.component.spec.ts +++ b/src/app/statistics-page/site-statistics-page/site-statistics-page.component.spec.ts @@ -1,20 +1,28 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { SiteStatisticsPageComponent } from './site-statistics-page.component'; -import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { of as observableOf } from 'rxjs'; -import { Site } from '../../core/shared/site.model'; -import { DebugElement } from '@angular/core'; -import { By } from '@angular/platform-browser'; -import { UsageReport } from '../../core/statistics/models/usage-report.model'; -import { SharedModule } from '../../shared/shared.module'; import { CommonModule } from '@angular/common'; +import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AuthService } from '../../core/auth/auth.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; import { SiteDataService } from '../../core/data/site-data.service'; -import { AuthService } from '../../core/auth/auth.service'; +import { Site } from '../../core/shared/site.model'; +import { UsageReport } from '../../core/statistics/models/usage-report.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; +import { SharedModule } from '../../shared/shared.module'; +import { StatisticsTableComponent } from '../statistics-table/statistics-table.component'; +import { SiteStatisticsPageComponent } from './site-statistics-page.component'; describe('SiteStatisticsPageComponent', () => { diff --git a/src/app/statistics-page/site-statistics-page/site-statistics-page.component.ts b/src/app/statistics-page/site-statistics-page/site-statistics-page.component.ts index dcff33ab06..4fa3e10d36 100644 --- a/src/app/statistics-page/site-statistics-page/site-statistics-page.component.ts +++ b/src/app/statistics-page/site-statistics-page/site-statistics-page.component.ts @@ -1,12 +1,16 @@ import { Component } from '@angular/core'; -import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; -import { SiteDataService } from '../../core/data/site-data.service'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Site } from '../../core/shared/site.model'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { switchMap } from 'rxjs/operators'; + import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { SiteDataService } from '../../core/data/site-data.service'; +import { Site } from '../../core/shared/site.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; +import { StatisticsPageComponent } from '../statistics-page/statistics-page.component'; /** * Component representing the site-wide statistics page. diff --git a/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts b/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts index 3f841163ed..e38cfe8247 100644 --- a/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts +++ b/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { SiteStatisticsPageComponent } from './site-statistics-page.component'; diff --git a/src/app/statistics-page/statistics-page-routing.module.ts b/src/app/statistics-page/statistics-page-routing.module.ts index 1b38f6975b..a435948db9 100644 --- a/src/app/statistics-page/statistics-page-routing.module.ts +++ b/src/app/statistics-page/statistics-page-routing.module.ts @@ -1,16 +1,17 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; -import { StatisticsPageModule } from './statistics-page.module'; + import { CollectionPageResolver } from '../collection-page/collection-page.resolver'; import { CommunityPageResolver } from '../community-page/community-page.resolver'; +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; +import { StatisticsAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard'; +import { ItemResolver } from '../item-page/item.resolver'; import { ThemedCollectionStatisticsPageComponent } from './collection-statistics-page/themed-collection-statistics-page.component'; import { ThemedCommunityStatisticsPageComponent } from './community-statistics-page/themed-community-statistics-page.component'; import { ThemedItemStatisticsPageComponent } from './item-statistics-page/themed-item-statistics-page.component'; import { ThemedSiteStatisticsPageComponent } from './site-statistics-page/themed-site-statistics-page.component'; -import { ItemResolver } from '../item-page/item.resolver'; -import { StatisticsAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard'; +import { StatisticsPageModule } from './statistics-page.module'; @NgModule({ imports: [ diff --git a/src/app/statistics-page/statistics-page.module.ts b/src/app/statistics-page/statistics-page.module.ts index cb67d1ec7c..b0d54341a5 100644 --- a/src/app/statistics-page/statistics-page.module.ts +++ b/src/app/statistics-page/statistics-page.module.ts @@ -1,19 +1,19 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; import { CoreModule } from '../core/core.module'; +import { UsageReportDataService } from '../core/statistics/usage-report-data.service'; import { SharedModule } from '../shared/shared.module'; import { StatisticsModule } from '../statistics/statistics.module'; -import { UsageReportDataService } from '../core/statistics/usage-report-data.service'; -import { SiteStatisticsPageComponent } from './site-statistics-page/site-statistics-page.component'; -import { StatisticsTableComponent } from './statistics-table/statistics-table.component'; -import { ItemStatisticsPageComponent } from './item-statistics-page/item-statistics-page.component'; import { CollectionStatisticsPageComponent } from './collection-statistics-page/collection-statistics-page.component'; -import { CommunityStatisticsPageComponent } from './community-statistics-page/community-statistics-page.component'; import { ThemedCollectionStatisticsPageComponent } from './collection-statistics-page/themed-collection-statistics-page.component'; +import { CommunityStatisticsPageComponent } from './community-statistics-page/community-statistics-page.component'; import { ThemedCommunityStatisticsPageComponent } from './community-statistics-page/themed-community-statistics-page.component'; +import { ItemStatisticsPageComponent } from './item-statistics-page/item-statistics-page.component'; import { ThemedItemStatisticsPageComponent } from './item-statistics-page/themed-item-statistics-page.component'; +import { SiteStatisticsPageComponent } from './site-statistics-page/site-statistics-page.component'; import { ThemedSiteStatisticsPageComponent } from './site-statistics-page/themed-site-statistics-page.component'; +import { StatisticsTableComponent } from './statistics-table/statistics-table.component'; const components = [ StatisticsTableComponent, diff --git a/src/app/statistics-page/statistics-page/statistics-page.component.ts b/src/app/statistics-page/statistics-page/statistics-page.component.ts index 775bc89fdb..8f2b13a034 100644 --- a/src/app/statistics-page/statistics-page/statistics-page.component.ts +++ b/src/app/statistics-page/statistics-page/statistics-page.component.ts @@ -1,18 +1,31 @@ -import { Component, OnInit } from '@angular/core'; -import { combineLatest, Observable } from 'rxjs'; -import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; -import { map, switchMap } from 'rxjs/operators'; -import { UsageReport } from '../../core/statistics/models/usage-report.model'; -import { RemoteData } from '../../core/data/remote-data'; import { - getRemoteDataPayload, - getFirstSucceededRemoteData, -} from '../../core/shared/operators'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; -import { ActivatedRoute, Router } from '@angular/router'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + combineLatest, + Observable, +} from 'rxjs'; +import { + map, + switchMap, +} from 'rxjs/operators'; + import { AuthService } from '../../core/auth/auth.service'; +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../core/data/remote-data'; import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../core/shared/operators'; +import { UsageReport } from '../../core/statistics/models/usage-report.model'; +import { UsageReportDataService } from '../../core/statistics/usage-report-data.service'; /** * Class representing an abstract statistics page component. diff --git a/src/app/statistics-page/statistics-table/statistics-table.component.spec.ts b/src/app/statistics-page/statistics-table/statistics-table.component.spec.ts index c5893fbfea..3c1c69fc6a 100644 --- a/src/app/statistics-page/statistics-table/statistics-table.component.spec.ts +++ b/src/app/statistics-page/statistics-table/statistics-table.component.spec.ts @@ -1,12 +1,16 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { StatisticsTableComponent } from './statistics-table.component'; -import { UsageReport } from '../../core/statistics/models/usage-report.model'; import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateModule } from '@ngx-translate/core'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; + import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { UsageReport } from '../../core/statistics/models/usage-report.model'; +import { StatisticsTableComponent } from './statistics-table.component'; describe('StatisticsTableComponent', () => { diff --git a/src/app/statistics-page/statistics-table/statistics-table.component.ts b/src/app/statistics-page/statistics-table/statistics-table.component.ts index 32d37a193a..8c972b3bea 100644 --- a/src/app/statistics-page/statistics-table/statistics-table.component.ts +++ b/src/app/statistics-page/statistics-table/statistics-table.component.ts @@ -1,11 +1,25 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Point, UsageReport } from '../../core/statistics/models/usage-report.model'; -import { Observable, of } from 'rxjs'; -import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { map } from 'rxjs/operators'; -import { getRemoteDataPayload, getFinishedRemoteData } from '../../core/shared/operators'; -import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; +import { + Observable, + of, +} from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; +import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service'; +import { + getFinishedRemoteData, + getRemoteDataPayload, +} from '../../core/shared/operators'; +import { + Point, + UsageReport, +} from '../../core/statistics/models/usage-report.model'; import { isEmpty } from '../../shared/empty.util'; /** diff --git a/src/app/statistics/angulartics/dspace-provider.spec.ts b/src/app/statistics/angulartics/dspace-provider.spec.ts index 06da0e8ef2..51bec665b2 100644 --- a/src/app/statistics/angulartics/dspace-provider.spec.ts +++ b/src/app/statistics/angulartics/dspace-provider.spec.ts @@ -1,8 +1,9 @@ -import { Angulartics2DSpace } from './dspace-provider'; import { Angulartics2 } from 'angulartics2'; -import { StatisticsService } from '../statistics.service'; -import { filter } from 'rxjs/operators'; import { of as observableOf } from 'rxjs'; +import { filter } from 'rxjs/operators'; + +import { StatisticsService } from '../statistics.service'; +import { Angulartics2DSpace } from './dspace-provider'; describe('Angulartics2DSpace', () => { let provider: Angulartics2DSpace; diff --git a/src/app/statistics/angulartics/dspace-provider.ts b/src/app/statistics/angulartics/dspace-provider.ts index 86c16b5c01..6be5bbe5cf 100644 --- a/src/app/statistics/angulartics/dspace-provider.ts +++ b/src/app/statistics/angulartics/dspace-provider.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { Angulartics2 } from 'angulartics2'; + import { StatisticsService } from '../statistics.service'; /** diff --git a/src/app/statistics/angulartics/dspace/view-tracker.component.ts b/src/app/statistics/angulartics/dspace/view-tracker.component.ts index 2e770669fa..1820b03be6 100644 --- a/src/app/statistics/angulartics/dspace/view-tracker.component.ts +++ b/src/app/statistics/angulartics/dspace/view-tracker.component.ts @@ -1,10 +1,16 @@ -import { Component, Input, OnInit, OnDestroy } from '@angular/core'; +import { + Component, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import { Angulartics2 } from 'angulartics2'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { Subscription } from 'rxjs'; import { take } from 'rxjs/operators'; -import { hasValue } from '../../../shared/empty.util'; + import { ReferrerService } from '../../../core/services/referrer.service'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { hasValue } from '../../../shared/empty.util'; /** * This component triggers a page view statistic diff --git a/src/app/statistics/google-analytics.service.spec.ts b/src/app/statistics/google-analytics.service.spec.ts index 4e80092e7d..eb35750c4c 100644 --- a/src/app/statistics/google-analytics.service.spec.ts +++ b/src/app/statistics/google-analytics.service.spec.ts @@ -4,12 +4,15 @@ import { } from 'angulartics2'; import { of } from 'rxjs'; -import { GoogleAnalyticsService } from './google-analytics.service'; import { ConfigurationDataService } from '../core/data/configuration-data.service'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; import { ConfigurationProperty } from '../core/shared/configuration-property.model'; import { KlaroService } from '../shared/cookies/klaro.service'; import { GOOGLE_ANALYTICS_KLARO_KEY } from '../shared/cookies/klaro-configuration'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../shared/remote-data.utils'; +import { GoogleAnalyticsService } from './google-analytics.service'; describe('GoogleAnalyticsService', () => { const trackingIdProp = 'google.analytics.key'; diff --git a/src/app/statistics/google-analytics.service.ts b/src/app/statistics/google-analytics.service.ts index 9d32a61093..508297c3b9 100644 --- a/src/app/statistics/google-analytics.service.ts +++ b/src/app/statistics/google-analytics.service.ts @@ -1,6 +1,8 @@ import { DOCUMENT } from '@angular/common'; -import { Inject, Injectable } from '@angular/core'; - +import { + Inject, + Injectable, +} from '@angular/core'; import { Angulartics2GoogleAnalytics, Angulartics2GoogleGlobalSiteTag, @@ -9,9 +11,9 @@ import { combineLatest } from 'rxjs'; import { ConfigurationDataService } from '../core/data/configuration-data.service'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; -import { isEmpty } from '../shared/empty.util'; import { KlaroService } from '../shared/cookies/klaro.service'; import { GOOGLE_ANALYTICS_KLARO_KEY } from '../shared/cookies/klaro-configuration'; +import { isEmpty } from '../shared/empty.util'; /** * Set up Google Analytics on the client side. diff --git a/src/app/statistics/statistics-endpoint.model.ts b/src/app/statistics/statistics-endpoint.model.ts index 89706f2c79..e1152e4a50 100644 --- a/src/app/statistics/statistics-endpoint.model.ts +++ b/src/app/statistics/statistics-endpoint.model.ts @@ -1,10 +1,14 @@ -import { HALLink } from '../core/shared/hal-link.model'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { typedObject } from '../core/cache/builders/build-decorators'; -import { excludeFromEquals } from '../core/utilities/equals.decorators'; -import { autoserialize, deserialize } from 'cerialize'; -import { ResourceType } from '../core/shared/resource-type'; -import { STATISTICS_ENDPOINT } from './statistics-endpoint.resource-type'; import { CacheableObject } from '../core/cache/cacheable-object.model'; +import { HALLink } from '../core/shared/hal-link.model'; +import { ResourceType } from '../core/shared/resource-type'; +import { excludeFromEquals } from '../core/utilities/equals.decorators'; +import { STATISTICS_ENDPOINT } from './statistics-endpoint.resource-type'; /** * Model class for the statistics endpoint diff --git a/src/app/statistics/statistics.module.ts b/src/app/statistics/statistics.module.ts index d0dad3b721..9e1c248da8 100644 --- a/src/app/statistics/statistics.module.ts +++ b/src/app/statistics/statistics.module.ts @@ -1,5 +1,9 @@ -import { ModuleWithProviders, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { + ModuleWithProviders, + NgModule, +} from '@angular/core'; + import { CoreModule } from '../core/core.module'; import { SharedModule } from '../shared/shared.module'; import { ViewTrackerComponent } from './angulartics/dspace/view-tracker.component'; diff --git a/src/app/statistics/statistics.service.spec.ts b/src/app/statistics/statistics.service.spec.ts index 3ea49aa796..522e5d0e99 100644 --- a/src/app/statistics/statistics.service.spec.ts +++ b/src/app/statistics/statistics.service.spec.ts @@ -1,11 +1,12 @@ -import { StatisticsService } from './statistics.service'; -import { RequestService } from '../core/data/request.service'; -import { HALEndpointServiceStub } from '../shared/testing/hal-endpoint-service.stub'; -import { getMockRequestService } from '../shared/mocks/request.service.mock'; import isEqual from 'lodash/isEqual'; -import { DSpaceObjectType } from '../core/shared/dspace-object-type.model'; -import { SearchOptions } from '../shared/search/models/search-options.model'; + +import { RequestService } from '../core/data/request.service'; import { RestRequest } from '../core/data/rest-request.model'; +import { DSpaceObjectType } from '../core/shared/dspace-object-type.model'; +import { getMockRequestService } from '../shared/mocks/request.service.mock'; +import { SearchOptions } from '../shared/search/models/search-options.model'; +import { HALEndpointServiceStub } from '../shared/testing/hal-endpoint-service.stub'; +import { StatisticsService } from './statistics.service'; describe('StatisticsService', () => { let service: StatisticsService; diff --git a/src/app/statistics/statistics.service.ts b/src/app/statistics/statistics.service.ts index 82147e35c5..6ce927b30e 100644 --- a/src/app/statistics/statistics.service.ts +++ b/src/app/statistics/statistics.service.ts @@ -1,12 +1,19 @@ -import { RequestService } from '../core/data/request.service'; import { Injectable } from '@angular/core'; -import { DSpaceObject } from '../core/shared/dspace-object.model'; -import { map, take } from 'rxjs/operators'; -import { TrackRequest } from './track-request.model'; -import { hasValue, isNotEmpty } from '../shared/empty.util'; -import { HALEndpointService } from '../core/shared/hal-endpoint.service'; -import { SearchOptions } from '../shared/search/models/search-options.model'; +import { + map, + take, +} from 'rxjs/operators'; + +import { RequestService } from '../core/data/request.service'; import { RestRequest } from '../core/data/rest-request.model'; +import { DSpaceObject } from '../core/shared/dspace-object.model'; +import { HALEndpointService } from '../core/shared/hal-endpoint.service'; +import { + hasValue, + isNotEmpty, +} from '../shared/empty.util'; +import { SearchOptions } from '../shared/search/models/search-options.model'; +import { TrackRequest } from './track-request.model'; /** * The statistics service diff --git a/src/app/store.actions.ts b/src/app/store.actions.ts index 59ce00a243..5839778ac0 100644 --- a/src/app/store.actions.ts +++ b/src/app/store.actions.ts @@ -1,6 +1,7 @@ -import { type } from './shared/ngrx/type'; import { Action } from '@ngrx/store'; + import { AppState } from './app.reducer'; +import { type } from './shared/ngrx/type'; export const StoreActionTypes = { REHYDRATE: type('dspace/ngrx/REHYDRATE'), diff --git a/src/app/store.effects.ts b/src/app/store.effects.ts index d57dfe8498..4efb940c3d 100644 --- a/src/app/store.effects.ts +++ b/src/app/store.effects.ts @@ -1,12 +1,19 @@ +import { Injectable } from '@angular/core'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; +import { + Action, + Store, +} from '@ngrx/store'; import { of as observableOf } from 'rxjs'; import { map } from 'rxjs/operators'; -import { Injectable } from '@angular/core'; -import { Action, Store } from '@ngrx/store'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; import { AppState } from './app.reducer'; -import { StoreActionTypes } from './store.actions'; import { HostWindowResizeAction } from './shared/host-window.actions'; +import { StoreActionTypes } from './store.actions'; @Injectable() export class StoreEffects { diff --git a/src/app/submission/edit/submission-edit.component.spec.ts b/src/app/submission/edit/submission-edit.component.spec.ts index 6af2f4947b..ac623e6c6a 100644 --- a/src/app/submission/edit/submission-edit.component.spec.ts +++ b/src/app/submission/edit/submission-edit.component.spec.ts @@ -1,25 +1,34 @@ -import { waitForAsync, ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute, Router } from '@angular/router'; import { NO_ERRORS_SCHEMA } from '@angular/core'; - +import { + ComponentFixture, + fakeAsync, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { SubmissionEditComponent } from './submission-edit.component'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { SubmissionService } from '../submission.service'; -import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; -import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; - -import { RouterStub } from '../../shared/testing/router.stub'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { mockSubmissionObject } from '../../shared/mocks/submission.mock'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { ItemDataService } from '../../core/data/item-data.service'; -import { SubmissionJsonPatchOperationsServiceStub } from '../../shared/testing/submission-json-patch-operations-service.stub'; import { SubmissionJsonPatchOperationsService } from '../../core/submission/submission-json-patch-operations.service'; +import { mockSubmissionObject } from '../../shared/mocks/submission.mock'; +import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { SubmissionJsonPatchOperationsServiceStub } from '../../shared/testing/submission-json-patch-operations-service.stub'; +import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; +import { SubmissionService } from '../submission.service'; +import { SubmissionEditComponent } from './submission-edit.component'; describe('SubmissionEditComponent Component', () => { diff --git a/src/app/submission/edit/submission-edit.component.ts b/src/app/submission/edit/submission-edit.component.ts index 2c2a4ef88a..153ed42588 100644 --- a/src/app/submission/edit/submission-edit.component.ts +++ b/src/app/submission/edit/submission-edit.component.ts @@ -1,24 +1,44 @@ -import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; -import { ActivatedRoute, ParamMap, Router } from '@angular/router'; - -import { BehaviorSubject, Subscription } from 'rxjs'; -import { debounceTime, filter, switchMap } from 'rxjs/operators'; +import { + ChangeDetectorRef, + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + ParamMap, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; +import { + debounceTime, + filter, + switchMap, +} from 'rxjs/operators'; -import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model'; -import { hasValue, isEmpty, isNotEmptyOperator, isNotNull } from '../../shared/empty.util'; import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model'; -import { SubmissionService } from '../submission.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { SubmissionObject } from '../../core/submission/models/submission-object.model'; -import { Collection } from '../../core/shared/collection.model'; +import { ItemDataService } from '../../core/data/item-data.service'; import { RemoteData } from '../../core/data/remote-data'; +import { Collection } from '../../core/shared/collection.model'; import { Item } from '../../core/shared/item.model'; import { getAllSucceededRemoteData } from '../../core/shared/operators'; -import { ItemDataService } from '../../core/data/item-data.service'; +import { SubmissionObject } from '../../core/submission/models/submission-object.model'; +import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model'; import { SubmissionJsonPatchOperationsService } from '../../core/submission/submission-json-patch-operations.service'; -import parseSectionErrors from '../utils/parseSectionErrors'; +import { + hasValue, + isEmpty, + isNotEmptyOperator, + isNotNull, +} from '../../shared/empty.util'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { SubmissionError } from '../objects/submission-error.model'; +import { SubmissionService } from '../submission.service'; +import parseSectionErrors from '../utils/parseSectionErrors'; /** * This component allows to edit an existing workspaceitem/workflowitem. diff --git a/src/app/submission/edit/themed-submission-edit.component.ts b/src/app/submission/edit/themed-submission-edit.component.ts index 95e5f75f0e..62e4c1a4da 100644 --- a/src/app/submission/edit/themed-submission-edit.component.ts +++ b/src/app/submission/edit/themed-submission-edit.component.ts @@ -2,6 +2,7 @@ * Themed wrapper for SubmissionEditComponent */ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { SubmissionEditComponent } from './submission-edit.component'; diff --git a/src/app/submission/form/collection/submission-form-collection.component.spec.ts b/src/app/submission/form/collection/submission-form-collection.component.spec.ts index 68d7f1d525..e2a90641e3 100644 --- a/src/app/submission/form/collection/submission-form-collection.component.spec.ts +++ b/src/app/submission/form/collection/submission-form-collection.component.spec.ts @@ -1,30 +1,47 @@ -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; - -import { TranslateModule } from '@ngx-translate/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; import { of } from 'rxjs'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { CommunityDataService } from '../../../core/data/community-data.service'; +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { Collection } from '../../../core/shared/collection.model'; +import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; +import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; +import { + mockSubmissionId, + mockSubmissionRestResponse, +} from '../../../shared/mocks/submission.mock'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { SubmissionJsonPatchOperationsServiceStub } from '../../../shared/testing/submission-json-patch-operations-service.stub'; import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { mockSubmissionId, mockSubmissionRestResponse } from '../../../shared/mocks/submission.mock'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { SectionsService } from '../../sections/sections.service'; import { SubmissionService } from '../../submission.service'; import { SubmissionFormCollectionComponent } from './submission-form-collection.component'; -import { CommunityDataService } from '../../../core/data/community-data.service'; -import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; -import { SubmissionJsonPatchOperationsServiceStub } from '../../../shared/testing/submission-json-patch-operations-service.stub'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { createTestComponent } from '../../../shared/testing/utils.test'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { SectionsService } from '../../sections/sections.service'; -import { Collection } from '../../../core/shared/collection.model'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; -import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock'; describe('SubmissionFormCollectionComponent Component', () => { diff --git a/src/app/submission/form/collection/submission-form-collection.component.ts b/src/app/submission/form/collection/submission-form-collection.component.ts index 31ddaef931..89d9112284 100644 --- a/src/app/submission/form/collection/submission-form-collection.component.ts +++ b/src/app/submission/form/collection/submission-form-collection.component.ts @@ -9,27 +9,35 @@ import { SimpleChanges, ViewChild, } from '@angular/core'; - -import { BehaviorSubject, Observable, of as observableOf, Subscription } from 'rxjs'; +import { + BehaviorSubject, + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; import { find, - map, mergeMap, + map, + mergeMap, } from 'rxjs/operators'; -import { Collection } from '../../../core/shared/collection.model'; -import { hasValue, isNotEmpty } from '../../../shared/empty.util'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { SubmissionService } from '../../submission.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; import { SubmissionObject } from '../../../core/submission/models/submission-object.model'; import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; import { CollectionDropdownComponent } from '../../../shared/collection-dropdown/collection-dropdown.component'; +import { + hasValue, + isNotEmpty, +} from '../../../shared/empty.util'; import { SectionsService } from '../../sections/sections.service'; -import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; import { SectionsType } from '../../sections/sections-type'; -import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { SubmissionService } from '../../submission.service'; /** * This component allows to show the current collection the submission belonging to and to change it. diff --git a/src/app/submission/form/footer/submission-form-footer.component.spec.ts b/src/app/submission/form/footer/submission-form-footer.component.spec.ts index 7e9df71cb7..14270f2dea 100644 --- a/src/app/submission/form/footer/submission-form-footer.component.spec.ts +++ b/src/app/submission/form/footer/submission-form-footer.component.spec.ts @@ -1,21 +1,37 @@ -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, SimpleChange } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, + SimpleChange, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { TestScheduler } from 'rxjs/testing'; -import { of as observableOf } from 'rxjs'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { + NgbModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { mockSubmissionId } from '../../../shared/mocks/submission.mock'; -import { SubmissionService } from '../../submission.service'; -import { SubmissionRestServiceStub } from '../../../shared/testing/submission-rest-service.stub'; -import { SubmissionFormFooterComponent } from './submission-form-footer.component'; import { SubmissionRestService } from '../../../core/submission/submission-rest.service'; -import { createTestComponent } from '../../../shared/testing/utils.test'; +import { mockSubmissionId } from '../../../shared/mocks/submission.mock'; import { BrowserOnlyMockPipe } from '../../../shared/testing/browser-only-mock.pipe'; +import { SubmissionRestServiceStub } from '../../../shared/testing/submission-rest-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { SubmissionService } from '../../submission.service'; +import { SubmissionFormFooterComponent } from './submission-form-footer.component'; const submissionServiceStub: SubmissionServiceStub = new SubmissionServiceStub(); diff --git a/src/app/submission/form/footer/submission-form-footer.component.ts b/src/app/submission/form/footer/submission-form-footer.component.ts index 51ecd79d03..1db4b606d7 100644 --- a/src/app/submission/form/footer/submission-form-footer.component.ts +++ b/src/app/submission/form/footer/submission-form-footer.component.ts @@ -1,13 +1,20 @@ -import { Component, Input, OnChanges, SimpleChanges } from '@angular/core'; - -import { Observable, of as observableOf } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { + Component, + Input, + OnChanges, + SimpleChanges, +} from '@angular/core'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { + Observable, + of as observableOf, +} from 'rxjs'; +import { map } from 'rxjs/operators'; import { SubmissionRestService } from '../../../core/submission/submission-rest.service'; -import { SubmissionService } from '../../submission.service'; import { SubmissionScopeType } from '../../../core/submission/submission-scope-type'; import { isNotEmpty } from '../../../shared/empty.util'; +import { SubmissionService } from '../../submission.service'; /** * This component represents submission form footer bar. diff --git a/src/app/submission/form/section-add/submission-form-section-add.component.spec.ts b/src/app/submission/form/section-add/submission-form-section-add.component.spec.ts index dff7438402..fe59c06357 100644 --- a/src/app/submission/form/section-add/submission-form-section-add.component.spec.ts +++ b/src/app/submission/form/section-add/submission-form-section-add.component.spec.ts @@ -1,21 +1,35 @@ -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, + DebugElement, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { of as observableOf } from 'rxjs'; -import { TranslateModule } from '@ngx-translate/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { Store } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; +import { HostWindowService } from '../../../shared/host-window.service'; +import { + mockSubmissionCollectionId, + mockSubmissionId, +} from '../../../shared/mocks/submission.mock'; +import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { mockSubmissionCollectionId, mockSubmissionId } from '../../../shared/mocks/submission.mock'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { SectionsService } from '../../sections/sections.service'; import { SubmissionService } from '../../submission.service'; import { SubmissionFormSectionAddComponent } from './submission-form-section-add.component'; -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; -import { SectionsService } from '../../sections/sections.service'; -import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; -import { HostWindowService } from '../../../shared/host-window.service'; -import { createTestComponent } from '../../../shared/testing/utils.test'; const mockAvailableSections: any = [ { diff --git a/src/app/submission/form/section-add/submission-form-section-add.component.ts b/src/app/submission/form/section-add/submission-form-section-add.component.ts index 4d9a3ed862..60452aa51b 100644 --- a/src/app/submission/form/section-add/submission-form-section-add.component.ts +++ b/src/app/submission/form/section-add/submission-form-section-add.component.ts @@ -1,12 +1,15 @@ -import { Component, Input, OnInit } from '@angular/core'; - +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { SectionsService } from '../../sections/sections.service'; import { HostWindowService } from '../../../shared/host-window.service'; -import { SubmissionService } from '../../submission.service'; import { SectionDataObject } from '../../sections/models/section-data.model'; +import { SectionsService } from '../../sections/sections.service'; +import { SubmissionService } from '../../submission.service'; /** * This component allow to add any new section to submission form diff --git a/src/app/submission/form/submission-form.component.spec.ts b/src/app/submission/form/submission-form.component.spec.ts index d2f1b1c1e5..94001f14fa 100644 --- a/src/app/submission/form/submission-form.component.spec.ts +++ b/src/app/submission/form/submission-form.component.spec.ts @@ -1,10 +1,25 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA, SimpleChange } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, + SimpleChange, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { TestScheduler } from 'rxjs/testing'; -import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; +import { AuthService } from '../../core/auth/auth.service'; +import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; +import { Item } from '../../core/shared/item.model'; import { mockSectionsData, mockSectionsList, @@ -15,17 +30,14 @@ import { mockSubmissionSelfUrl, mockSubmissionState, } from '../../shared/mocks/submission.mock'; -import { SubmissionService } from '../submission.service'; -import { SubmissionFormComponent } from './submission-form.component'; -import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; import { AuthServiceStub } from '../../shared/testing/auth-service.stub'; -import { AuthService } from '../../core/auth/auth.service'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; import { createTestComponent } from '../../shared/testing/utils.test'; -import { Item } from '../../core/shared/item.model'; -import { TestScheduler } from 'rxjs/testing'; import { SectionsService } from '../sections/sections.service'; import { VisibilityType } from '../sections/visibility-type'; +import { SubmissionService } from '../submission.service'; +import { SubmissionFormComponent } from './submission-form.component'; describe('SubmissionFormComponent Component', () => { diff --git a/src/app/submission/form/submission-form.component.ts b/src/app/submission/form/submission-form.component.ts index 4424b987ee..d697b64f9d 100644 --- a/src/app/submission/form/submission-form.component.ts +++ b/src/app/submission/form/submission-form.component.ts @@ -1,27 +1,48 @@ -import { ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + Input, + OnChanges, + OnDestroy, + SimpleChanges, +} from '@angular/core'; +import isEqual from 'lodash/isEqual'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + switchMap, +} from 'rxjs/operators'; -import { Observable, of as observableOf, Subscription } from 'rxjs'; -import { distinctUntilChanged, filter, map, switchMap } from 'rxjs/operators'; import { AuthService } from '../../core/auth/auth.service'; import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model'; import { Collection } from '../../core/shared/collection.model'; import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; +import { Item } from '../../core/shared/item.model'; import { SubmissionObject } from '../../core/submission/models/submission-object.model'; import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model'; - -import { hasValue, isNotEmpty, isNotUndefined } from '../../shared/empty.util'; +import { + hasValue, + isNotEmpty, + isNotUndefined, +} from '../../shared/empty.util'; import { UploaderOptions } from '../../shared/upload/uploader/uploader-options.model'; +import { SubmissionError } from '../objects/submission-error.model'; import { SubmissionObjectEntry } from '../objects/submission-objects.reducer'; import { SectionDataObject } from '../sections/models/section-data.model'; -import { SubmissionService } from '../submission.service'; -import { Item } from '../../core/shared/item.model'; -import { SectionsType } from '../sections/sections-type'; import { SectionsService } from '../sections/sections.service'; -import { SubmissionError } from '../objects/submission-error.model'; -import { SubmissionSectionVisibility } from './../../core/config/models/config-submission-section.model'; -import { SubmissionSectionModel } from './../../core/config/models/config-submission-section.model'; +import { SectionsType } from '../sections/sections-type'; import { VisibilityType } from '../sections/visibility-type'; -import isEqual from 'lodash/isEqual'; +import { SubmissionService } from '../submission.service'; +import { + SubmissionSectionModel, + SubmissionSectionVisibility, +} from './../../core/config/models/config-submission-section.model'; /** * This component represents the submission form. diff --git a/src/app/submission/form/submission-upload-files/submission-upload-files.component.spec.ts b/src/app/submission/form/submission-upload-files/submission-upload-files.component.spec.ts index 9570c20793..28f6803c48 100644 --- a/src/app/submission/form/submission-upload-files/submission-upload-files.component.spec.ts +++ b/src/app/submission/form/submission-upload-files/submission-upload-files.component.spec.ts @@ -1,11 +1,26 @@ -import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { of as observableOf } from 'rxjs'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + ChangeDetectorRef, + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Store } from '@ngrx/store'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; import { mockSectionsData, mockSubmissionCollectionId, @@ -15,20 +30,18 @@ import { mockUploadResponse2Errors, mockUploadResponse2ParsedErrors, } from '../../../shared/mocks/submission.mock'; -import { SubmissionService } from '../../submission.service'; - -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; -import { SectionsService } from '../../sections/sections.service'; -import { SubmissionUploadFilesComponent } from './submission-upload-files.component'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { getMockTranslateService } from '../../../shared/mocks/translate.service.mock'; -import { cold, hot } from 'jasmine-marbles'; -import { SubmissionJsonPatchOperationsServiceStub } from '../../../shared/testing/submission-json-patch-operations-service.stub'; -import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { SharedModule } from '../../../shared/shared.module'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionJsonPatchOperationsServiceStub } from '../../../shared/testing/submission-json-patch-operations-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; import { createTestComponent } from '../../../shared/testing/utils.test'; import { UploaderOptions } from '../../../shared/upload/uploader/uploader-options.model'; +import { SectionsService } from '../../sections/sections.service'; +import { SubmissionService } from '../../submission.service'; +import { SubmissionUploadFilesComponent } from './submission-upload-files.component'; describe('SubmissionUploadFilesComponent Component', () => { diff --git a/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts b/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts index 3ca44c360a..630356b1f8 100644 --- a/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts +++ b/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts @@ -1,19 +1,33 @@ -import { Component, Input, OnChanges } from '@angular/core'; - +import { + Component, + Input, + OnChanges, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf, Subscription } from 'rxjs'; -import { first, take } from 'rxjs/operators'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + first, + take, +} from 'rxjs/operators'; -import { SectionsService } from '../../sections/sections.service'; -import { hasValue, isEmpty, isNotEmpty } from '../../../shared/empty.util'; +import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; +import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; import { normalizeSectionData } from '../../../core/submission/submission-response-parsing.service'; -import { SubmissionService } from '../../submission.service'; +import { + hasValue, + isEmpty, + isNotEmpty, +} from '../../../shared/empty.util'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { UploaderOptions } from '../../../shared/upload/uploader/uploader-options.model'; -import parseSectionErrors from '../../utils/parseSectionErrors'; -import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; -import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; +import { SectionsService } from '../../sections/sections.service'; import { SectionsType } from '../../sections/sections-type'; +import { SubmissionService } from '../../submission.service'; +import parseSectionErrors from '../../utils/parseSectionErrors'; /** * This component represents the drop zone that provides to add files to the submission. diff --git a/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.spec.ts b/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.spec.ts index 9bccf0d943..0ad28959ed 100644 --- a/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.spec.ts +++ b/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.spec.ts @@ -1,11 +1,21 @@ -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; + +import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; import { createTestComponent } from '../../../shared/testing/utils.test'; import { SubmissionImportExternalCollectionComponent } from './submission-import-external-collection.component'; -import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { By } from '@angular/platform-browser'; describe('SubmissionImportExternalCollectionComponent test suite', () => { let comp: SubmissionImportExternalCollectionComponent; diff --git a/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.ts b/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.ts index e8864f6a9e..0642d4156b 100644 --- a/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.ts +++ b/src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.ts @@ -1,7 +1,12 @@ -import { Component, EventEmitter, Output } from '@angular/core'; -import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; +import { + Component, + EventEmitter, + Output, +} from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; + /** * Wrap component for 'ds-collection-dropdown'. */ diff --git a/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.spec.ts b/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.spec.ts index 279ca5d9d0..210ae9cf27 100644 --- a/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.spec.ts +++ b/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.spec.ts @@ -1,24 +1,34 @@ -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { Router } from '@angular/router'; - +import { + NgbActiveModal, + NgbModal, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; -import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { TestScheduler } from 'rxjs/testing'; -import { of as observableOf } from 'rxjs'; import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; -import { SubmissionImportExternalPreviewComponent } from './submission-import-external-preview.component'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { SubmissionService } from '../../submission.service'; -import { createTestComponent } from '../../../shared/testing/utils.test'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; import { ExternalSourceEntry } from '../../../core/shared/external-source-entry.model'; import { Metadata } from '../../../core/shared/metadata.utils'; -import { SubmissionImportExternalCollectionComponent } from '../import-external-collection/submission-import-external-collection.component'; import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { SubmissionService } from '../../submission.service'; +import { SubmissionImportExternalCollectionComponent } from '../import-external-collection/submission-import-external-collection.component'; +import { SubmissionImportExternalPreviewComponent } from './submission-import-external-preview.component'; const externalEntry = Object.assign(new ExternalSourceEntry(), { id: '0001-0001-0001-0001', diff --git a/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.ts b/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.ts index 84eab58e91..279e087093 100644 --- a/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.ts +++ b/src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.ts @@ -1,14 +1,23 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; -import { NgbActiveModal, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { + NgbActiveModal, + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { mergeMap } from 'rxjs/operators'; + import { ExternalSourceEntry } from '../../../core/shared/external-source-entry.model'; import { MetadataValue } from '../../../core/shared/metadata.models'; import { Metadata } from '../../../core/shared/metadata.utils'; -import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; -import { mergeMap } from 'rxjs/operators'; -import { SubmissionService } from '../../submission.service'; import { SubmissionObject } from '../../../core/submission/models/submission-object.model'; +import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { SubmissionService } from '../../submission.service'; import { SubmissionImportExternalCollectionComponent } from '../import-external-collection/submission-import-external-collection.component'; /** diff --git a/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.spec.ts b/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.spec.ts index 783f665a40..5828c3fd9a 100644 --- a/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.spec.ts +++ b/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.spec.ts @@ -1,29 +1,42 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { TranslateModule } from '@ngx-translate/core'; -import { of as observableOf } from 'rxjs'; import { - SourceElement, - SubmissionImportExternalSearchbarComponent, -} from './submission-import-external-searchbar.component'; + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { TranslateModule } from '@ngx-translate/core'; +import { getTestScheduler } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; +import { TestScheduler } from 'rxjs/testing'; + +import { RequestParam } from '../../../core/cache/models/request-param.model'; import { ExternalSourceDataService } from '../../../core/data/external-source-data.service'; -import { createTestComponent } from '../../../shared/testing/utils.test'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; +import { ExternalSource } from '../../../core/shared/external-source.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; +import { HostWindowService } from '../../../shared/host-window.service'; import { externalSourceCiencia, externalSourceMyStaffDb, externalSourceOrcid, getMockExternalSourceService, } from '../../../shared/mocks/external-source.service.mock'; -import { PageInfo } from '../../../core/shared/page-info.model'; -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; -import { ExternalSource } from '../../../core/shared/external-source.model'; -import { HostWindowService } from '../../../shared/host-window.service'; import { HostWindowServiceStub } from '../../../shared/testing/host-window-service.stub'; -import { getTestScheduler } from 'jasmine-marbles'; -import { TestScheduler } from 'rxjs/testing'; -import { RequestParam } from '../../../core/cache/models/request-param.model'; -import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { + SourceElement, + SubmissionImportExternalSearchbarComponent, +} from './submission-import-external-searchbar.component'; describe('SubmissionImportExternalSearchbarComponent test suite', () => { let comp: SubmissionImportExternalSearchbarComponent; diff --git a/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.ts b/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.ts index 4cf45efb4e..a3fd396dc2 100644 --- a/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.ts +++ b/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.ts @@ -1,19 +1,39 @@ -import { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; - -import { Observable, of as observableOf, Subscription } from 'rxjs'; -import { catchError, tap } from 'rxjs/operators'; +import { + ChangeDetectorRef, + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from '@angular/core'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + catchError, + tap, +} from 'rxjs/operators'; import { RequestParam } from '../../../core/cache/models/request-param.model'; import { ExternalSourceDataService } from '../../../core/data/external-source-data.service'; -import { ExternalSource } from '../../../core/shared/external-source.model'; -import { buildPaginatedList, PaginatedList } from '../../../core/data/paginated-list.model'; -import { RemoteData } from '../../../core/data/remote-data'; -import { PageInfo } from '../../../core/shared/page-info.model'; -import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; -import { getFirstSucceededRemoteData, getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { HostWindowService } from '../../../shared/host-window.service'; -import { hasValue } from '../../../shared/empty.util'; import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../core/data/paginated-list.model'; +import { RemoteData } from '../../../core/data/remote-data'; +import { ExternalSource } from '../../../core/shared/external-source.model'; +import { + getFirstSucceededRemoteData, + getFirstSucceededRemoteDataPayload, +} from '../../../core/shared/operators'; +import { PageInfo } from '../../../core/shared/page-info.model'; +import { hasValue } from '../../../shared/empty.util'; +import { HostWindowService } from '../../../shared/host-window.service'; +import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; /** * Interface for the selected external source element. diff --git a/src/app/submission/import-external/submission-import-external.component.spec.ts b/src/app/submission/import-external/submission-import-external.component.spec.ts index 8eb97cfe04..e53136ab70 100644 --- a/src/app/submission/import-external/submission-import-external.component.spec.ts +++ b/src/app/submission/import-external/submission-import-external.component.spec.ts @@ -1,33 +1,43 @@ -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { getTestScheduler } from 'jasmine-marbles'; -import { TranslateModule } from '@ngx-translate/core'; +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { Router } from '@angular/router'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { getTestScheduler } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { SubmissionImportExternalComponent } from './submission-import-external.component'; import { ExternalSourceDataService } from '../../core/data/external-source-data.service'; -import { getMockExternalSourceService } from '../../shared/mocks/external-source.service.mock'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; import { RouteService } from '../../core/services/route.service'; -import { createPaginatedList, createTestComponent } from '../../shared/testing/utils.test'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { VarDirective } from '../../shared/utils/var.directive'; -import { routeServiceStub } from '../../shared/testing/route-service.stub'; -import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { getMockExternalSourceService } from '../../shared/mocks/external-source.service.mock'; import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$, } from '../../shared/remote-data.utils'; -import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model'; +import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; +import { routeServiceStub } from '../../shared/testing/route-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { + createPaginatedList, + createTestComponent, +} from '../../shared/testing/utils.test'; +import { VarDirective } from '../../shared/utils/var.directive'; import { SubmissionImportExternalPreviewComponent } from './import-external-preview/submission-import-external-preview.component'; -import { By } from '@angular/platform-browser'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { SubmissionImportExternalComponent } from './submission-import-external.component'; describe('SubmissionImportExternalComponent test suite', () => { let comp: SubmissionImportExternalComponent; diff --git a/src/app/submission/import-external/submission-import-external.component.ts b/src/app/submission/import-external/submission-import-external.component.ts index 1a8a24f1b5..7e581e4da7 100644 --- a/src/app/submission/import-external/submission-import-external.component.ts +++ b/src/app/submission/import-external/submission-import-external.component.ts @@ -1,28 +1,48 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { Router } from '@angular/router'; - -import { BehaviorSubject, combineLatest, Subscription } from 'rxjs'; -import { filter, mergeMap, switchMap, take, tap } from 'rxjs/operators'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { + BehaviorSubject, + combineLatest, + Subscription, +} from 'rxjs'; +import { + filter, + mergeMap, + switchMap, + take, + tap, +} from 'rxjs/operators'; import { ExternalSourceDataService } from '../../core/data/external-source-data.service'; -import { ExternalSourceData } from './import-external-searchbar/submission-import-external-searchbar.component'; -import { RemoteData } from '../../core/data/remote-data'; -import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; -import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model'; -import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; -import { Context } from '../../core/shared/context.model'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { RouteService } from '../../core/services/route.service'; -import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { - SubmissionImportExternalPreviewComponent, -} from './import-external-preview/submission-import-external-preview.component'; -import { fadeIn } from '../../shared/animations/fade'; -import { PageInfo } from '../../core/shared/page-info.model'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { getFinishedRemoteData } from '../../core/shared/operators'; + buildPaginatedList, + PaginatedList, +} from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { RouteService } from '../../core/services/route.service'; +import { Context } from '../../core/shared/context.model'; +import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model'; import { NONE_ENTITY_TYPE } from '../../core/shared/item-relationships/item-type.resource-type'; +import { getFinishedRemoteData } from '../../core/shared/operators'; +import { PageInfo } from '../../core/shared/page-info.model'; +import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service'; +import { fadeIn } from '../../shared/animations/fade'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; +import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; +import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { SubmissionImportExternalPreviewComponent } from './import-external-preview/submission-import-external-preview.component'; +import { ExternalSourceData } from './import-external-searchbar/submission-import-external-searchbar.component'; /** * This component allows to submit a new workspaceitem importing the data from an external source. diff --git a/src/app/submission/import-external/themed-submission-import-external.component.ts b/src/app/submission/import-external/themed-submission-import-external.component.ts index 55dd6cc517..a452ad09a9 100644 --- a/src/app/submission/import-external/themed-submission-import-external.component.ts +++ b/src/app/submission/import-external/themed-submission-import-external.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { SubmissionImportExternalComponent } from './submission-import-external.component'; diff --git a/src/app/submission/objects/submission-objects.actions.ts b/src/app/submission/objects/submission-objects.actions.ts index f3d949d867..41fa9eda2b 100644 --- a/src/app/submission/objects/submission-objects.actions.ts +++ b/src/app/submission/objects/submission-objects.actions.ts @@ -1,16 +1,16 @@ /* eslint-disable max-classes-per-file */ import { Action } from '@ngrx/store'; -import { type } from '../../shared/ngrx/type'; +import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model'; +import { Item } from '../../core/shared/item.model'; +import { SubmissionObject } from '../../core/submission/models/submission-object.model'; import { WorkspaceitemSectionUploadFileObject } from '../../core/submission/models/workspaceitem-section-upload-file.model'; import { WorkspaceitemSectionDataType, WorkspaceitemSectionsObject, } from '../../core/submission/models/workspaceitem-sections.model'; -import { SubmissionObject } from '../../core/submission/models/submission-object.model'; -import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model'; +import { type } from '../../shared/ngrx/type'; import { SectionsType } from '../sections/sections-type'; -import { Item } from '../../core/shared/item.model'; import { SectionVisibility } from './section-visibility.model'; import { SubmissionError } from './submission-error.model'; import { SubmissionSectionError } from './submission-section-error.model'; diff --git a/src/app/submission/objects/submission-objects.effects.spec.ts b/src/app/submission/objects/submission-objects.effects.spec.ts index f599404908..e68c91e9ab 100644 --- a/src/app/submission/objects/submission-objects.effects.spec.ts +++ b/src/app/submission/objects/submission-objects.effects.spec.ts @@ -1,12 +1,59 @@ import { TestBed } from '@angular/core/testing'; - -import { cold, hot } from 'jasmine-marbles'; import { provideMockActions } from '@ngrx/effects/testing'; -import { Store, StoreModule } from '@ngrx/store'; -import { Observable, of as observableOf, throwError as observableThrowError } from 'rxjs'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + cold, + hot, +} from 'jasmine-marbles'; +import { + Observable, + of as observableOf, + throwError as observableThrowError, +} from 'rxjs'; -import { SubmissionObjectEffects } from './submission-objects.effects'; +import { + AppState, + storeModuleConfig, +} from '../../app.reducer'; +import { SubmissionSectionModel } from '../../core/config/models/config-submission-section.model'; +import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; +import { Item } from '../../core/shared/item.model'; +import { SubmissionJsonPatchOperationsService } from '../../core/submission/submission-json-patch-operations.service'; +import { SubmissionObjectDataService } from '../../core/submission/submission-object-data.service'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; +import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; +import { + mockSectionsData, + mockSectionsDataTwo, + mockSectionsErrors, + mockSectionsErrorsTouchedField, + mockSubmissionCollectionId, + mockSubmissionDefinition, + mockSubmissionDefinitionResponse, + mockSubmissionId, + mockSubmissionRestResponse, + mockSubmissionSelfUrl, + mockSubmissionState, +} from '../../shared/mocks/submission.mock'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { SectionsServiceStub } from '../../shared/testing/sections-service.stub'; +import { StoreMock } from '../../shared/testing/store.mock'; +import { SubmissionJsonPatchOperationsServiceStub } from '../../shared/testing/submission-json-patch-operations-service.stub'; +import { mockSubmissionObjectDataService } from '../../shared/testing/submission-oject-data-service.mock'; +import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; +import { SectionsService } from '../sections/sections.service'; +import { SubmissionService } from '../submission.service'; +import parseSectionErrors from '../utils/parseSectionErrors'; import { CompleteInitSubmissionFormAction, DepositSubmissionAction, @@ -24,38 +71,7 @@ import { SubmissionObjectActionTypes, UpdateSectionDataAction, } from './submission-objects.actions'; -import { - mockSectionsData, - mockSectionsDataTwo, - mockSectionsErrors, - mockSectionsErrorsTouchedField, - mockSubmissionCollectionId, - mockSubmissionDefinition, - mockSubmissionDefinitionResponse, - mockSubmissionId, - mockSubmissionRestResponse, - mockSubmissionSelfUrl, - mockSubmissionState, -} from '../../shared/mocks/submission.mock'; -import { SubmissionSectionModel } from '../../core/config/models/config-submission-section.model'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { SubmissionJsonPatchOperationsServiceStub } from '../../shared/testing/submission-json-patch-operations-service.stub'; -import { SubmissionJsonPatchOperationsService } from '../../core/submission/submission-json-patch-operations.service'; -import { SectionsService } from '../sections/sections.service'; -import { SectionsServiceStub } from '../../shared/testing/sections-service.stub'; -import { SubmissionService } from '../submission.service'; -import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { StoreMock } from '../../shared/testing/store.mock'; -import { AppState, storeModuleConfig } from '../../app.reducer'; -import parseSectionErrors from '../utils/parseSectionErrors'; -import { Item } from '../../core/shared/item.model'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; -import { SubmissionObjectDataService } from '../../core/submission/submission-object-data.service'; -import { mockSubmissionObjectDataService } from '../../shared/testing/submission-oject-data-service.mock'; +import { SubmissionObjectEffects } from './submission-objects.effects'; describe('SubmissionObjectEffects test suite', () => { let submissionObjectEffects: SubmissionObjectEffects; diff --git a/src/app/submission/objects/submission-objects.effects.ts b/src/app/submission/objects/submission-objects.effects.ts index 7ea0338687..509477ba8b 100644 --- a/src/app/submission/objects/submission-objects.effects.ts +++ b/src/app/submission/objects/submission-objects.effects.ts @@ -1,25 +1,53 @@ import { Injectable } from '@angular/core'; -import { Actions, createEffect, ofType } from '@ngrx/effects'; +import { + Actions, + createEffect, + ofType, +} from '@ngrx/effects'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; import findKey from 'lodash/findKey'; import isEqual from 'lodash/isEqual'; import union from 'lodash/union'; +import { + from as observableFrom, + Observable, + of as observableOf, +} from 'rxjs'; +import { + catchError, + filter, + map, + mergeMap, + switchMap, + take, + tap, + withLatestFrom, +} from 'rxjs/operators'; -import { from as observableFrom, Observable, of as observableOf } from 'rxjs'; -import { catchError, filter, map, mergeMap, switchMap, take, tap, withLatestFrom } from 'rxjs/operators'; +import { RemoteData } from '../../core/data/remote-data'; +import { Item } from '../../core/shared/item.model'; +import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; import { SubmissionObject } from '../../core/submission/models/submission-object.model'; import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; +import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; import { WorkspaceitemSectionUploadObject } from '../../core/submission/models/workspaceitem-section-upload.model'; import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model'; -import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; import { SubmissionJsonPatchOperationsService } from '../../core/submission/submission-json-patch-operations.service'; -import { isEmpty, isNotEmpty, isNotUndefined } from '../../shared/empty.util'; +import { SubmissionObjectDataService } from '../../core/submission/submission-object-data.service'; +import { + isEmpty, + isNotEmpty, + isNotUndefined, +} from '../../shared/empty.util'; +import { FormState } from '../../shared/form/form.reducer'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { SectionsType } from '../sections/sections-type'; +import { followLink } from '../../shared/utils/follow-link-config.model'; import { SectionsService } from '../sections/sections.service'; +import { SectionsType } from '../sections/sections-type'; import { SubmissionState } from '../submission.reducers'; import { SubmissionService } from '../submission.service'; +import parseSectionErrorPaths, { SectionErrorPath } from '../utils/parseSectionErrorPaths'; import parseSectionErrors from '../utils/parseSectionErrors'; import { CompleteInitSubmissionFormAction, @@ -46,15 +74,8 @@ import { UpdateSectionDataSuccessAction, } from './submission-objects.actions'; import { SubmissionObjectEntry } from './submission-objects.reducer'; -import { Item } from '../../core/shared/item.model'; -import { RemoteData } from '../../core/data/remote-data'; -import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; -import { SubmissionObjectDataService } from '../../core/submission/submission-object-data.service'; -import { followLink } from '../../shared/utils/follow-link-config.model'; -import parseSectionErrorPaths, { SectionErrorPath } from '../utils/parseSectionErrorPaths'; -import { FormState } from '../../shared/form/form.reducer'; -import { SubmissionSectionObject } from './submission-section-object.model'; import { SubmissionSectionError } from './submission-section-error.model'; +import { SubmissionSectionObject } from './submission-section-object.model'; @Injectable() export class SubmissionObjectEffects { diff --git a/src/app/submission/objects/submission-objects.reducer.spec.ts b/src/app/submission/objects/submission-objects.reducer.spec.ts index 82ad2b406a..f8b8236fdb 100644 --- a/src/app/submission/objects/submission-objects.reducer.spec.ts +++ b/src/app/submission/objects/submission-objects.reducer.spec.ts @@ -1,4 +1,12 @@ -import { submissionObjectReducer, SubmissionObjectState } from './submission-objects.reducer'; +import { Item } from '../../core/shared/item.model'; +import { + mockSubmissionCollectionId, + mockSubmissionDefinitionResponse, + mockSubmissionId, + mockSubmissionSelfUrl, + mockSubmissionState, +} from '../../shared/mocks/submission.mock'; +import { SectionsType } from '../sections/sections-type'; import { CancelSubmissionFormAction, ChangeSubmissionCollectionAction, @@ -32,15 +40,10 @@ import { SubmissionObjectAction, UpdateSectionDataAction, } from './submission-objects.actions'; -import { SectionsType } from '../sections/sections-type'; import { - mockSubmissionCollectionId, - mockSubmissionDefinitionResponse, - mockSubmissionId, - mockSubmissionSelfUrl, - mockSubmissionState, -} from '../../shared/mocks/submission.mock'; -import { Item } from '../../core/shared/item.model'; + submissionObjectReducer, + SubmissionObjectState, +} from './submission-objects.reducer'; describe('submissionReducer test suite', () => { diff --git a/src/app/submission/objects/submission-objects.reducer.ts b/src/app/submission/objects/submission-objects.reducer.ts index fa93fa297d..bb220c706d 100644 --- a/src/app/submission/objects/submission-objects.reducer.ts +++ b/src/app/submission/objects/submission-objects.reducer.ts @@ -1,9 +1,16 @@ -import { hasValue, isEmpty, isNotEmpty, isNotNull, isUndefined } from '../../shared/empty.util'; import differenceWith from 'lodash/differenceWith'; import findKey from 'lodash/findKey'; import isEqual from 'lodash/isEqual'; import uniqWith from 'lodash/uniqWith'; +import { WorkspaceitemSectionUploadObject } from '../../core/submission/models/workspaceitem-section-upload.model'; +import { + hasValue, + isEmpty, + isNotEmpty, + isNotNull, + isUndefined, +} from '../../shared/empty.util'; import { ChangeSubmissionCollectionAction, CompleteInitSubmissionFormAction, @@ -38,7 +45,6 @@ import { SubmissionObjectActionTypes, UpdateSectionDataAction, } from './submission-objects.actions'; -import { WorkspaceitemSectionUploadObject } from '../../core/submission/models/workspaceitem-section-upload.model'; import { SubmissionSectionObject } from './submission-section-object.model'; /** diff --git a/src/app/submission/objects/submission-section-object.model.ts b/src/app/submission/objects/submission-section-object.model.ts index 16e437da80..7338539607 100644 --- a/src/app/submission/objects/submission-section-object.model.ts +++ b/src/app/submission/objects/submission-section-object.model.ts @@ -1,6 +1,6 @@ +import { WorkspaceitemSectionDataType } from '../../core/submission/models/workspaceitem-sections.model'; import { SectionsType } from '../sections/sections-type'; import { SectionVisibility } from './section-visibility.model'; -import { WorkspaceitemSectionDataType } from '../../core/submission/models/workspaceitem-sections.model'; import { SubmissionSectionError } from './submission-section-error.model'; /** diff --git a/src/app/submission/sections/accesses/section-accesses.component.spec.ts b/src/app/submission/sections/accesses/section-accesses.component.spec.ts index 40dcb751f9..c30afafd05 100644 --- a/src/app/submission/sections/accesses/section-accesses.component.spec.ts +++ b/src/app/submission/sections/accesses/section-accesses.component.spec.ts @@ -1,45 +1,49 @@ -import { FormService } from '../../../shared/form/form.service'; -import { ComponentFixture, inject, TestBed } from '@angular/core/testing'; - -import { SubmissionSectionAccessesComponent } from './section-accesses.component'; -import { SectionsService } from '../sections.service'; -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; - -import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; -import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; -import { SubmissionAccessesConfigDataService } from '../../../core/config/submission-accesses-config-data.service'; import { - getSubmissionAccessesConfigNotChangeDiscoverableService, - getSubmissionAccessesConfigService, -} from '../../../shared/mocks/section-accesses-config.service.mock'; -import { SectionAccessesService } from './section-accesses.service'; -import { SectionFormOperationsService } from '../form/section-form-operations.service'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { - SubmissionJsonPatchOperationsService, -} from '../../../core/submission/submission-json-patch-operations.service'; -import { getSectionAccessesService } from '../../../shared/mocks/section-accesses.service.mock'; -import { getMockFormOperationsService } from '../../../shared/mocks/form-operations-service.mock'; -import { getMockTranslateService } from '../../../shared/mocks/translate.service.mock'; -import { - SubmissionJsonPatchOperationsServiceStub, -} from '../../../shared/testing/submission-json-patch-operations-service.stub'; + ComponentFixture, + inject, + TestBed, +} from '@angular/core/testing'; import { BrowserModule } from '@angular/platform-browser'; - -import { of as observableOf } from 'rxjs'; -import { Store } from '@ngrx/store'; -import { FormComponent } from '../../../shared/form/form.component'; import { DynamicCheckboxModel, DynamicDatePickerModel, DynamicFormArrayModel, DynamicSelectModel, } from '@ng-dynamic-forms/core'; +import { Store } from '@ngrx/store'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { AppState } from '../../../app.reducer'; +import { SubmissionAccessesConfigDataService } from '../../../core/config/submission-accesses-config-data.service'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; +import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormComponent } from '../../../shared/form/form.component'; +import { FormService } from '../../../shared/form/form.service'; +import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; +import { getMockFormOperationsService } from '../../../shared/mocks/form-operations-service.mock'; import { getMockFormService } from '../../../shared/mocks/form-service.mock'; +import { getSectionAccessesService } from '../../../shared/mocks/section-accesses.service.mock'; +import { + getSubmissionAccessesConfigNotChangeDiscoverableService, + getSubmissionAccessesConfigService, +} from '../../../shared/mocks/section-accesses-config.service.mock'; import { mockAccessesFormData } from '../../../shared/mocks/submission.mock'; -import { accessConditionChangeEvent, checkboxChangeEvent } from '../../../shared/testing/form-event.stub'; +import { getMockTranslateService } from '../../../shared/mocks/translate.service.mock'; +import { + accessConditionChangeEvent, + checkboxChangeEvent, +} from '../../../shared/testing/form-event.stub'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionJsonPatchOperationsServiceStub } from '../../../shared/testing/submission-json-patch-operations-service.stub'; +import { SectionFormOperationsService } from '../form/section-form-operations.service'; +import { SectionsService } from '../sections.service'; +import { SubmissionSectionAccessesComponent } from './section-accesses.component'; +import { SectionAccessesService } from './section-accesses.service'; describe('SubmissionSectionAccessesComponent', () => { let component: SubmissionSectionAccessesComponent; diff --git a/src/app/submission/sections/accesses/section-accesses.component.ts b/src/app/submission/sections/accesses/section-accesses.component.ts index 87c8583450..5c8d7afb14 100644 --- a/src/app/submission/sections/accesses/section-accesses.component.ts +++ b/src/app/submission/sections/accesses/section-accesses.component.ts @@ -1,16 +1,9 @@ -import { SectionAccessesService } from './section-accesses.service'; -import { Component, Inject, ViewChild } from '@angular/core'; +import { + Component, + Inject, + ViewChild, +} from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; - -import { filter, map, mergeMap, take } from 'rxjs/operators'; -import { combineLatest, Observable, of, Subscription } from 'rxjs'; -import { TranslateService } from '@ngx-translate/core'; - -import { renderSectionFor } from '../sections-decorator'; -import { SectionsType } from '../sections-type'; -import { SectionDataObject } from '../models/section-data.model'; -import { SectionsService } from '../sections.service'; -import { SectionModelComponent } from '../models/section.model'; import { DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX, DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER, @@ -24,8 +17,44 @@ import { MATCH_ENABLED, OR_OPERATOR, } from '@ng-dynamic-forms/core'; +import { DynamicDateControlValue } from '@ng-dynamic-forms/core/lib/model/dynamic-date-control.model'; +import { DynamicFormControlCondition } from '@ng-dynamic-forms/core/lib/model/misc/dynamic-form-control-relation.model'; +import { TranslateService } from '@ngx-translate/core'; +import { + combineLatest, + Observable, + of, + Subscription, +} from 'rxjs'; +import { + filter, + map, + mergeMap, + take, +} from 'rxjs/operators'; +import { AccessesConditionOption } from '../../../core/config/models/config-accesses-conditions-options.model'; +import { SubmissionAccessesConfigDataService } from '../../../core/config/submission-accesses-config-data.service'; +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; +import { WorkspaceitemSectionAccessesObject } from '../../../core/submission/models/workspaceitem-section-accesses.model'; +import { SubmissionJsonPatchOperationsService } from '../../../core/submission/submission-json-patch-operations.service'; +import { dateToISOFormat } from '../../../shared/date.util'; +import { + hasValue, + isNotEmpty, + isNotNull, +} from '../../../shared/empty.util'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormComponent } from '../../../shared/form/form.component'; +import { FormService } from '../../../shared/form/form.service'; +import { SectionFormOperationsService } from '../form/section-form-operations.service'; +import { SectionModelComponent } from '../models/section.model'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { renderSectionFor } from '../sections-decorator'; +import { SectionsType } from '../sections-type'; import { ACCESS_CONDITION_GROUP_CONFIG, ACCESS_CONDITION_GROUP_LAYOUT, @@ -40,24 +69,7 @@ import { FORM_ACCESS_CONDITION_TYPE_CONFIG, FORM_ACCESS_CONDITION_TYPE_LAYOUT, } from './section-accesses.model'; -import { hasValue, isNotEmpty, isNotNull } from '../../../shared/empty.util'; -import { - WorkspaceitemSectionAccessesObject, -} from '../../../core/submission/models/workspaceitem-section-accesses.model'; -import { SubmissionAccessesConfigDataService } from '../../../core/config/submission-accesses-config-data.service'; -import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; -import { FormComponent } from '../../../shared/form/form.component'; -import { FormService } from '../../../shared/form/form.service'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { SectionFormOperationsService } from '../form/section-form-operations.service'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { AccessesConditionOption } from '../../../core/config/models/config-accesses-conditions-options.model'; -import { - SubmissionJsonPatchOperationsService, -} from '../../../core/submission/submission-json-patch-operations.service'; -import { dateToISOFormat } from '../../../shared/date.util'; -import { DynamicFormControlCondition } from '@ng-dynamic-forms/core/lib/model/misc/dynamic-form-control-relation.model'; -import { DynamicDateControlValue } from '@ng-dynamic-forms/core/lib/model/dynamic-date-control.model'; +import { SectionAccessesService } from './section-accesses.service'; /** * This component represents a section for managing item's access conditions. diff --git a/src/app/submission/sections/accesses/section-accesses.service.ts b/src/app/submission/sections/accesses/section-accesses.service.ts index f358582136..cb9b1e5ef3 100644 --- a/src/app/submission/sections/accesses/section-accesses.service.ts +++ b/src/app/submission/sections/accesses/section-accesses.service.ts @@ -1,13 +1,15 @@ import { Injectable } from '@angular/core'; - -import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter } from 'rxjs/operators'; import { Store } from '@ngrx/store'; +import { Observable } from 'rxjs'; +import { + distinctUntilChanged, + filter, +} from 'rxjs/operators'; -import { SubmissionState } from '../../submission.reducers'; +import { WorkspaceitemSectionAccessesObject } from '../../../core/submission/models/workspaceitem-section-accesses.model'; import { isNotUndefined } from '../../../shared/empty.util'; import { submissionSectionDataFromIdSelector } from '../../selectors'; -import { WorkspaceitemSectionAccessesObject } from '../../../core/submission/models/workspaceitem-section-accesses.model'; +import { SubmissionState } from '../../submission.reducers'; /** * A service that provides methods to handle submission item's accesses condition state. diff --git a/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.spec.ts b/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.spec.ts index 8ec3ad35d9..2730bfa765 100644 --- a/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.spec.ts +++ b/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.spec.ts @@ -1,23 +1,28 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { SubmissionSectionCcLicensesComponent } from './submission-section-cc-licenses.component'; -import { SUBMISSION_CC_LICENSE } from '../../../core/submission/models/submission-cc-licence.resource-type'; -import { of as observableOf } from 'rxjs'; -import { SubmissionCcLicenseDataService } from '../../../core/submission/submission-cc-license-data.service'; import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { SharedModule } from '../../../shared/shared.module'; -import { SectionsService } from '../sections.service'; -import { SectionDataObject } from '../models/section-data.model'; -import { SectionsType } from '../sections-type'; import { TranslateModule } from '@ngx-translate/core'; -import { SubmissionCcLicence } from '../../../core/submission/models/submission-cc-license.model'; import { cold } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; + +import {ConfigurationDataService} from '../../../core/data/configuration-data.service'; import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import {ConfigurationProperty} from '../../../core/shared/configuration-property.model'; +import { SUBMISSION_CC_LICENSE } from '../../../core/submission/models/submission-cc-licence.resource-type'; +import { SubmissionCcLicence } from '../../../core/submission/models/submission-cc-license.model'; +import { SubmissionCcLicenseDataService } from '../../../core/submission/submission-cc-license-data.service'; import { SubmissionCcLicenseUrlDataService } from '../../../core/submission/submission-cc-license-url-data.service'; import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { SharedModule } from '../../../shared/shared.module'; import { createPaginatedList } from '../../../shared/testing/utils.test'; -import {ConfigurationDataService} from '../../../core/data/configuration-data.service'; -import {ConfigurationProperty} from '../../../core/shared/configuration-property.model'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { SectionsType } from '../sections-type'; +import { SubmissionSectionCcLicensesComponent } from './submission-section-cc-licenses.component'; describe('SubmissionSectionCcLicensesComponent', () => { diff --git a/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.ts b/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.ts index 64cf789099..e2ae288ad1 100644 --- a/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.ts +++ b/src/app/submission/sections/cc-license/submission-section-cc-licenses.component.ts @@ -1,25 +1,45 @@ -import { Component, Inject } from '@angular/core'; -import { Observable, of as observableOf, Subscription } from 'rxjs'; -import { Field, Option, SubmissionCcLicence } from '../../../core/submission/models/submission-cc-license.model'; +import { + Component, + Inject, +} from '@angular/core'; +import { + NgbModal, + NgbModalRef, +} from '@ng-bootstrap/ng-bootstrap'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + take, +} from 'rxjs/operators'; + +import {ConfigurationDataService} from '../../../core/data/configuration-data.service'; +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; import { getFirstCompletedRemoteData, getFirstSucceededRemoteData, getRemoteDataPayload, } from '../../../core/shared/operators'; -import { distinctUntilChanged, filter, map, take } from 'rxjs/operators'; +import { + Field, + Option, + SubmissionCcLicence, +} from '../../../core/submission/models/submission-cc-license.model'; +import { WorkspaceitemSectionCcLicenseObject } from '../../../core/submission/models/workspaceitem-section-cc-license.model'; import { SubmissionCcLicenseDataService } from '../../../core/submission/submission-cc-license-data.service'; -import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; -import { renderSectionFor } from '../sections-decorator'; -import { SectionsType } from '../sections-type'; +import { SubmissionCcLicenseUrlDataService } from '../../../core/submission/submission-cc-license-url-data.service'; +import { isNotEmpty } from '../../../shared/empty.util'; import { SectionModelComponent } from '../models/section.model'; import { SectionDataObject } from '../models/section-data.model'; import { SectionsService } from '../sections.service'; -import { WorkspaceitemSectionCcLicenseObject } from '../../../core/submission/models/workspaceitem-section-cc-license.model'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { isNotEmpty } from '../../../shared/empty.util'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { SubmissionCcLicenseUrlDataService } from '../../../core/submission/submission-cc-license-url-data.service'; -import {ConfigurationDataService} from '../../../core/data/configuration-data.service'; +import { renderSectionFor } from '../sections-decorator'; +import { SectionsType } from '../sections-type'; /** * This component represents the submission section to select the Creative Commons license. diff --git a/src/app/submission/sections/container/section-container.component.spec.ts b/src/app/submission/sections/container/section-container.component.spec.ts index faa5d24d6d..2bec3c0ac5 100644 --- a/src/app/submission/sections/container/section-container.component.spec.ts +++ b/src/app/submission/sections/container/section-container.component.spec.ts @@ -1,22 +1,32 @@ // Load the implementations that should be tested -import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + Component, + CUSTOM_ELEMENTS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; - -import { of as observableOf } from 'rxjs'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; -import { SubmissionSectionContainerComponent } from './section-container.component'; -import { createTestComponent } from '../../../shared/testing/utils.test'; -import { SectionsType } from '../sections-type'; -import { SectionsDirective } from '../sections.directive'; -import { SubmissionService } from '../../submission.service'; -import { SectionsService } from '../sections.service'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { + mockSubmissionCollectionId, + mockSubmissionId, +} from '../../../shared/mocks/submission.mock'; import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { SubmissionService } from '../../submission.service'; import { SectionDataObject } from '../models/section-data.model'; -import { mockSubmissionCollectionId, mockSubmissionId } from '../../../shared/mocks/submission.mock'; +import { SectionsDirective } from '../sections.directive'; +import { SectionsService } from '../sections.service'; +import { SectionsType } from '../sections-type'; +import { SubmissionSectionContainerComponent } from './section-container.component'; const sectionState = { header: 'submit.progressbar.describe.stepone', diff --git a/src/app/submission/sections/container/section-container.component.ts b/src/app/submission/sections/container/section-container.component.ts index b5291e8ba0..9eed141a9b 100644 --- a/src/app/submission/sections/container/section-container.component.ts +++ b/src/app/submission/sections/container/section-container.component.ts @@ -1,9 +1,15 @@ -import { Component, Injector, Input, OnInit, ViewChild } from '@angular/core'; +import { + Component, + Injector, + Input, + OnInit, + ViewChild, +} from '@angular/core'; -import { SectionsDirective } from '../sections.directive'; -import { SectionDataObject } from '../models/section-data.model'; -import { rendersSectionType } from '../sections-decorator'; import { AlertType } from '../../../shared/alert/aletr-type'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsDirective } from '../sections.directive'; +import { rendersSectionType } from '../sections-decorator'; /** * This component represents a section that contains the submission license form. diff --git a/src/app/submission/sections/form/section-form-operations.service.spec.ts b/src/app/submission/sections/form/section-form-operations.service.spec.ts index 1839c284e6..fba11cc199 100644 --- a/src/app/submission/sections/form/section-form-operations.service.spec.ts +++ b/src/app/submission/sections/form/section-form-operations.service.spec.ts @@ -1,20 +1,26 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; - -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_GROUP, DynamicFormControlEvent, DynamicInputModel, } from '@ng-dynamic-forms/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; -import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; -import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; -import { SectionFormOperationsService } from './section-form-operations.service'; import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { DynamicRowArrayModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; +import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; import { FormFieldPreviousValueObject } from '../../../shared/form/builder/models/form-field-previous-value-object'; +import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; import { mockInputWithAuthorityValueModel, mockInputWithFormFieldValueModel, @@ -27,9 +33,8 @@ import { MockRelationModel, mockRowGroupModel, } from '../../../shared/mocks/form-models.mock'; -import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; -import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { DynamicRowArrayModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { SectionFormOperationsService } from './section-form-operations.service'; describe('SectionFormOperationsService test suite', () => { let formBuilderService: any; diff --git a/src/app/submission/sections/form/section-form-operations.service.ts b/src/app/submission/sections/form/section-form-operations.service.ts index 3d7b9a5270..f8c14cf96c 100644 --- a/src/app/submission/sections/form/section-form-operations.service.ts +++ b/src/app/submission/sections/form/section-form-operations.service.ts @@ -1,7 +1,4 @@ import { Injectable } from '@angular/core'; - -import isEqual from 'lodash/isEqual'; -import isObject from 'lodash/isObject'; import { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_GROUP, @@ -10,22 +7,34 @@ import { DynamicFormControlModel, isDynamicFormControlEvent, } from '@ng-dynamic-forms/core'; - -import { hasValue, isNotEmpty, isNotNull, isNotUndefined, isNull, isUndefined } from '../../../shared/empty.util'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { FormFieldPreviousValueObject } from '../../../shared/form/builder/models/form-field-previous-value-object'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { FormFieldLanguageValueObject } from '../../../shared/form/builder/models/form-field-language-value.model'; -import { DsDynamicInputModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; -import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; -import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; -import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; -import { DynamicQualdropModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; -import { DynamicRelationGroupModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; -import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; import { deepClone } from 'fast-json-patch'; -import { dateToString, isNgbDateStruct } from '../../../shared/date.util'; +import isEqual from 'lodash/isEqual'; +import isObject from 'lodash/isObject'; + +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { VocabularyEntry } from '../../../core/submission/vocabularies/models/vocabulary-entry.model'; +import { VocabularyEntryDetail } from '../../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; +import { + dateToString, + isNgbDateStruct, +} from '../../../shared/date.util'; +import { + hasValue, + isNotEmpty, + isNotNull, + isNotUndefined, + isNull, + isUndefined, +} from '../../../shared/empty.util'; +import { DsDynamicInputModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { DynamicQualdropModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-qualdrop.model'; import { DynamicRowArrayModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; +import { DynamicRelationGroupModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.model'; +import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormFieldLanguageValueObject } from '../../../shared/form/builder/models/form-field-language-value.model'; +import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; +import { FormFieldPreviousValueObject } from '../../../shared/form/builder/models/form-field-previous-value-object'; /** * The service handling all form section operations diff --git a/src/app/submission/sections/form/section-form.component.spec.ts b/src/app/submission/sections/form/section-form.component.spec.ts index 8e64a372ef..70639db07d 100644 --- a/src/app/submission/sections/form/section-form.component.spec.ts +++ b/src/app/submission/sections/form/section-form.component.spec.ts @@ -1,49 +1,68 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { of as observableOf } from 'rxjs'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; - -import { createTestComponent } from '../../../shared/testing/utils.test'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { SubmissionService } from '../../submission.service'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { getMockTranslateService } from '../../../shared/mocks/translate.service.mock'; -import { SectionsService } from '../sections.service'; -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; -import { SubmissionSectionFormComponent } from './section-form.component'; -import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; -import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; -import { getMockFormOperationsService } from '../../../shared/mocks/form-operations-service.mock'; -import { SectionFormOperationsService } from './section-form-operations.service'; -import { getMockFormService } from '../../../shared/mocks/form-service.mock'; -import { FormService } from '../../../shared/form/form.service'; -import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; -import { SectionDataObject } from '../models/section-data.model'; -import { SectionsType } from '../sections-type'; -import { - mockSubmissionCollectionId, mockSubmissionId, mockUploadResponse1ParsedErrors, -} from '../../../shared/mocks/submission.mock'; -import { BrowserModule } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { FormComponent } from '../../../shared/form/form.component'; -import { FormFieldModel } from '../../../shared/form/builder/models/form-field.model'; -import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; -import { DynamicRowGroupModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; -import { DsDynamicInputModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; -import { DynamicFormControlEvent, DynamicFormControlEventType } from '@ng-dynamic-forms/core'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { BrowserModule } from '@angular/platform-browser'; +import { + DynamicFormControlEvent, + DynamicFormControlEventType, +} from '@ng-dynamic-forms/core'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { cold } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; + +import { ObjectCacheService } from '../../../core/cache/object-cache.service'; import { FormRowModel } from '../../../core/config/models/config-submission-form.model'; +import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; +import { RequestService } from '../../../core/data/request.service'; +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; import { SubmissionObjectDataService } from '../../../core/submission/submission-object-data.service'; -import { ObjectCacheService } from '../../../core/cache/object-cache.service'; -import { RequestService } from '../../../core/data/request.service'; +import { DsDynamicInputModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-input.model'; +import { DynamicRowGroupModel } from '../../../shared/form/builder/ds-dynamic-form-ui/models/ds-dynamic-row-group-model'; +import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormFieldModel } from '../../../shared/form/builder/models/form-field.model'; +import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; +import { FormComponent } from '../../../shared/form/form.component'; +import { FormService } from '../../../shared/form/form.service'; +import { getMockFormBuilderService } from '../../../shared/mocks/form-builder-service.mock'; +import { getMockFormOperationsService } from '../../../shared/mocks/form-operations-service.mock'; +import { getMockFormService } from '../../../shared/mocks/form-service.mock'; +import { + mockSubmissionCollectionId, + mockSubmissionId, + mockUploadResponse1ParsedErrors, +} from '../../../shared/mocks/submission.mock'; +import { getMockTranslateService } from '../../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { cold } from 'jasmine-marbles'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { createTestComponent } from '../../../shared/testing/utils.test'; import { SubmissionSectionError } from '../../objects/submission-section-error.model'; +import { SubmissionService } from '../../submission.service'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { SectionsType } from '../sections-type'; +import { SubmissionSectionFormComponent } from './section-form.component'; +import { SectionFormOperationsService } from './section-form-operations.service'; function getMockSubmissionFormsConfigService(): SubmissionFormsConfigDataService { return jasmine.createSpyObj('FormOperationsService', { diff --git a/src/app/submission/sections/form/section-form.component.ts b/src/app/submission/sections/form/section-form.component.ts index 46850822f8..32fe30846b 100644 --- a/src/app/submission/sections/form/section-form.component.ts +++ b/src/app/submission/sections/form/section-form.component.ts @@ -1,45 +1,72 @@ -import { ChangeDetectorRef, Component, Inject, ViewChild } from '@angular/core'; -import { DynamicFormControlEvent, DynamicFormControlModel } from '@ng-dynamic-forms/core'; - -import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { distinctUntilChanged, filter, find, map, mergeMap, take, tap } from 'rxjs/operators'; +import { + ChangeDetectorRef, + Component, + Inject, + ViewChild, +} from '@angular/core'; +import { + DynamicFormControlEvent, + DynamicFormControlModel, +} from '@ng-dynamic-forms/core'; import { TranslateService } from '@ngx-translate/core'; import findIndex from 'lodash/findIndex'; import isEqual from 'lodash/isEqual'; +import { + combineLatest as observableCombineLatest, + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + find, + map, + mergeMap, + take, + tap, +} from 'rxjs/operators'; +import { environment } from '../../../../environments/environment'; +import { ObjectCacheService } from '../../../core/cache/object-cache.service'; +import { ConfigObject } from '../../../core/config/models/config.model'; +import { FormRowModel } from '../../../core/config/models/config-submission-form.model'; +import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; +import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { RequestService } from '../../../core/data/request.service'; +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { + getFirstSucceededRemoteData, + getRemoteDataPayload, +} from '../../../core/shared/operators'; +import { SubmissionObject } from '../../../core/submission/models/submission-object.model'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; +import { WorkspaceitemSectionFormObject } from '../../../core/submission/models/workspaceitem-section-form.model'; +import { SubmissionObjectDataService } from '../../../core/submission/submission-object-data.service'; +import { SubmissionScopeType } from '../../../core/submission/submission-scope-type'; +import { + hasValue, + isEmpty, + isNotEmpty, + isUndefined, +} from '../../../shared/empty.util'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormFieldPreviousValueObject } from '../../../shared/form/builder/models/form-field-previous-value-object'; import { FormComponent } from '../../../shared/form/form.component'; import { FormService } from '../../../shared/form/form.service'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { difference } from '../../../shared/object.util'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { SubmissionSectionError } from '../../objects/submission-section-error.model'; +import { SubmissionSectionObject } from '../../objects/submission-section-object.model'; +import { SubmissionService } from '../../submission.service'; import { SectionModelComponent } from '../models/section.model'; -import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; -import { hasValue, isEmpty, isNotEmpty, isUndefined } from '../../../shared/empty.util'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; -import { FormFieldPreviousValueObject } from '../../../shared/form/builder/models/form-field-previous-value-object'; import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; import { renderSectionFor } from '../sections-decorator'; import { SectionsType } from '../sections-type'; -import { SubmissionService } from '../../submission.service'; import { SectionFormOperationsService } from './section-form-operations.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { SectionsService } from '../sections.service'; -import { difference } from '../../../shared/object.util'; -import { WorkspaceitemSectionFormObject } from '../../../core/submission/models/workspaceitem-section-form.model'; -import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model'; -import { getFirstSucceededRemoteData, getRemoteDataPayload } from '../../../core/shared/operators'; -import { SubmissionObjectDataService } from '../../../core/submission/submission-object-data.service'; -import { ObjectCacheService } from '../../../core/cache/object-cache.service'; -import { RequestService } from '../../../core/data/request.service'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { environment } from '../../../../environments/environment'; -import { ConfigObject } from '../../../core/config/models/config.model'; -import { RemoteData } from '../../../core/data/remote-data'; -import { SubmissionScopeType } from '../../../core/submission/submission-scope-type'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { SubmissionObject } from '../../../core/submission/models/submission-object.model'; -import { SubmissionSectionObject } from '../../objects/submission-section-object.model'; -import { SubmissionSectionError } from '../../objects/submission-section-error.model'; -import { FormRowModel } from '../../../core/config/models/config-submission-form.model'; /** * This component represents a section that contains a Form. diff --git a/src/app/submission/sections/identifiers/section-identifiers.component.spec.ts b/src/app/submission/sections/identifiers/section-identifiers.component.spec.ts index 45e43fb0ae..3184010278 100644 --- a/src/app/submission/sections/identifiers/section-identifiers.component.spec.ts +++ b/src/app/submission/sections/identifiers/section-identifiers.component.spec.ts @@ -1,45 +1,59 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { BrowserModule } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - -import { NgxPaginationModule } from 'ngx-pagination'; -import { cold } from 'jasmine-marbles'; -import { of as observableOf } from 'rxjs'; import { TranslateModule } from '@ngx-translate/core'; +import { cold } from 'jasmine-marbles'; +import { NgxPaginationModule } from 'ngx-pagination'; +import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createTestComponent } from '../../../shared/testing/utils.test'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { SubmissionService } from '../../submission.service'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { SectionsService } from '../sections.service'; -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { PaginationService } from '../../../core/pagination/pagination.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { Item } from '../../../core/shared/item.model'; +import { License } from '../../../core/shared/license.model'; +import { WorkspaceitemSectionIdentifiersObject } from '../../../core/submission/models/workspaceitem-section-identifiers.model'; +import { SubmissionScopeType } from '../../../core/submission/submission-scope-type'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormService } from '../../../shared/form/form.service'; import { getMockFormOperationsService } from '../../../shared/mocks/form-operations-service.mock'; import { getMockFormService } from '../../../shared/mocks/form-service.mock'; -import { FormService } from '../../../shared/form/form.service'; -import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; -import { SectionDataObject } from '../models/section-data.model'; -import { SectionsType } from '../sections-type'; -import { mockSubmissionCollectionId, mockSubmissionId } from '../../../shared/mocks/submission.mock'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { SubmissionSectionIdentifiersComponent } from './section-identifiers.component'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { SectionFormOperationsService } from '../form/section-form-operations.service'; -import { SubmissionScopeType } from '../../../core/submission/submission-scope-type'; -import { License } from '../../../core/shared/license.model'; -import { Collection } from '../../../core/shared/collection.model'; +import { + mockSubmissionCollectionId, + mockSubmissionId, +} from '../../../shared/mocks/submission.mock'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { createTestComponent } from '../../../shared/testing/utils.test'; import { ObjNgFor } from '../../../shared/utils/object-ngfor.pipe'; import { VarDirective } from '../../../shared/utils/var.directive'; -import { WorkspaceitemSectionIdentifiersObject } from '../../../core/submission/models/workspaceitem-section-identifiers.model'; -import { Item } from '../../../core/shared/item.model'; -import { PaginationService } from '../../../core/pagination/pagination.service'; -import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub'; +import { SubmissionService } from '../../submission.service'; +import { SectionFormOperationsService } from '../form/section-form-operations.service'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { SectionsType } from '../sections-type'; +import { SubmissionSectionIdentifiersComponent } from './section-identifiers.component'; function getMockSubmissionFormsConfigService(): SubmissionFormsConfigDataService { return jasmine.createSpyObj('FormOperationsService', { diff --git a/src/app/submission/sections/identifiers/section-identifiers.component.ts b/src/app/submission/sections/identifiers/section-identifiers.component.ts index aa8b03adb6..54eb4f90e7 100644 --- a/src/app/submission/sections/identifiers/section-identifiers.component.ts +++ b/src/app/submission/sections/identifiers/section-identifiers.component.ts @@ -1,15 +1,23 @@ -import {ChangeDetectionStrategy, Component, Inject } from '@angular/core'; - -import { Observable, of as observableOf, Subscription } from 'rxjs'; +import { + ChangeDetectionStrategy, + Component, + Inject, +} from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; -import { SectionsType } from '../sections-type'; -import { SectionModelComponent } from '../models/section.model'; -import { renderSectionFor } from '../sections-decorator'; -import { SectionDataObject } from '../models/section-data.model'; -import { SubmissionService } from '../../submission.service'; -import { AlertType } from '../../../shared/alert/aletr-type'; -import { SectionsService } from '../sections.service'; +import { + Observable, + of as observableOf, + Subscription, +} from 'rxjs'; + import { WorkspaceitemSectionIdentifiersObject } from '../../../core/submission/models/workspaceitem-section-identifiers.model'; +import { AlertType } from '../../../shared/alert/aletr-type'; +import { SubmissionService } from '../../submission.service'; +import { SectionModelComponent } from '../models/section.model'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { renderSectionFor } from '../sections-decorator'; +import { SectionsType } from '../sections-type'; /** * This simple component displays DOI, handle and other identifiers that are already minted for the item in diff --git a/src/app/submission/sections/license/section-license.component.spec.ts b/src/app/submission/sections/license/section-license.component.spec.ts index fd06710485..b0e51985fe 100644 --- a/src/app/submission/sections/license/section-license.component.spec.ts +++ b/src/app/submission/sections/license/section-license.component.spec.ts @@ -1,43 +1,58 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - -import { of as observableOf } from 'rxjs'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { BrowserModule } from '@angular/platform-browser'; +import { + DynamicCheckboxModel, + DynamicFormControlEvent, + DynamicFormControlEventType, +} from '@ng-dynamic-forms/core'; import { TranslateModule } from '@ngx-translate/core'; -import { DynamicCheckboxModel, DynamicFormControlEvent, DynamicFormControlEventType } from '@ng-dynamic-forms/core'; +import { cold } from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createTestComponent } from '../../../shared/testing/utils.test'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { SubmissionService } from '../../submission.service'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { SectionsService } from '../sections.service'; -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { Collection } from '../../../core/shared/collection.model'; +import { License } from '../../../core/shared/license.model'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; +import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; +import { FormComponent } from '../../../shared/form/form.component'; +import { FormService } from '../../../shared/form/form.service'; import { getMockFormOperationsService } from '../../../shared/mocks/form-operations-service.mock'; import { getMockFormService } from '../../../shared/mocks/form-service.mock'; -import { FormService } from '../../../shared/form/form.service'; -import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; -import { SectionDataObject } from '../models/section-data.model'; -import { SectionsType } from '../sections-type'; import { mockLicenseParsedErrors, mockSubmissionCollectionId, mockSubmissionId, } from '../../../shared/mocks/submission.mock'; -import { FormComponent } from '../../../shared/form/form.component'; -import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { SubmissionSectionLicenseComponent } from './section-license.component'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { SubmissionService } from '../../submission.service'; import { SectionFormOperationsService } from '../form/section-form-operations.service'; -import { Collection } from '../../../core/shared/collection.model'; -import { License } from '../../../core/shared/license.model'; -import { FormFieldMetadataValueObject } from '../../../shared/form/builder/models/form-field-metadata-value.model'; -import { cold } from 'jasmine-marbles'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { SectionsType } from '../sections-type'; +import { SubmissionSectionLicenseComponent } from './section-license.component'; const collectionId = mockSubmissionCollectionId; const licenseText = 'License text'; diff --git a/src/app/submission/sections/license/section-license.component.ts b/src/app/submission/sections/license/section-license.component.ts index ca6ac5abe9..428ff869ec 100644 --- a/src/app/submission/sections/license/section-license.component.ts +++ b/src/app/submission/sections/license/section-license.component.ts @@ -1,13 +1,30 @@ -import { ChangeDetectorRef, Component, Inject, ViewChild } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + Inject, + ViewChild, +} from '@angular/core'; import { DynamicCheckboxModel, DynamicFormControlEvent, DynamicFormControlModel, DynamicFormLayout, } from '@ng-dynamic-forms/core'; +import { TranslateService } from '@ngx-translate/core'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + find, + map, + mergeMap, + startWith, + take, +} from 'rxjs/operators'; -import { Observable, Subscription } from 'rxjs'; -import { distinctUntilChanged, filter, find, map, mergeMap, startWith, take } from 'rxjs/operators'; import { CollectionDataService } from '../../../core/data/collection-data.service'; import { RemoteData } from '../../../core/data/remote-data'; import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; @@ -15,21 +32,27 @@ import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/jso import { Collection } from '../../../core/shared/collection.model'; import { License } from '../../../core/shared/license.model'; import { WorkspaceitemSectionLicenseObject } from '../../../core/submission/models/workspaceitem-section-license.model'; -import { hasValue, isNotEmpty, isNotNull, isNotUndefined } from '../../../shared/empty.util'; +import { + hasValue, + isNotEmpty, + isNotNull, + isNotUndefined, +} from '../../../shared/empty.util'; import { FormBuilderService } from '../../../shared/form/builder/form-builder.service'; import { FormComponent } from '../../../shared/form/form.component'; import { FormService } from '../../../shared/form/form.service'; import { followLink } from '../../../shared/utils/follow-link-config.model'; import { SubmissionService } from '../../submission.service'; import { SectionFormOperationsService } from '../form/section-form-operations.service'; -import { SectionDataObject } from '../models/section-data.model'; - import { SectionModelComponent } from '../models/section.model'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; import { renderSectionFor } from '../sections-decorator'; import { SectionsType } from '../sections-type'; -import { SectionsService } from '../sections.service'; -import { SECTION_LICENSE_FORM_LAYOUT, SECTION_LICENSE_FORM_MODEL } from './section-license.model'; -import { TranslateService } from '@ngx-translate/core'; +import { + SECTION_LICENSE_FORM_LAYOUT, + SECTION_LICENSE_FORM_MODEL, +} from './section-license.model'; /** * This component represents a section that contains the submission license form. diff --git a/src/app/submission/sections/models/section-data.model.ts b/src/app/submission/sections/models/section-data.model.ts index 6f8126dffc..7ecb820db7 100644 --- a/src/app/submission/sections/models/section-data.model.ts +++ b/src/app/submission/sections/models/section-data.model.ts @@ -1,6 +1,6 @@ import { WorkspaceitemSectionDataType } from '../../../core/submission/models/workspaceitem-sections.model'; -import { SectionsType } from '../sections-type'; import { SubmissionSectionError } from '../../objects/submission-section-error.model'; +import { SectionsType } from '../sections-type'; /** * An interface to represent section model diff --git a/src/app/submission/sections/models/section.model.ts b/src/app/submission/sections/models/section.model.ts index 4bc3918610..4868f0c6c1 100644 --- a/src/app/submission/sections/models/section.model.ts +++ b/src/app/submission/sections/models/section.model.ts @@ -1,11 +1,24 @@ -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + Inject, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { + filter, + startWith, +} from 'rxjs/operators'; -import { Observable, Subscription } from 'rxjs'; -import { filter, startWith } from 'rxjs/operators'; - -import { SectionDataObject } from './section-data.model'; +import { + hasValue, + isNotUndefined, +} from '../../../shared/empty.util'; import { SectionsService } from '../sections.service'; -import { hasValue, isNotUndefined } from '../../../shared/empty.util'; +import { SectionDataObject } from './section-data.model'; export interface SectionDataModel { sectionData: SectionDataObject; diff --git a/src/app/submission/sections/sections.directive.ts b/src/app/submission/sections/sections.directive.ts index 01c77bfece..9d32699770 100644 --- a/src/app/submission/sections/sections.directive.ts +++ b/src/app/submission/sections/sections.directive.ts @@ -1,15 +1,27 @@ -import { ChangeDetectorRef, Directive, Input, OnDestroy, OnInit } from '@angular/core'; - -import { Observable, Subscription } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { + ChangeDetectorRef, + Directive, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; import uniq from 'lodash/uniq'; +import { + Observable, + Subscription, +} from 'rxjs'; +import { map } from 'rxjs/operators'; -import { SectionsService } from './sections.service'; -import { hasValue, isNotEmpty, isNotNull } from '../../shared/empty.util'; -import parseSectionErrorPaths, { SectionErrorPath } from '../utils/parseSectionErrorPaths'; -import { SubmissionService } from '../submission.service'; -import { SectionsType } from './sections-type'; +import { + hasValue, + isNotEmpty, + isNotNull, +} from '../../shared/empty.util'; import { SubmissionSectionError } from '../objects/submission-section-error.model'; +import { SubmissionService } from '../submission.service'; +import parseSectionErrorPaths, { SectionErrorPath } from '../utils/parseSectionErrorPaths'; +import { SectionsService } from './sections.service'; +import { SectionsType } from './sections-type'; /** * Directive for handling generic section functionality diff --git a/src/app/submission/sections/sections.service.spec.ts b/src/app/submission/sections/sections.service.spec.ts index 5ce4cd4b62..d8644a0db8 100644 --- a/src/app/submission/sections/sections.service.spec.ts +++ b/src/app/submission/sections/sections.service.spec.ts @@ -1,25 +1,40 @@ -import { TestBed, waitForAsync } from '@angular/core/testing'; - -import { cold, getTestScheduler } from 'jasmine-marbles'; -import { of as observableOf } from 'rxjs'; -import { Store, StoreModule } from '@ngrx/store'; +import { + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + Store, + StoreModule, +} from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { ScrollToService } from '@nicky-lenaers/ngx-scroll-to'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; +import { + cold, + getTestScheduler, +} from 'jasmine-marbles'; +import { of as observableOf } from 'rxjs'; -import { submissionReducers } from '../submission.reducers'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { SubmissionService } from '../submission.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; -import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; -import { SectionsService } from './sections.service'; +import { storeModuleConfig } from '../../app.reducer'; +import { SubmissionScopeType } from '../../core/submission/submission-scope-type'; +import { FormClearErrorsAction } from '../../shared/form/form.actions'; +import { FormService } from '../../shared/form/form.service'; +import { getMockFormService } from '../../shared/mocks/form-service.mock'; +import { getMockScrollToService } from '../../shared/mocks/scroll-to-service.mock'; import { mockSectionsData, mockSectionsErrors, mockSubmissionState, mockSubmissionStateWithoutUpload, } from '../../shared/mocks/submission.mock'; +import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; import { DisableSectionAction, EnableSectionAction, @@ -28,15 +43,12 @@ import { SectionStatusChangeAction, UpdateSectionDataAction, } from '../objects/submission-objects.actions'; -import { FormClearErrorsAction } from '../../shared/form/form.actions'; -import parseSectionErrors from '../utils/parseSectionErrors'; -import { SubmissionScopeType } from '../../core/submission/submission-scope-type'; -import { getMockScrollToService } from '../../shared/mocks/scroll-to-service.mock'; -import { storeModuleConfig } from '../../app.reducer'; -import { SectionsType } from './sections-type'; -import { FormService } from '../../shared/form/form.service'; -import { getMockFormService } from '../../shared/mocks/form-service.mock'; import { SubmissionSectionError } from '../objects/submission-section-error.model'; +import { submissionReducers } from '../submission.reducers'; +import { SubmissionService } from '../submission.service'; +import parseSectionErrors from '../utils/parseSectionErrors'; +import { SectionsService } from './sections.service'; +import { SectionsType } from './sections-type'; describe('SectionsService test suite', () => { let notificationsServiceStub: NotificationsServiceStub; diff --git a/src/app/submission/sections/sections.service.ts b/src/app/submission/sections/sections.service.ts index fbe4249a4b..58a4e90fbc 100644 --- a/src/app/submission/sections/sections.service.ts +++ b/src/app/submission/sections/sections.service.ts @@ -1,16 +1,41 @@ import { Injectable } from '@angular/core'; - -import { combineLatest, Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map, mergeMap, take } from 'rxjs/operators'; +import { parseReviver } from '@ng-dynamic-forms/core'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; -import { ScrollToConfigOptions, ScrollToService } from '@nicky-lenaers/ngx-scroll-to'; +import { + ScrollToConfigOptions, + ScrollToService, +} from '@nicky-lenaers/ngx-scroll-to'; import findIndex from 'lodash/findIndex'; import findKey from 'lodash/findKey'; import isEqual from 'lodash/isEqual'; +import { + combineLatest, + Observable, +} from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, + mergeMap, + take, +} from 'rxjs/operators'; -import { SubmissionState } from '../submission.reducers'; -import { hasValue, isEmpty, isNotEmpty, isNotUndefined } from '../../shared/empty.util'; +import { SubmissionFormsModel } from '../../core/config/models/config-submission-forms.model'; +import { JsonPatchOperationPathCombiner } from '../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { WorkspaceitemSectionDataType } from '../../core/submission/models/workspaceitem-sections.model'; +import { normalizeSectionData } from '../../core/submission/submission-response-parsing.service'; +import { SubmissionScopeType } from '../../core/submission/submission-scope-type'; +import { + hasValue, + isEmpty, + isNotEmpty, + isNotUndefined, +} from '../../shared/empty.util'; +import { FormClearErrorsAction } from '../../shared/form/form.actions'; +import { FormError } from '../../shared/form/form.reducer'; +import { FormService } from '../../shared/form/form.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { DisableSectionAction, EnableSectionAction, @@ -20,9 +45,9 @@ import { SetSectionFormId, UpdateSectionDataAction, } from '../objects/submission-objects.actions'; -import { - SubmissionObjectEntry, -} from '../objects/submission-objects.reducer'; +import { SubmissionObjectEntry } from '../objects/submission-objects.reducer'; +import { SubmissionSectionError } from '../objects/submission-section-error.model'; +import { SubmissionSectionObject } from '../objects/submission-section-object.model'; import { submissionObjectFromIdSelector, submissionSectionDataFromIdSelector, @@ -30,21 +55,10 @@ import { submissionSectionFromIdSelector, submissionSectionServerErrorsFromIdSelector, } from '../selectors'; -import { SubmissionScopeType } from '../../core/submission/submission-scope-type'; -import parseSectionErrorPaths, { SectionErrorPath } from '../utils/parseSectionErrorPaths'; -import { FormClearErrorsAction } from '../../shared/form/form.actions'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { SubmissionState } from '../submission.reducers'; import { SubmissionService } from '../submission.service'; -import { WorkspaceitemSectionDataType } from '../../core/submission/models/workspaceitem-sections.model'; +import parseSectionErrorPaths, { SectionErrorPath } from '../utils/parseSectionErrorPaths'; import { SectionsType } from './sections-type'; -import { normalizeSectionData } from '../../core/submission/submission-response-parsing.service'; -import { SubmissionFormsModel } from '../../core/config/models/config-submission-forms.model'; -import { parseReviver } from '@ng-dynamic-forms/core'; -import { FormService } from '../../shared/form/form.service'; -import { JsonPatchOperationPathCombiner } from '../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { FormError } from '../../shared/form/form.reducer'; -import { SubmissionSectionObject } from '../objects/submission-section-object.model'; -import { SubmissionSectionError } from '../objects/submission-section-error.model'; /** * A service that provides methods used in submission process. diff --git a/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.spec.ts b/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.spec.ts index f5a7ef6a10..45822c5898 100644 --- a/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.spec.ts +++ b/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.spec.ts @@ -1,13 +1,18 @@ -import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ContentAccordionComponent } from './content-accordion.component'; - import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { SherpaDataResponse } from '../../../../shared/mocks/section-sherpa-policies.service.mock'; +import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; +import { ContentAccordionComponent } from './content-accordion.component'; describe('ContentAccordionComponent', () => { let component: ContentAccordionComponent; diff --git a/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.ts b/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.ts index 83732cff68..05fdad693e 100644 --- a/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.ts +++ b/src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { PermittedVersions } from '../../../../core/submission/models/sherpa-policies-details.model'; diff --git a/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.spec.ts b/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.spec.ts index 9b0f619f48..3255e7d5de 100644 --- a/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.spec.ts +++ b/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.spec.ts @@ -1,12 +1,17 @@ -import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { MetadataInformationComponent } from './metadata-information.component'; - import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { SherpaDataResponse } from '../../../../shared/mocks/section-sherpa-policies.service.mock'; +import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; +import { MetadataInformationComponent } from './metadata-information.component'; describe('MetadataInformationComponent', () => { let component: MetadataInformationComponent; diff --git a/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.ts b/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.ts index 6329506bf2..f96479c70c 100644 --- a/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.ts +++ b/src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Metadata } from '../../../../core/submission/models/sherpa-policies-details.model'; diff --git a/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.spec.ts b/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.spec.ts index 237adca22c..0815fedf50 100644 --- a/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.spec.ts +++ b/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.spec.ts @@ -1,11 +1,17 @@ -import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PublicationInformationComponent } from './publication-information.component'; import { DebugElement } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; + import { SherpaDataResponse } from '../../../../shared/mocks/section-sherpa-policies.service.mock'; +import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; +import { PublicationInformationComponent } from './publication-information.component'; describe('PublicationInformationComponent', () => { let component: PublicationInformationComponent; diff --git a/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.ts b/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.ts index 2235a18cca..bb62e57564 100644 --- a/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.ts +++ b/src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Journal } from '../../../../core/submission/models/sherpa-policies-details.model'; diff --git a/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.spec.ts b/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.spec.ts index 0a00dfa777..0780370d89 100644 --- a/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.spec.ts +++ b/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.spec.ts @@ -1,11 +1,17 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { PublisherPolicyComponent } from './publisher-policy.component'; -import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { SherpaDataResponse } from '../../../../shared/mocks/section-sherpa-policies.service.mock'; import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock'; +import { PublisherPolicyComponent } from './publisher-policy.component'; describe('PublisherPolicyComponent', () => { let component: PublisherPolicyComponent; diff --git a/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.ts b/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.ts index 66b9d8d3d6..dd37185ced 100644 --- a/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.ts +++ b/src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.ts @@ -1,4 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { Policy } from '../../../../core/submission/models/sherpa-policies-details.model'; import { AlertType } from '../../../../shared/alert/aletr-type'; diff --git a/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.spec.ts b/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.spec.ts index e8b0763cd1..11c0fdb97f 100644 --- a/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.spec.ts +++ b/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.spec.ts @@ -1,23 +1,32 @@ -import { SharedModule } from '../../../shared/shared.module'; -import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { SherpaDataResponse } from '../../../shared/mocks/section-sherpa-policies.service.mock'; -import { ComponentFixture, inject, TestBed } from '@angular/core/testing'; - -import { SectionsService } from '../sections.service'; -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; -import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { BrowserModule, By } from '@angular/platform-browser'; - -import { Store } from '@ngrx/store'; -import { AppState } from '../../../app.reducer'; -import { SubmissionSectionSherpaPoliciesComponent } from './section-sherpa-policies.component'; -import { SubmissionService } from '../../submission.service'; import { DebugElement } from '@angular/core'; -import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; -import { of as observableOf } from 'rxjs'; +import { + ComponentFixture, + inject, + TestBed, +} from '@angular/core/testing'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; +import { Store } from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { AppState } from '../../../app.reducer'; +import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { SherpaDataResponse } from '../../../shared/mocks/section-sherpa-policies.service.mock'; +import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock'; +import { SharedModule } from '../../../shared/shared.module'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { SubmissionService } from '../../submission.service'; +import { SectionsService } from '../sections.service'; +import { SubmissionSectionSherpaPoliciesComponent } from './section-sherpa-policies.component'; describe('SubmissionSectionSherpaPoliciesComponent', () => { let component: SubmissionSectionSherpaPoliciesComponent; diff --git a/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.ts b/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.ts index e23fa5d4f5..678aa63b42 100644 --- a/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.ts +++ b/src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.ts @@ -1,20 +1,28 @@ -import { AlertType } from '../../../shared/alert/aletr-type'; -import { Component, Inject } from '@angular/core'; - -import { BehaviorSubject, Observable, of, Subscription } from 'rxjs'; +import { + Component, + Inject, +} from '@angular/core'; +import { + BehaviorSubject, + Observable, + of, + Subscription, +} from 'rxjs'; import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner'; import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder'; +import { WorkspaceitemSectionSherpaPoliciesObject } from '../../../core/submission/models/workspaceitem-section-sherpa-policies.model'; +import { AlertType } from '../../../shared/alert/aletr-type'; import { - WorkspaceitemSectionSherpaPoliciesObject, -} from '../../../core/submission/models/workspaceitem-section-sherpa-policies.model'; -import { renderSectionFor } from '../sections-decorator'; -import { SectionsType } from '../sections-type'; + hasValue, + isEmpty, +} from '../../../shared/empty.util'; +import { SubmissionService } from '../../submission.service'; +import { SectionModelComponent } from '../models/section.model'; import { SectionDataObject } from '../models/section-data.model'; import { SectionsService } from '../sections.service'; -import { SectionModelComponent } from '../models/section.model'; -import { SubmissionService } from '../../submission.service'; -import { hasValue, isEmpty } from '../../../shared/empty.util'; +import { renderSectionFor } from '../sections-decorator'; +import { SectionsType } from '../sections-type'; /** * This component represents a section for the sherpa policy informations structure. diff --git a/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.ts b/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.ts index 1a6a05e7b6..de614b45e3 100644 --- a/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.ts +++ b/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.ts @@ -1,13 +1,16 @@ -import { Component, Input, OnInit } from '@angular/core'; - +import { + Component, + Input, + OnInit, +} from '@angular/core'; import { find } from 'rxjs/operators'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { RemoteData } from '../../../../core/data/remote-data'; import { GroupDataService } from '../../../../core/eperson/group-data.service'; +import { Group } from '../../../../core/eperson/models/group.model'; import { ResourcePolicy } from '../../../../core/resource-policy/models/resource-policy.model'; import { isEmpty } from '../../../../shared/empty.util'; -import { Group } from '../../../../core/eperson/models/group.model'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * This component represents a badge that describe an access condition diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts index 91540a964a..8b9bfc27d2 100644 --- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts +++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts @@ -1,20 +1,45 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, fakeAsync, inject, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { BrowserModule } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + inject, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { BrowserModule } from '@angular/platform-browser'; +import { + NgbActiveModal, + NgbModal, +} from '@ng-bootstrap/ng-bootstrap'; import { DynamicFormArrayModel, DynamicFormControlEvent, DynamicFormGroupModel, DynamicSelectModel, } from '@ng-dynamic-forms/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { of } from 'rxjs'; +import { JsonPatchOperationPathCombiner } from '../../../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../../../core/json-patch/builder/json-patch-operations-builder'; +import { SubmissionJsonPatchOperationsService } from '../../../../../core/submission/submission-json-patch-operations.service'; +import { dateToISOFormat } from '../../../../../shared/date.util'; import { FormBuilderService } from '../../../../../shared/form/builder/form-builder.service'; -import { SubmissionServiceStub } from '../../../../../shared/testing/submission-service.stub'; -import { SubmissionService } from '../../../../submission.service'; -import { SubmissionSectionUploadFileEditComponent } from './section-upload-file-edit.component'; -import { POLICY_DEFAULT_WITH_LIST } from '../../section-upload.component'; +import { FormFieldMetadataValueObject } from '../../../../../shared/form/builder/models/form-field-metadata-value.model'; +import { FormComponent } from '../../../../../shared/form/form.component'; +import { FormService } from '../../../../../shared/form/form.service'; +import { getMockFormService } from '../../../../../shared/mocks/form-service.mock'; +import { getMockSectionUploadService } from '../../../../../shared/mocks/section-upload.service.mock'; import { mockFileFormData, mockSubmissionCollectionId, @@ -24,29 +49,13 @@ import { mockUploadConfigResponseMetadata, mockUploadFiles, } from '../../../../../shared/mocks/submission.mock'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { FormComponent } from '../../../../../shared/form/form.component'; -import { FormService } from '../../../../../shared/form/form.service'; -import { getMockFormService } from '../../../../../shared/mocks/form-service.mock'; +import { SubmissionJsonPatchOperationsServiceStub } from '../../../../../shared/testing/submission-json-patch-operations-service.stub'; +import { SubmissionServiceStub } from '../../../../../shared/testing/submission-service.stub'; import { createTestComponent } from '../../../../../shared/testing/utils.test'; -import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; -import { JsonPatchOperationsBuilder } from '../../../../../core/json-patch/builder/json-patch-operations-builder'; -import { - SubmissionJsonPatchOperationsServiceStub, -} from '../../../../../shared/testing/submission-json-patch-operations-service.stub'; -import { - SubmissionJsonPatchOperationsService, -} from '../../../../../core/submission/submission-json-patch-operations.service'; +import { SubmissionService } from '../../../../submission.service'; +import { POLICY_DEFAULT_WITH_LIST } from '../../section-upload.component'; import { SectionUploadService } from '../../section-upload.service'; -import { getMockSectionUploadService } from '../../../../../shared/mocks/section-upload.service.mock'; -import { - FormFieldMetadataValueObject, -} from '../../../../../shared/form/builder/models/form-field-metadata-value.model'; -import { - JsonPatchOperationPathCombiner, -} from '../../../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { dateToISOFormat } from '../../../../../shared/date.util'; -import { of } from 'rxjs'; +import { SubmissionSectionUploadFileEditComponent } from './section-upload-file-edit.component'; const jsonPatchOpBuilder: any = jasmine.createSpyObj('jsonPatchOpBuilder', { add: jasmine.createSpy('add'), diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts index 2161b3c949..ca30bfb399 100644 --- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts +++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts @@ -1,6 +1,12 @@ -import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { + ChangeDetectorRef, + Component, + OnDestroy, + OnInit, + ViewChild, +} from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; - +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER, DynamicDatePickerModel, @@ -12,11 +18,37 @@ import { MATCH_ENABLED, OR_OPERATOR, } from '@ng-dynamic-forms/core'; - +import { DynamicDateControlValue } from '@ng-dynamic-forms/core/lib/model/dynamic-date-control.model'; +import { DynamicFormControlCondition } from '@ng-dynamic-forms/core/lib/model/misc/dynamic-form-control-relation.model'; +import { Subscription } from 'rxjs'; import { - WorkspaceitemSectionUploadFileObject, -} from '../../../../../core/submission/models/workspaceitem-section-upload-file.model'; + filter, + mergeMap, + take, +} from 'rxjs/operators'; + +import { AccessConditionOption } from '../../../../../core/config/models/config-access-condition-option.model'; +import { SubmissionFormsModel } from '../../../../../core/config/models/config-submission-forms.model'; +import { JsonPatchOperationPathCombiner } from '../../../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../../../core/json-patch/builder/json-patch-operations-builder'; +import { SubmissionObject } from '../../../../../core/submission/models/submission-object.model'; +import { WorkspaceitemSectionUploadObject } from '../../../../../core/submission/models/workspaceitem-section-upload.model'; +import { WorkspaceitemSectionUploadFileObject } from '../../../../../core/submission/models/workspaceitem-section-upload-file.model'; +import { SubmissionJsonPatchOperationsService } from '../../../../../core/submission/submission-json-patch-operations.service'; +import { dateToISOFormat } from '../../../../../shared/date.util'; +import { + hasNoValue, + hasValue, + isNotEmpty, + isNotNull, +} from '../../../../../shared/empty.util'; import { FormBuilderService } from '../../../../../shared/form/builder/form-builder.service'; +import { FormFieldModel } from '../../../../../shared/form/builder/models/form-field.model'; +import { FormComponent } from '../../../../../shared/form/form.component'; +import { FormService } from '../../../../../shared/form/form.service'; +import { SubmissionService } from '../../../../submission.service'; +import { POLICY_DEFAULT_WITH_LIST } from '../../section-upload.component'; +import { SectionUploadService } from '../../section-upload.service'; import { BITSTREAM_ACCESS_CONDITION_GROUP_CONFIG, BITSTREAM_ACCESS_CONDITION_GROUP_LAYOUT, @@ -31,32 +63,6 @@ import { BITSTREAM_METADATA_FORM_GROUP_CONFIG, BITSTREAM_METADATA_FORM_GROUP_LAYOUT, } from './section-upload-file-edit.model'; -import { POLICY_DEFAULT_WITH_LIST } from '../../section-upload.component'; -import { hasNoValue, hasValue, isNotEmpty, isNotNull } from '../../../../../shared/empty.util'; -import { SubmissionFormsModel } from '../../../../../core/config/models/config-submission-forms.model'; -import { FormFieldModel } from '../../../../../shared/form/builder/models/form-field.model'; -import { AccessConditionOption } from '../../../../../core/config/models/config-access-condition-option.model'; -import { SubmissionService } from '../../../../submission.service'; -import { FormService } from '../../../../../shared/form/form.service'; -import { FormComponent } from '../../../../../shared/form/form.component'; -import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; -import { filter, mergeMap, take } from 'rxjs/operators'; -import { dateToISOFormat } from '../../../../../shared/date.util'; -import { SubmissionObject } from '../../../../../core/submission/models/submission-object.model'; -import { - WorkspaceitemSectionUploadObject, -} from '../../../../../core/submission/models/workspaceitem-section-upload.model'; -import { JsonPatchOperationsBuilder } from '../../../../../core/json-patch/builder/json-patch-operations-builder'; -import { - SubmissionJsonPatchOperationsService, -} from '../../../../../core/submission/submission-json-patch-operations.service'; -import { - JsonPatchOperationPathCombiner, -} from '../../../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { SectionUploadService } from '../../section-upload.service'; -import { Subscription } from 'rxjs'; -import { DynamicFormControlCondition } from '@ng-dynamic-forms/core/lib/model/misc/dynamic-form-control-relation.model'; -import { DynamicDateControlValue } from '@ng-dynamic-forms/core/lib/model/dynamic-date-control.model'; /** * This component represents the edit form for bitstream diff --git a/src/app/submission/sections/upload/file/section-upload-file.component.spec.ts b/src/app/submission/sections/upload/file/section-upload-file.component.spec.ts index 631544365d..a83fdf6f11 100644 --- a/src/app/submission/sections/upload/file/section-upload-file.component.spec.ts +++ b/src/app/submission/sections/upload/file/section-upload-file.component.spec.ts @@ -1,37 +1,53 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { BrowserModule, By } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; - -import { of, of as observableOf } from 'rxjs'; +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; +import { + NgbModal, + NgbModule, +} from '@ng-bootstrap/ng-bootstrap'; import { TranslateModule } from '@ngx-translate/core'; +import { + of as observableOf, + of, +} from 'rxjs'; +import { JsonPatchOperationPathCombiner } from '../../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../../core/json-patch/builder/json-patch-operations-builder'; +import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; +import { SubmissionJsonPatchOperationsService } from '../../../../core/submission/submission-json-patch-operations.service'; +import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; import { FormService } from '../../../../shared/form/form.service'; import { getMockFormService } from '../../../../shared/mocks/form-service.mock'; -import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; -import { HALEndpointServiceStub } from '../../../../shared/testing/hal-endpoint-service.stub'; -import { NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { JsonPatchOperationsBuilder } from '../../../../core/json-patch/builder/json-patch-operations-builder'; -import { SubmissionJsonPatchOperationsServiceStub } from '../../../../shared/testing/submission-json-patch-operations-service.stub'; -import { SubmissionJsonPatchOperationsService } from '../../../../core/submission/submission-json-patch-operations.service'; -import { SubmissionSectionUploadFileComponent } from './section-upload-file.component'; -import { SubmissionServiceStub } from '../../../../shared/testing/submission-service.stub'; +import { getMockSectionUploadService } from '../../../../shared/mocks/section-upload.service.mock'; import { mockSubmissionCollectionId, mockSubmissionId, mockUploadConfigResponse, mockUploadFiles, } from '../../../../shared/mocks/submission.mock'; - -import { SubmissionService } from '../../../submission.service'; -import { SectionUploadService } from '../section-upload.service'; +import { HALEndpointServiceStub } from '../../../../shared/testing/hal-endpoint-service.stub'; +import { SubmissionJsonPatchOperationsServiceStub } from '../../../../shared/testing/submission-json-patch-operations-service.stub'; +import { SubmissionServiceStub } from '../../../../shared/testing/submission-service.stub'; import { createTestComponent } from '../../../../shared/testing/utils.test'; import { FileSizePipe } from '../../../../shared/utils/file-size-pipe'; +import { SubmissionService } from '../../../submission.service'; import { POLICY_DEFAULT_WITH_LIST } from '../section-upload.component'; -import { JsonPatchOperationPathCombiner } from '../../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { getMockSectionUploadService } from '../../../../shared/mocks/section-upload.service.mock'; +import { SectionUploadService } from '../section-upload.service'; import { SubmissionSectionUploadFileEditComponent } from './edit/section-upload-file-edit.component'; -import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; +import { SubmissionSectionUploadFileComponent } from './section-upload-file.component'; const configMetadataFormMock = { rows: [{ diff --git a/src/app/submission/sections/upload/file/section-upload-file.component.ts b/src/app/submission/sections/upload/file/section-upload-file.component.ts index 6b5f0312d6..2282bb89b9 100644 --- a/src/app/submission/sections/upload/file/section-upload-file.component.ts +++ b/src/app/submission/sections/upload/file/section-upload-file.component.ts @@ -8,25 +8,30 @@ import { SimpleChanges, ViewChild, } from '@angular/core'; - -import { BehaviorSubject, Subscription } from 'rxjs'; -import { filter } from 'rxjs/operators'; -import { DynamicFormControlModel } from '@ng-dynamic-forms/core'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; - -import { SectionUploadService } from '../section-upload.service'; -import { hasValue, isNotUndefined } from '../../../../shared/empty.util'; -import { FormService } from '../../../../shared/form/form.service'; -import { JsonPatchOperationsBuilder } from '../../../../core/json-patch/builder/json-patch-operations-builder'; -import { JsonPatchOperationPathCombiner } from '../../../../core/json-patch/builder/json-patch-operation-path-combiner'; -import { WorkspaceitemSectionUploadFileObject } from '../../../../core/submission/models/workspaceitem-section-upload-file.model'; -import { SubmissionFormsModel } from '../../../../core/config/models/config-submission-forms.model'; -import { SubmissionService } from '../../../submission.service'; -import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; -import { SubmissionJsonPatchOperationsService } from '../../../../core/submission/submission-json-patch-operations.service'; -import { SubmissionSectionUploadFileEditComponent } from './edit/section-upload-file-edit.component'; -import { Bitstream } from '../../../../core/shared/bitstream.model'; import { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap/modal/modal-config'; +import { DynamicFormControlModel } from '@ng-dynamic-forms/core'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; +import { filter } from 'rxjs/operators'; + +import { SubmissionFormsModel } from '../../../../core/config/models/config-submission-forms.model'; +import { JsonPatchOperationPathCombiner } from '../../../../core/json-patch/builder/json-patch-operation-path-combiner'; +import { JsonPatchOperationsBuilder } from '../../../../core/json-patch/builder/json-patch-operations-builder'; +import { Bitstream } from '../../../../core/shared/bitstream.model'; +import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service'; +import { WorkspaceitemSectionUploadFileObject } from '../../../../core/submission/models/workspaceitem-section-upload-file.model'; +import { SubmissionJsonPatchOperationsService } from '../../../../core/submission/submission-json-patch-operations.service'; +import { + hasValue, + isNotUndefined, +} from '../../../../shared/empty.util'; +import { FormService } from '../../../../shared/form/form.service'; +import { SubmissionService } from '../../../submission.service'; +import { SectionUploadService } from '../section-upload.service'; +import { SubmissionSectionUploadFileEditComponent } from './edit/section-upload-file-edit.component'; /** * This component represents a single bitstream contained in the submission diff --git a/src/app/submission/sections/upload/file/themed-section-upload-file.component.ts b/src/app/submission/sections/upload/file/themed-section-upload-file.component.ts index fc9022f04f..3e860c8fdd 100644 --- a/src/app/submission/sections/upload/file/themed-section-upload-file.component.ts +++ b/src/app/submission/sections/upload/file/themed-section-upload-file.component.ts @@ -1,6 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { + Component, + Input, +} from '@angular/core'; import { SubmissionFormsModel } from 'src/app/core/config/models/config-submission-forms.model'; import { ThemedComponent } from 'src/app/shared/theme-support/themed.component'; + import { SubmissionSectionUploadFileComponent } from './section-upload-file.component'; @Component({ diff --git a/src/app/submission/sections/upload/file/view/section-upload-file-view.component.spec.ts b/src/app/submission/sections/upload/file/view/section-upload-file-view.component.spec.ts index 2e6d2fa0c4..cfbeb4c5ae 100644 --- a/src/app/submission/sections/upload/file/view/section-upload-file-view.component.spec.ts +++ b/src/app/submission/sections/upload/file/view/section-upload-file-view.component.spec.ts @@ -1,14 +1,21 @@ -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; - +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { TranslateModule } from '@ngx-translate/core'; -import { mockUploadFiles } from '../../../../../shared/mocks/submission.mock'; -import { FormComponent } from '../../../../../shared/form/form.component'; -import { SubmissionSectionUploadFileViewComponent } from './section-upload-file-view.component'; -import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { Metadata } from '../../../../../core/shared/metadata.utils'; +import { FormComponent } from '../../../../../shared/form/form.component'; +import { mockUploadFiles } from '../../../../../shared/mocks/submission.mock'; import { createTestComponent } from '../../../../../shared/testing/utils.test'; +import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; +import { SubmissionSectionUploadFileViewComponent } from './section-upload-file-view.component'; describe('SubmissionSectionUploadFileViewComponent test suite', () => { diff --git a/src/app/submission/sections/upload/file/view/section-upload-file-view.component.ts b/src/app/submission/sections/upload/file/view/section-upload-file-view.component.ts index bb2fea20f8..54f6f0e453 100644 --- a/src/app/submission/sections/upload/file/view/section-upload-file-view.component.ts +++ b/src/app/submission/sections/upload/file/view/section-upload-file-view.component.ts @@ -1,9 +1,16 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { + Component, + Input, + OnInit, +} from '@angular/core'; +import { + MetadataMap, + MetadataValue, +} from '../../../../../core/shared/metadata.models'; +import { Metadata } from '../../../../../core/shared/metadata.utils'; import { WorkspaceitemSectionUploadFileObject } from '../../../../../core/submission/models/workspaceitem-section-upload-file.model'; import { isNotEmpty } from '../../../../../shared/empty.util'; -import { Metadata } from '../../../../../core/shared/metadata.utils'; -import { MetadataMap, MetadataValue } from '../../../../../core/shared/metadata.models'; /** * This component allow to show bitstream's metadata diff --git a/src/app/submission/sections/upload/section-upload.component.spec.ts b/src/app/submission/sections/upload/section-upload.component.spec.ts index d2f90a654d..7e2c439706 100644 --- a/src/app/submission/sections/upload/section-upload.component.spec.ts +++ b/src/app/submission/sections/upload/section-upload.component.spec.ts @@ -1,22 +1,32 @@ -import { ChangeDetectorRef, Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { BrowserModule } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; - +import { + ChangeDetectorRef, + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + inject, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { BrowserModule } from '@angular/platform-browser'; import { TranslateModule } from '@ngx-translate/core'; import { cold } from 'jasmine-marbles'; import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; -import { createTestComponent } from '../../../shared/testing/utils.test'; -import { SubmissionObjectState } from '../../objects/submission-objects.reducer'; -import { SubmissionService } from '../../submission.service'; -import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; -import { SectionsService } from '../sections.service'; -import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionUploadsModel } from '../../../core/config/models/config-submission-uploads.model'; import { SubmissionFormsConfigDataService } from '../../../core/config/submission-forms-config-data.service'; -import { SectionDataObject } from '../models/section-data.model'; -import { SectionsType } from '../sections-type'; +import { SubmissionUploadsConfigDataService } from '../../../core/config/submission-uploads-config-data.service'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { buildPaginatedList } from '../../../core/data/paginated-list.model'; +import { GroupDataService } from '../../../core/eperson/group-data.service'; +import { Group } from '../../../core/eperson/models/group.model'; +import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; +import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { PageInfo } from '../../../core/shared/page-info.model'; +import { getMockSectionUploadService } from '../../../shared/mocks/section-upload.service.mock'; import { mockGroup, mockSubmissionCollectionId, @@ -26,19 +36,17 @@ import { mockUploadConfigResponseNotRequired, mockUploadFiles, } from '../../../shared/mocks/submission.mock'; -import { SubmissionUploadsConfigDataService } from '../../../core/config/submission-uploads-config-data.service'; -import { SectionUploadService } from './section-upload.service'; +import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; +import { SectionsServiceStub } from '../../../shared/testing/sections-service.stub'; +import { SubmissionServiceStub } from '../../../shared/testing/submission-service.stub'; +import { createTestComponent } from '../../../shared/testing/utils.test'; +import { SubmissionObjectState } from '../../objects/submission-objects.reducer'; +import { SubmissionService } from '../../submission.service'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { SectionsType } from '../sections-type'; import { SubmissionSectionUploadComponent } from './section-upload.component'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { Collection } from '../../../core/shared/collection.model'; -import { ResourcePolicy } from '../../../core/resource-policy/models/resource-policy.model'; -import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; -import { Group } from '../../../core/eperson/models/group.model'; -import { getMockSectionUploadService } from '../../../shared/mocks/section-upload.service.mock'; -import { SubmissionUploadsModel } from '../../../core/config/models/config-submission-uploads.model'; -import { buildPaginatedList } from '../../../core/data/paginated-list.model'; -import { PageInfo } from '../../../core/shared/page-info.model'; +import { SectionUploadService } from './section-upload.service'; function getMockSubmissionUploadsConfigService(): SubmissionFormsConfigDataService { return jasmine.createSpyObj('SubmissionUploadsConfigService', { diff --git a/src/app/submission/sections/upload/section-upload.component.ts b/src/app/submission/sections/upload/section-upload.component.ts index 205a46a9f9..14d0234f58 100644 --- a/src/app/submission/sections/upload/section-upload.component.ts +++ b/src/app/submission/sections/upload/section-upload.component.ts @@ -1,36 +1,51 @@ -import { ChangeDetectorRef, Component, Inject } from '@angular/core'; - +import { + ChangeDetectorRef, + Component, + Inject, +} from '@angular/core'; import { BehaviorSubject, combineLatest as observableCombineLatest, Observable, Subscription, } from 'rxjs'; -import { distinctUntilChanged, filter, map, mergeMap, switchMap, tap } from 'rxjs/operators'; +import { + distinctUntilChanged, + filter, + map, + mergeMap, + switchMap, + tap, +} from 'rxjs/operators'; -import { SectionModelComponent } from '../models/section.model'; -import { hasValue, isNotEmpty, isNotUndefined, isUndefined } from '../../../shared/empty.util'; -import { SectionUploadService } from './section-upload.service'; -import { CollectionDataService } from '../../../core/data/collection-data.service'; -import { GroupDataService } from '../../../core/eperson/group-data.service'; -import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; -import { SubmissionUploadsConfigDataService } from '../../../core/config/submission-uploads-config-data.service'; -import { SubmissionUploadsModel } from '../../../core/config/models/config-submission-uploads.model'; -import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; -import { SectionsType } from '../sections-type'; -import { renderSectionFor } from '../sections-decorator'; -import { SectionDataObject } from '../models/section-data.model'; -import { SubmissionObjectEntry } from '../../objects/submission-objects.reducer'; -import { AlertType } from '../../../shared/alert/aletr-type'; -import { RemoteData } from '../../../core/data/remote-data'; -import { Group } from '../../../core/eperson/models/group.model'; -import { SectionsService } from '../sections.service'; -import { SubmissionService } from '../../submission.service'; -import { Collection } from '../../../core/shared/collection.model'; -import { AccessConditionOption } from '../../../core/config/models/config-access-condition-option.model'; -import { followLink } from '../../../shared/utils/follow-link-config.model'; -import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { AccessConditionOption } from '../../../core/config/models/config-access-condition-option.model'; +import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model'; +import { SubmissionUploadsModel } from '../../../core/config/models/config-submission-uploads.model'; +import { SubmissionUploadsConfigDataService } from '../../../core/config/submission-uploads-config-data.service'; +import { CollectionDataService } from '../../../core/data/collection-data.service'; +import { RemoteData } from '../../../core/data/remote-data'; +import { GroupDataService } from '../../../core/eperson/group-data.service'; +import { Group } from '../../../core/eperson/models/group.model'; +import { ResourcePolicyDataService } from '../../../core/resource-policy/resource-policy-data.service'; +import { Collection } from '../../../core/shared/collection.model'; +import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; +import { AlertType } from '../../../shared/alert/aletr-type'; +import { + hasValue, + isNotEmpty, + isNotUndefined, + isUndefined, +} from '../../../shared/empty.util'; +import { followLink } from '../../../shared/utils/follow-link-config.model'; +import { SubmissionObjectEntry } from '../../objects/submission-objects.reducer'; +import { SubmissionService } from '../../submission.service'; +import { SectionModelComponent } from '../models/section.model'; +import { SectionDataObject } from '../models/section-data.model'; +import { SectionsService } from '../sections.service'; +import { renderSectionFor } from '../sections-decorator'; +import { SectionsType } from '../sections-type'; +import { SectionUploadService } from './section-upload.service'; export const POLICY_DEFAULT_NO_LIST = 1; // Banner1 export const POLICY_DEFAULT_WITH_LIST = 2; // Banner2 diff --git a/src/app/submission/sections/upload/section-upload.service.ts b/src/app/submission/sections/upload/section-upload.service.ts index 85ed130ac5..497296db3a 100644 --- a/src/app/submission/sections/upload/section-upload.service.ts +++ b/src/app/submission/sections/upload/section-upload.service.ts @@ -1,18 +1,24 @@ import { Injectable } from '@angular/core'; - -import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map } from 'rxjs/operators'; import { Store } from '@ngrx/store'; +import { Observable } from 'rxjs'; +import { + distinctUntilChanged, + filter, + map, +} from 'rxjs/operators'; -import { SubmissionState } from '../../submission.reducers'; +import { WorkspaceitemSectionUploadFileObject } from '../../../core/submission/models/workspaceitem-section-upload-file.model'; +import { isUndefined } from '../../../shared/empty.util'; import { DeleteUploadedFileAction, EditFileDataAction, NewUploadedFileAction, } from '../../objects/submission-objects.actions'; -import { submissionUploadedFileFromUuidSelector, submissionUploadedFilesFromIdSelector } from '../../selectors'; -import { isUndefined } from '../../../shared/empty.util'; -import { WorkspaceitemSectionUploadFileObject } from '../../../core/submission/models/workspaceitem-section-upload-file.model'; +import { + submissionUploadedFileFromUuidSelector, + submissionUploadedFilesFromIdSelector, +} from '../../selectors'; +import { SubmissionState } from '../../submission.reducers'; /** * A service that provides methods to handle submission's bitstream state. diff --git a/src/app/submission/selectors.ts b/src/app/submission/selectors.ts index 6284aca892..5cdeb543ff 100644 --- a/src/app/submission/selectors.ts +++ b/src/app/submission/selectors.ts @@ -1,9 +1,16 @@ -import { createSelector, MemoizedSelector, Selector } from '@ngrx/store'; +import { + createSelector, + MemoizedSelector, + Selector, +} from '@ngrx/store'; import { hasValue } from '../shared/empty.util'; -import { submissionSelector, SubmissionState } from './submission.reducers'; import { SubmissionObjectEntry} from './objects/submission-objects.reducer'; import { SubmissionSectionObject } from './objects/submission-section-object.model'; +import { + submissionSelector, + SubmissionState, +} from './submission.reducers'; /** * Export a function to return a subset of the state by key diff --git a/src/app/submission/server-submission.service.ts b/src/app/submission/server-submission.service.ts index 3aa55a9d58..993e38cdaa 100644 --- a/src/app/submission/server-submission.service.ts +++ b/src/app/submission/server-submission.service.ts @@ -1,10 +1,12 @@ import { Injectable } from '@angular/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; -import { Observable, of as observableOf } from 'rxjs'; - -import { SubmissionService } from './submission.service'; -import { SubmissionObject } from '../core/submission/models/submission-object.model'; import { RemoteData } from '../core/data/remote-data'; +import { SubmissionObject } from '../core/submission/models/submission-object.model'; +import { SubmissionService } from './submission.service'; /** * Instance of SubmissionService used on SSR. diff --git a/src/app/submission/submission.module.ts b/src/app/submission/submission.module.ts index 25e3a79fde..84b7e94e65 100644 --- a/src/app/submission/submission.module.ts +++ b/src/app/submission/submission.module.ts @@ -1,72 +1,67 @@ -import { NgModule } from '@angular/core'; -import { CoreModule } from '../core/core.module'; -import { SharedModule } from '../shared/shared.module'; - -import { SubmissionSectionFormComponent } from './sections/form/section-form.component'; -import { SectionsDirective } from './sections/sections.directive'; -import { SectionsService } from './sections/sections.service'; -import { SubmissionFormCollectionComponent } from './form/collection/submission-form-collection.component'; -import { SubmissionFormFooterComponent } from './form/footer/submission-form-footer.component'; -import { SubmissionFormComponent } from './form/submission-form.component'; -import { SubmissionFormSectionAddComponent } from './form/section-add/submission-form-section-add.component'; -import { SubmissionSectionContainerComponent } from './sections/container/section-container.component'; import { CommonModule } from '@angular/common'; -import { Action, StoreConfig, StoreModule } from '@ngrx/store'; +import { NgModule } from '@angular/core'; +import { + NgbAccordionModule, + NgbCollapseModule, + NgbModalModule, +} from '@ng-bootstrap/ng-bootstrap'; import { EffectsModule } from '@ngrx/effects'; -import { submissionReducers, SubmissionState } from './submission.reducers'; -import { submissionEffects } from './submission.effects'; -import { SubmissionSectionUploadComponent } from './sections/upload/section-upload.component'; -import { SectionUploadService } from './sections/upload/section-upload.service'; -import { SubmissionUploadFilesComponent } from './form/submission-upload-files/submission-upload-files.component'; -import { SubmissionSectionLicenseComponent } from './sections/license/section-license.component'; -import { SubmissionUploadsConfigDataService } from '../core/config/submission-uploads-config-data.service'; -import { SubmissionEditComponent } from './edit/submission-edit.component'; -import { SubmissionSectionUploadFileComponent } from './sections/upload/file/section-upload-file.component'; import { - SubmissionSectionUploadFileEditComponent, -} from './sections/upload/file/edit/section-upload-file-edit.component'; -import { - SubmissionSectionUploadFileViewComponent, -} from './sections/upload/file/view/section-upload-file-view.component'; -import { - SubmissionSectionUploadAccessConditionsComponent, -} from './sections/upload/accessConditions/submission-section-upload-access-conditions.component'; -import { SubmissionSubmitComponent } from './submit/submission-submit.component'; + Action, + StoreConfig, + StoreModule, +} from '@ngrx/store'; + import { storeModuleConfig } from '../app.reducer'; -import { SubmissionImportExternalComponent } from './import-external/submission-import-external.component'; -import { - SubmissionImportExternalSearchbarComponent, -} from './import-external/import-external-searchbar/submission-import-external-searchbar.component'; -import { - SubmissionImportExternalPreviewComponent, -} from './import-external/import-external-preview/submission-import-external-preview.component'; -import { - SubmissionImportExternalCollectionComponent, -} from './import-external/import-external-collection/submission-import-external-collection.component'; -import { SubmissionSectionCcLicensesComponent } from './sections/cc-license/submission-section-cc-licenses.component'; +import { SubmissionAccessesConfigDataService } from '../core/config/submission-accesses-config-data.service'; +import { SubmissionUploadsConfigDataService } from '../core/config/submission-uploads-config-data.service'; +import { CoreModule } from '../core/core.module'; import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module'; -import { ThemedSubmissionEditComponent } from './edit/themed-submission-edit.component'; -import { ThemedSubmissionSubmitComponent } from './submit/themed-submission-submit.component'; -import { ThemedSubmissionImportExternalComponent } from './import-external/themed-submission-import-external.component'; -import { ThemedSubmissionSectionUploadFileComponent } from './sections/upload/file/themed-section-upload-file.component'; import { FormModule } from '../shared/form/form.module'; -import { NgbAccordionModule, NgbCollapseModule, NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; -import { SubmissionSectionAccessesComponent } from './sections/accesses/section-accesses.component'; -import { SubmissionAccessesConfigDataService } from '../core/config/submission-accesses-config-data.service'; -import { SectionAccessesService } from './sections/accesses/section-accesses.service'; -import { SubmissionSectionSherpaPoliciesComponent } from './sections/sherpa-policies/section-sherpa-policies.component'; -import { ContentAccordionComponent } from './sections/sherpa-policies/content-accordion/content-accordion.component'; -import { PublisherPolicyComponent } from './sections/sherpa-policies/publisher-policy/publisher-policy.component'; -import { - PublicationInformationComponent, -} from './sections/sherpa-policies/publication-information/publication-information.component'; +import { SharedModule } from '../shared/shared.module'; import { UploadModule } from '../shared/upload/upload.module'; -import { - MetadataInformationComponent, -} from './sections/sherpa-policies/metadata-information/metadata-information.component'; +import { SubmissionEditComponent } from './edit/submission-edit.component'; +import { ThemedSubmissionEditComponent } from './edit/themed-submission-edit.component'; +import { SubmissionFormCollectionComponent } from './form/collection/submission-form-collection.component'; +import { SubmissionFormFooterComponent } from './form/footer/submission-form-footer.component'; +import { SubmissionFormSectionAddComponent } from './form/section-add/submission-form-section-add.component'; +import { SubmissionFormComponent } from './form/submission-form.component'; +import { SubmissionUploadFilesComponent } from './form/submission-upload-files/submission-upload-files.component'; +import { SubmissionImportExternalCollectionComponent } from './import-external/import-external-collection/submission-import-external-collection.component'; +import { SubmissionImportExternalPreviewComponent } from './import-external/import-external-preview/submission-import-external-preview.component'; +import { SubmissionImportExternalSearchbarComponent } from './import-external/import-external-searchbar/submission-import-external-searchbar.component'; +import { SubmissionImportExternalComponent } from './import-external/submission-import-external.component'; +import { ThemedSubmissionImportExternalComponent } from './import-external/themed-submission-import-external.component'; +import { SubmissionSectionAccessesComponent } from './sections/accesses/section-accesses.component'; +import { SectionAccessesService } from './sections/accesses/section-accesses.service'; +import { SubmissionSectionCcLicensesComponent } from './sections/cc-license/submission-section-cc-licenses.component'; +import { SubmissionSectionContainerComponent } from './sections/container/section-container.component'; +import { SubmissionSectionFormComponent } from './sections/form/section-form.component'; import { SectionFormOperationsService } from './sections/form/section-form-operations.service'; import {SubmissionSectionIdentifiersComponent} from './sections/identifiers/section-identifiers.component'; +import { SubmissionSectionLicenseComponent } from './sections/license/section-license.component'; +import { SectionsDirective } from './sections/sections.directive'; +import { SectionsService } from './sections/sections.service'; +import { ContentAccordionComponent } from './sections/sherpa-policies/content-accordion/content-accordion.component'; +import { MetadataInformationComponent } from './sections/sherpa-policies/metadata-information/metadata-information.component'; +import { PublicationInformationComponent } from './sections/sherpa-policies/publication-information/publication-information.component'; +import { PublisherPolicyComponent } from './sections/sherpa-policies/publisher-policy/publisher-policy.component'; +import { SubmissionSectionSherpaPoliciesComponent } from './sections/sherpa-policies/section-sherpa-policies.component'; +import { SubmissionSectionUploadAccessConditionsComponent } from './sections/upload/accessConditions/submission-section-upload-access-conditions.component'; +import { SubmissionSectionUploadFileEditComponent } from './sections/upload/file/edit/section-upload-file-edit.component'; +import { SubmissionSectionUploadFileComponent } from './sections/upload/file/section-upload-file.component'; +import { ThemedSubmissionSectionUploadFileComponent } from './sections/upload/file/themed-section-upload-file.component'; +import { SubmissionSectionUploadFileViewComponent } from './sections/upload/file/view/section-upload-file-view.component'; +import { SubmissionSectionUploadComponent } from './sections/upload/section-upload.component'; +import { SectionUploadService } from './sections/upload/section-upload.service'; +import { submissionEffects } from './submission.effects'; +import { + submissionReducers, + SubmissionState, +} from './submission.reducers'; +import { SubmissionSubmitComponent } from './submit/submission-submit.component'; +import { ThemedSubmissionSubmitComponent } from './submit/themed-submission-submit.component'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator diff --git a/src/app/submission/submission.reducers.ts b/src/app/submission/submission.reducers.ts index 5ea669a45d..23cacbf13f 100644 --- a/src/app/submission/submission.reducers.ts +++ b/src/app/submission/submission.reducers.ts @@ -1,4 +1,7 @@ -import { ActionReducerMap, createFeatureSelector } from '@ngrx/store'; +import { + ActionReducerMap, + createFeatureSelector, +} from '@ngrx/store'; import { submissionObjectReducer, diff --git a/src/app/submission/submission.service.spec.ts b/src/app/submission/submission.service.spec.ts index 7fc3348083..1154a76f4b 100644 --- a/src/app/submission/submission.service.spec.ts +++ b/src/app/submission/submission.service.spec.ts @@ -1,25 +1,55 @@ -import { StoreModule } from '@ngrx/store'; -import { fakeAsync, flush, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { ActivatedRoute, Router } from '@angular/router'; import { HttpHeaders } from '@angular/common/http'; - -import { of as observableOf, throwError as observableThrowError } from 'rxjs'; +import { + fakeAsync, + flush, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { StoreModule } from '@ngrx/store'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + cold, + getTestScheduler, + hot, +} from 'jasmine-marbles'; +import { + of as observableOf, + throwError as observableThrowError, +} from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; -import { RouterMock } from '../shared/mocks/router.mock'; -import { SubmissionService } from './submission.service'; -import { submissionReducers } from './submission.reducers'; -import { SubmissionRestService } from '../core/submission/submission-rest.service'; -import { RouteService } from '../core/services/route.service'; -import { SubmissionRestServiceStub } from '../shared/testing/submission-rest-service.stub'; -import { MockActivatedRoute } from '../shared/mocks/active-router.mock'; +import { environment } from '../../environments/environment'; +import { storeModuleConfig } from '../app.reducer'; +import { RequestService } from '../core/data/request.service'; import { HttpOptions } from '../core/dspace-rest/dspace-rest.service'; +import { RouteService } from '../core/services/route.service'; +import { Item } from '../core/shared/item.model'; +import { SearchService } from '../core/shared/search/search.service'; +import { SubmissionJsonPatchOperationsService } from '../core/submission/submission-json-patch-operations.service'; +import { SubmissionRestService } from '../core/submission/submission-rest.service'; import { SubmissionScopeType } from '../core/submission/submission-scope-type'; -import { mockSubmissionDefinition, mockSubmissionRestResponse } from '../shared/mocks/submission.mock'; -import { NotificationsService } from '../shared/notifications/notifications.service'; +import { MockActivatedRoute } from '../shared/mocks/active-router.mock'; +import { getMockRequestService } from '../shared/mocks/request.service.mock'; +import { RouterMock } from '../shared/mocks/router.mock'; +import { getMockSearchService } from '../shared/mocks/search-service.mock'; +import { + mockSubmissionDefinition, + mockSubmissionRestResponse, +} from '../shared/mocks/submission.mock'; import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { createFailedRemoteDataObject } from '../shared/remote-data.utils'; +import { SubmissionJsonPatchOperationsServiceStub } from '../shared/testing/submission-json-patch-operations-service.stub'; +import { SubmissionRestServiceStub } from '../shared/testing/submission-rest-service.stub'; import { CancelSubmissionFormAction, ChangeSubmissionCollectionAction, @@ -32,16 +62,8 @@ import { SaveSubmissionSectionFormAction, SetActiveSectionAction, } from './objects/submission-objects.actions'; -import { createFailedRemoteDataObject } from '../shared/remote-data.utils'; -import { getMockSearchService } from '../shared/mocks/search-service.mock'; -import { getMockRequestService } from '../shared/mocks/request.service.mock'; -import { RequestService } from '../core/data/request.service'; -import { SearchService } from '../core/shared/search/search.service'; -import { Item } from '../core/shared/item.model'; -import { storeModuleConfig } from '../app.reducer'; -import { environment } from '../../environments/environment'; -import { SubmissionJsonPatchOperationsService } from '../core/submission/submission-json-patch-operations.service'; -import { SubmissionJsonPatchOperationsServiceStub } from '../shared/testing/submission-json-patch-operations-service.stub'; +import { submissionReducers } from './submission.reducers'; +import { SubmissionService } from './submission.service'; describe('SubmissionService test suite', () => { const collectionId = '43fe1f8c-09a6-4fcf-9c78-5d4fed8f2c8f'; diff --git a/src/app/submission/submission.service.ts b/src/app/submission/submission.service.ts index ceaebfa310..1d518eaa3d 100644 --- a/src/app/submission/submission.service.ts +++ b/src/app/submission/submission.service.ts @@ -1,14 +1,51 @@ -import { Injectable } from '@angular/core'; import { HttpHeaders } from '@angular/common/http'; +import { Injectable } from '@angular/core'; import { Router } from '@angular/router'; - -import { Observable, of as observableOf, Subscription, timer as observableTimer } from 'rxjs'; -import { catchError, concatMap, distinctUntilChanged, filter, find, map, startWith, take, tap } from 'rxjs/operators'; import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, + Subscription, + timer as observableTimer, +} from 'rxjs'; +import { + catchError, + concatMap, + distinctUntilChanged, + filter, + find, + map, + startWith, + take, + tap, +} from 'rxjs/operators'; -import { submissionSelector, SubmissionState } from './submission.reducers'; -import { hasValue, isEmpty, isNotUndefined } from '../shared/empty.util'; +import { environment } from '../../environments/environment'; +import { ErrorResponse } from '../core/cache/response.models'; +import { SubmissionDefinitionsModel } from '../core/config/models/config-submission-definitions.model'; +import { RemoteData } from '../core/data/remote-data'; +import { RequestService } from '../core/data/request.service'; +import { HttpOptions } from '../core/dspace-rest/dspace-rest.service'; +import { RouteService } from '../core/services/route.service'; +import { Item } from '../core/shared/item.model'; +import { SearchService } from '../core/shared/search/search.service'; +import { SubmissionObject } from '../core/submission/models/submission-object.model'; +import { WorkspaceitemSectionsObject } from '../core/submission/models/workspaceitem-sections.model'; +import { SubmissionJsonPatchOperationsService } from '../core/submission/submission-json-patch-operations.service'; +import { SubmissionRestService } from '../core/submission/submission-rest.service'; +import { SubmissionScopeType } from '../core/submission/submission-scope-type'; +import { + hasValue, + isEmpty, + isNotUndefined, +} from '../shared/empty.util'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject, +} from '../shared/remote-data.utils'; +import { SubmissionError } from './objects/submission-error.model'; import { CancelSubmissionFormAction, ChangeSubmissionCollectionAction, @@ -25,27 +62,14 @@ import { SubmissionObjectEntry, SubmissionSectionEntry, } from './objects/submission-objects.reducer'; -import { submissionObjectFromIdSelector } from './selectors'; -import { HttpOptions } from '../core/dspace-rest/dspace-rest.service'; -import { SubmissionRestService } from '../core/submission/submission-rest.service'; -import { SectionDataObject } from './sections/models/section-data.model'; -import { SubmissionScopeType } from '../core/submission/submission-scope-type'; -import { SubmissionObject } from '../core/submission/models/submission-object.model'; -import { RouteService } from '../core/services/route.service'; -import { SectionsType } from './sections/sections-type'; -import { NotificationsService } from '../shared/notifications/notifications.service'; -import { SubmissionDefinitionsModel } from '../core/config/models/config-submission-definitions.model'; -import { WorkspaceitemSectionsObject } from '../core/submission/models/workspaceitem-sections.model'; -import { RemoteData } from '../core/data/remote-data'; -import { ErrorResponse } from '../core/cache/response.models'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject } from '../shared/remote-data.utils'; -import { RequestService } from '../core/data/request.service'; -import { SearchService } from '../core/shared/search/search.service'; -import { Item } from '../core/shared/item.model'; -import { environment } from '../../environments/environment'; -import { SubmissionJsonPatchOperationsService } from '../core/submission/submission-json-patch-operations.service'; import { SubmissionSectionObject } from './objects/submission-section-object.model'; -import { SubmissionError } from './objects/submission-error.model'; +import { SectionDataObject } from './sections/models/section-data.model'; +import { SectionsType } from './sections/sections-type'; +import { submissionObjectFromIdSelector } from './selectors'; +import { + submissionSelector, + SubmissionState, +} from './submission.reducers'; /** * A service that provides methods used in submission process. diff --git a/src/app/submission/submit/submission-submit.component.spec.ts b/src/app/submission/submit/submission-submit.component.spec.ts index a8880f38d7..71b98a9ccc 100644 --- a/src/app/submission/submit/submission-submit.component.spec.ts +++ b/src/app/submission/submit/submission-submit.component.spec.ts @@ -1,22 +1,34 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { + NO_ERRORS_SCHEMA, + ViewContainerRef, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NO_ERRORS_SCHEMA, ViewContainerRef } from '@angular/core'; - +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { SubmissionService } from '../submission.service'; -import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; -import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { mockSubmissionObject } from '../../shared/mocks/submission.mock'; -import { SubmissionSubmitComponent } from './submission-submit.component'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; import { ItemDataService } from '../../core/data/item-data.service'; +import { mockSubmissionObject } from '../../shared/mocks/submission.mock'; +import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub'; +import { SubmissionService } from '../submission.service'; +import { SubmissionSubmitComponent } from './submission-submit.component'; describe('SubmissionSubmitComponent Component', () => { diff --git a/src/app/submission/submit/submission-submit.component.ts b/src/app/submission/submit/submission-submit.component.ts index e1f4dfcbe9..999d33028e 100644 --- a/src/app/submission/submit/submission-submit.component.ts +++ b/src/app/submission/submit/submission-submit.component.ts @@ -1,20 +1,39 @@ -import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewContainerRef } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; - -import { BehaviorSubject, Subscription } from 'rxjs'; -import { debounceTime, switchMap } from 'rxjs/operators'; +import { + ChangeDetectorRef, + Component, + OnDestroy, + OnInit, + ViewContainerRef, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; +import { + BehaviorSubject, + Subscription, +} from 'rxjs'; +import { + debounceTime, + switchMap, +} from 'rxjs/operators'; -import { hasValue, isEmpty, isNotEmptyOperator, isNotNull } from '../../shared/empty.util'; import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model'; +import { ItemDataService } from '../../core/data/item-data.service'; +import { RemoteData } from '../../core/data/remote-data'; +import { Item } from '../../core/shared/item.model'; +import { getAllSucceededRemoteData } from '../../core/shared/operators'; +import { SubmissionObject } from '../../core/submission/models/submission-object.model'; +import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model'; +import { + hasValue, + isEmpty, + isNotEmptyOperator, + isNotNull, +} from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { SubmissionService } from '../submission.service'; -import { SubmissionObject } from '../../core/submission/models/submission-object.model'; -import { Item } from '../../core/shared/item.model'; -import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model'; -import { getAllSucceededRemoteData } from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { ItemDataService } from '../../core/data/item-data.service'; /** * This component allows to submit a new workspaceitem. diff --git a/src/app/submission/submit/themed-submission-submit.component.ts b/src/app/submission/submit/themed-submission-submit.component.ts index e5ae95fafc..6ea3eb9690 100644 --- a/src/app/submission/submit/themed-submission-submit.component.ts +++ b/src/app/submission/submit/themed-submission-submit.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { SubmissionSubmitComponent } from './submission-submit.component'; diff --git a/src/app/submission/utils/parseSectionErrors.ts b/src/app/submission/utils/parseSectionErrors.ts index 5f2867c8b8..4220eefda6 100644 --- a/src/app/submission/utils/parseSectionErrors.ts +++ b/src/app/submission/utils/parseSectionErrors.ts @@ -1,5 +1,8 @@ import { SubmissionObjectError } from '../../core/submission/models/submission-object.model'; -import { default as parseSectionErrorPaths, SectionErrorPath } from './parseSectionErrorPaths'; +import { + default as parseSectionErrorPaths, + SectionErrorPath, +} from './parseSectionErrorPaths'; /** * the following method accept an array of SubmissionObjectError and return a section errors object diff --git a/src/app/submit-page/submit-page-routing.module.ts b/src/app/submit-page/submit-page-routing.module.ts index c37f59784f..b7e6d3e6f5 100644 --- a/src/app/submit-page/submit-page-routing.module.ts +++ b/src/app/submit-page/submit-page-routing.module.ts @@ -2,8 +2,8 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { ThemedSubmissionSubmitComponent } from '../submission/submit/themed-submission-submit.component'; import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { ThemedSubmissionSubmitComponent } from '../submission/submit/themed-submission-submit.component'; @NgModule({ imports: [ diff --git a/src/app/submit-page/submit-page.module.ts b/src/app/submit-page/submit-page.module.ts index 6942628e9e..f6428e47e8 100644 --- a/src/app/submit-page/submit-page.module.ts +++ b/src/app/submit-page/submit-page.module.ts @@ -1,9 +1,10 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; -import { SubmitPageRoutingModule } from './submit-page-routing.module'; -import { SubmissionModule } from '../submission/submission.module'; + import { FormModule } from '../shared/form/form.module'; +import { SharedModule } from '../shared/shared.module'; +import { SubmissionModule } from '../submission/submission.module'; +import { SubmitPageRoutingModule } from './submit-page-routing.module'; @NgModule({ imports: [ diff --git a/src/app/subscriptions-page/subscriptions-page-routing.module.ts b/src/app/subscriptions-page/subscriptions-page-routing.module.ts index 7070da00c8..15600688e7 100644 --- a/src/app/subscriptions-page/subscriptions-page-routing.module.ts +++ b/src/app/subscriptions-page/subscriptions-page-routing.module.ts @@ -1,7 +1,8 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { SubscriptionsPageModule } from './subscriptions-page.module'; + import { SubscriptionsPageComponent } from './subscriptions-page.component'; +import { SubscriptionsPageModule } from './subscriptions-page.module'; @NgModule({ diff --git a/src/app/subscriptions-page/subscriptions-page.component.spec.ts b/src/app/subscriptions-page/subscriptions-page.component.spec.ts index a0bea8b31b..34b6e682d6 100644 --- a/src/app/subscriptions-page/subscriptions-page.component.spec.ts +++ b/src/app/subscriptions-page/subscriptions-page.component.spec.ts @@ -1,31 +1,43 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { BrowserModule, By } from '@angular/platform-browser'; +import { + DebugElement, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { ActivatedRoute } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; -import { NoopAnimationsModule } from '@angular/platform-browser/animations'; - +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { SubscriptionsPageComponent } from './subscriptions-page.component'; +import { AuthService } from '../core/auth/auth.service'; +import { buildPaginatedList } from '../core/data/paginated-list.model'; import { PaginationService } from '../core/pagination/pagination.service'; +import { PageInfo } from '../core/shared/page-info.model'; +import { MockActivatedRoute } from '../shared/mocks/active-router.mock'; +import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; +import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { SubscriptionViewComponent } from '../shared/subscriptions/subscription-view/subscription-view.component'; import { SubscriptionsDataService } from '../shared/subscriptions/subscriptions-data.service'; import { PaginationServiceStub } from '../shared/testing/pagination-service.stub'; -import { AuthService } from '../core/auth/auth.service'; -import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; import { mockSubscriptionEperson, subscriptionMock, subscriptionMock2, } from '../shared/testing/subscriptions-data.mock'; -import { MockActivatedRoute } from '../shared/mocks/active-router.mock'; import { VarDirective } from '../shared/utils/var.directive'; -import { SubscriptionViewComponent } from '../shared/subscriptions/subscription-view/subscription-view.component'; -import { PageInfo } from '../core/shared/page-info.model'; -import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { buildPaginatedList } from '../core/data/paginated-list.model'; +import { SubscriptionsPageComponent } from './subscriptions-page.component'; describe('SubscriptionsPageComponent', () => { let component: SubscriptionsPageComponent; diff --git a/src/app/subscriptions-page/subscriptions-page.component.ts b/src/app/subscriptions-page/subscriptions-page.component.ts index 1b3b123120..5ec2081e21 100644 --- a/src/app/subscriptions-page/subscriptions-page.component.ts +++ b/src/app/subscriptions-page/subscriptions-page.component.ts @@ -1,19 +1,36 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + Component, + OnDestroy, + OnInit, +} from '@angular/core'; +import { + BehaviorSubject, + combineLatestWith, + Observable, + shareReplay, + Subscription as rxjsSubscription, +} from 'rxjs'; +import { + map, + switchMap, + take, + tap, +} from 'rxjs/operators'; -import { BehaviorSubject, combineLatestWith, Observable, shareReplay, Subscription as rxjsSubscription } from 'rxjs'; -import { map, switchMap, take, tap } from 'rxjs/operators'; - -import { Subscription } from '../shared/subscriptions/models/subscription.model'; -import { buildPaginatedList, PaginatedList } from '../core/data/paginated-list.model'; -import { SubscriptionsDataService } from '../shared/subscriptions/subscriptions-data.service'; -import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; -import { PaginationService } from '../core/pagination/pagination.service'; -import { PageInfo } from '../core/shared/page-info.model'; import { AuthService } from '../core/auth/auth.service'; -import { EPerson } from '../core/eperson/models/eperson.model'; -import { getAllCompletedRemoteData } from '../core/shared/operators'; +import { + buildPaginatedList, + PaginatedList, +} from '../core/data/paginated-list.model'; import { RemoteData } from '../core/data/remote-data'; +import { EPerson } from '../core/eperson/models/eperson.model'; +import { PaginationService } from '../core/pagination/pagination.service'; +import { getAllCompletedRemoteData } from '../core/shared/operators'; +import { PageInfo } from '../core/shared/page-info.model'; import { hasValue } from '../shared/empty.util'; +import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; +import { Subscription } from '../shared/subscriptions/models/subscription.model'; +import { SubscriptionsDataService } from '../shared/subscriptions/subscriptions-data.service'; @Component({ selector: 'ds-subscriptions-page', diff --git a/src/app/subscriptions-page/subscriptions-page.module.ts b/src/app/subscriptions-page/subscriptions-page.module.ts index 62b6bc28e9..1527c84e6e 100644 --- a/src/app/subscriptions-page/subscriptions-page.module.ts +++ b/src/app/subscriptions-page/subscriptions-page.module.ts @@ -1,8 +1,9 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { SubscriptionsPageComponent } from './subscriptions-page.component'; +import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; import { SubscriptionsModule } from '../shared/subscriptions/subscriptions.module'; +import { SubscriptionsPageComponent } from './subscriptions-page.component'; @NgModule({ declarations: [SubscriptionsPageComponent], diff --git a/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.spec.ts b/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.spec.ts index 6ef3c03ed4..40637ce28d 100644 --- a/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.spec.ts +++ b/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.spec.ts @@ -1,16 +1,24 @@ -import { ComponentFixture, discardPeriodicTasks, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; -import { SystemWideAlertBannerComponent } from './system-wide-alert-banner.component'; -import { SystemWideAlertDataService } from '../../core/data/system-wide-alert-data.service'; -import { SystemWideAlert } from '../system-wide-alert.model'; -import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { utcToZonedTime } from 'date-fns-tz'; -import { createPaginatedList } from '../../shared/testing/utils.test'; -import { TestScheduler } from 'rxjs/testing'; -import { getTestScheduler } from 'jasmine-marbles'; +import { + ComponentFixture, + discardPeriodicTasks, + fakeAsync, + TestBed, + tick, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateModule } from '@ngx-translate/core'; +import { utcToZonedTime } from 'date-fns-tz'; +import { getTestScheduler } from 'jasmine-marbles'; +import { TestScheduler } from 'rxjs/testing'; + +import { SystemWideAlertDataService } from '../../core/data/system-wide-alert-data.service'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { SystemWideAlert } from '../system-wide-alert.model'; +import { SystemWideAlertBannerComponent } from './system-wide-alert-banner.component'; describe('SystemWideAlertBannerComponent', () => { diff --git a/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.ts b/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.ts index cf17b759f0..a9550944d7 100644 --- a/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.ts +++ b/src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.ts @@ -1,16 +1,33 @@ -import { Component, Inject, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core'; -import { SystemWideAlertDataService } from '../../core/data/system-wide-alert-data.service'; -import { - getAllSucceededRemoteDataPayload, -} from '../../core/shared/operators'; -import { filter, map, switchMap } from 'rxjs/operators'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { SystemWideAlert } from '../system-wide-alert.model'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { BehaviorSubject, EMPTY, interval, Subscription } from 'rxjs'; -import { zonedTimeToUtc } from 'date-fns-tz'; import { isPlatformBrowser } from '@angular/common'; +import { + Component, + Inject, + OnDestroy, + OnInit, + PLATFORM_ID, +} from '@angular/core'; +import { zonedTimeToUtc } from 'date-fns-tz'; +import { + BehaviorSubject, + EMPTY, + interval, + Subscription, +} from 'rxjs'; +import { + filter, + map, + switchMap, +} from 'rxjs/operators'; + +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { SystemWideAlertDataService } from '../../core/data/system-wide-alert-data.service'; +import { getAllSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { SystemWideAlert } from '../system-wide-alert.model'; /** * Component responsible for rendering a banner and the countdown for an active system-wide alert diff --git a/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.spec.ts b/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.spec.ts index 68554621e9..917f36bfdb 100644 --- a/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.spec.ts +++ b/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.spec.ts @@ -1,19 +1,30 @@ -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { SystemWideAlertDataService } from '../../core/data/system-wide-alert-data.service'; -import { SystemWideAlert } from '../system-wide-alert.model'; -import { utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz'; -import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { createPaginatedList } from '../../shared/testing/utils.test'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; -import { SystemWideAlertFormComponent } from './system-wide-alert-form.component'; +import { + utcToZonedTime, + zonedTimeToUtc, +} from 'date-fns-tz'; +import { UiSwitchModule } from 'ngx-ui-switch'; + import { RequestService } from '../../core/data/request.service'; +import { SystemWideAlertDataService } from '../../core/data/system-wide-alert-data.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; import { RouterStub } from '../../shared/testing/router.stub'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { Router } from '@angular/router'; -import { FormsModule } from '@angular/forms'; -import { UiSwitchModule } from 'ngx-ui-switch'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { SystemWideAlert } from '../system-wide-alert.model'; import { SystemWideAlertModule } from '../system-wide-alert.module'; +import { SystemWideAlertFormComponent } from './system-wide-alert-form.component'; describe('SystemWideAlertFormComponent', () => { let comp: SystemWideAlertFormComponent; diff --git a/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.ts b/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.ts index dd4cd02d17..7aa4c9f9ab 100644 --- a/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.ts +++ b/src/app/system-wide-alert/alert-form/system-wide-alert-form.component.ts @@ -1,19 +1,40 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + UntypedFormBuilder, + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; +import { Router } from '@angular/router'; +import { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { + utcToZonedTime, + zonedTimeToUtc, +} from 'date-fns-tz'; +import { + BehaviorSubject, + Observable, +} from 'rxjs'; +import { + filter, + map, +} from 'rxjs/operators'; + +import { PaginatedList } from '../../core/data/paginated-list.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { RequestService } from '../../core/data/request.service'; import { SystemWideAlertDataService } from '../../core/data/system-wide-alert-data.service'; import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { filter, map } from 'rxjs/operators'; -import { PaginatedList } from '../../core/data/paginated-list.model'; -import { SystemWideAlert } from '../system-wide-alert.model'; -import { hasValue, isNotEmpty } from '../../shared/empty.util'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; -import { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap'; -import { utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz'; -import { RemoteData } from '../../core/data/remote-data'; +import { + hasValue, + isNotEmpty, +} from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { Router } from '@angular/router'; -import { RequestService } from '../../core/data/request.service'; -import { TranslateService } from '@ngx-translate/core'; +import { SystemWideAlert } from '../system-wide-alert.model'; /** diff --git a/src/app/system-wide-alert/system-wide-alert-routing.module.ts b/src/app/system-wide-alert/system-wide-alert-routing.module.ts index 57d6c6b63f..f9c9664600 100644 --- a/src/app/system-wide-alert/system-wide-alert-routing.module.ts +++ b/src/app/system-wide-alert/system-wide-alert-routing.module.ts @@ -1,8 +1,7 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { - SiteAdministratorGuard, -} from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; + +import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard'; import { SystemWideAlertFormComponent } from './alert-form/system-wide-alert-form.component'; @NgModule({ diff --git a/src/app/system-wide-alert/system-wide-alert.model.ts b/src/app/system-wide-alert/system-wide-alert.model.ts index f89202c3df..3c2b524c1f 100644 --- a/src/app/system-wide-alert/system-wide-alert.model.ts +++ b/src/app/system-wide-alert/system-wide-alert.model.ts @@ -1,4 +1,8 @@ -import { autoserialize, deserialize } from 'cerialize'; +import { + autoserialize, + deserialize, +} from 'cerialize'; + import { typedObject } from '../core/cache/builders/build-decorators'; import { CacheableObject } from '../core/cache/cacheable-object.model'; import { HALLink } from '../core/shared/hal-link.model'; diff --git a/src/app/system-wide-alert/system-wide-alert.module.ts b/src/app/system-wide-alert/system-wide-alert.module.ts index dea67d0bea..bad87363bc 100644 --- a/src/app/system-wide-alert/system-wide-alert.module.ts +++ b/src/app/system-wide-alert/system-wide-alert.module.ts @@ -1,12 +1,16 @@ import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; +import { + NgbDatepickerModule, + NgbTimepickerModule, +} from '@ng-bootstrap/ng-bootstrap'; +import { UiSwitchModule } from 'ngx-ui-switch'; + +import { SystemWideAlertDataService } from '../core/data/system-wide-alert-data.service'; +import { SharedModule } from '../shared/shared.module'; import { SystemWideAlertBannerComponent } from './alert-banner/system-wide-alert-banner.component'; import { SystemWideAlertFormComponent } from './alert-form/system-wide-alert-form.component'; -import { SharedModule } from '../shared/shared.module'; -import { SystemWideAlertDataService } from '../core/data/system-wide-alert-data.service'; import { SystemWideAlertRoutingModule } from './system-wide-alert-routing.module'; -import { UiSwitchModule } from 'ngx-ui-switch'; -import { NgbDatepickerModule, NgbTimepickerModule } from '@ng-bootstrap/ng-bootstrap'; @NgModule({ imports: [ diff --git a/src/app/thumbnail/themed-thumbnail.component.ts b/src/app/thumbnail/themed-thumbnail.component.ts index 2a8d809104..2073ec1171 100644 --- a/src/app/thumbnail/themed-thumbnail.component.ts +++ b/src/app/thumbnail/themed-thumbnail.component.ts @@ -1,8 +1,12 @@ -import { ThemedComponent } from '../shared/theme-support/themed.component'; -import { Component, Input } from '@angular/core'; -import { ThumbnailComponent } from './thumbnail.component'; -import { Bitstream } from '../core/shared/bitstream.model'; +import { + Component, + Input, +} from '@angular/core'; + import { RemoteData } from '../core/data/remote-data'; +import { Bitstream } from '../core/shared/bitstream.model'; +import { ThemedComponent } from '../shared/theme-support/themed.component'; +import { ThumbnailComponent } from './thumbnail.component'; @Component({ selector: 'ds-themed-thumbnail', diff --git a/src/app/thumbnail/thumbnail.component.spec.ts b/src/app/thumbnail/thumbnail.component.spec.ts index 52b0b0493d..696427630e 100644 --- a/src/app/thumbnail/thumbnail.component.spec.ts +++ b/src/app/thumbnail/thumbnail.component.spec.ts @@ -1,17 +1,28 @@ -import { DebugElement, Pipe, PipeTransform } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { + DebugElement, + Pipe, + PipeTransform, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { Bitstream } from '../core/shared/bitstream.model'; -import { SafeUrlPipe } from '../shared/utils/safe-url-pipe'; import { of as observableOf } from 'rxjs'; -import { ThumbnailComponent } from './thumbnail.component'; -import { RemoteData } from '../core/data/remote-data'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../shared/remote-data.utils'; import { AuthService } from '../core/auth/auth.service'; -import { FileService } from '../core/shared/file.service'; -import { VarDirective } from '../shared/utils/var.directive'; import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { RemoteData } from '../core/data/remote-data'; +import { Bitstream } from '../core/shared/bitstream.model'; +import { FileService } from '../core/shared/file.service'; +import { + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject, +} from '../shared/remote-data.utils'; +import { SafeUrlPipe } from '../shared/utils/safe-url-pipe'; +import { VarDirective } from '../shared/utils/var.directive'; +import { ThumbnailComponent } from './thumbnail.component'; // eslint-disable-next-line @angular-eslint/pipe-prefix @Pipe({ name: 'translate' }) diff --git a/src/app/thumbnail/thumbnail.component.ts b/src/app/thumbnail/thumbnail.component.ts index 4a42d480c9..765a81961f 100644 --- a/src/app/thumbnail/thumbnail.component.ts +++ b/src/app/thumbnail/thumbnail.component.ts @@ -1,13 +1,25 @@ -import { Component, Input, OnChanges, SimpleChanges } from '@angular/core'; -import { Bitstream } from '../core/shared/bitstream.model'; -import { hasNoValue, hasValue } from '../shared/empty.util'; -import { RemoteData } from '../core/data/remote-data'; -import { BehaviorSubject, of as observableOf } from 'rxjs'; +import { + Component, + Input, + OnChanges, + SimpleChanges, +} from '@angular/core'; +import { + BehaviorSubject, + of as observableOf, +} from 'rxjs'; import { switchMap } from 'rxjs/operators'; -import { FeatureID } from '../core/data/feature-authorization/feature-id'; -import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; + import { AuthService } from '../core/auth/auth.service'; +import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service'; +import { FeatureID } from '../core/data/feature-authorization/feature-id'; +import { RemoteData } from '../core/data/remote-data'; +import { Bitstream } from '../core/shared/bitstream.model'; import { FileService } from '../core/shared/file.service'; +import { + hasNoValue, + hasValue, +} from '../shared/empty.util'; /** * This component renders a given Bitstream as a thumbnail. diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.spec.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.spec.ts index cbb85b6ad8..4ab935a4e9 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.spec.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.spec.ts @@ -1,8 +1,12 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { AdvancedWorkflowActionPageComponent } from './advanced-workflow-action-page.component'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; +import { AdvancedWorkflowActionPageComponent } from './advanced-workflow-action-page.component'; + describe('AdvancedWorkflowActionPageComponent', () => { let component: AdvancedWorkflowActionPageComponent; let fixture: ComponentFixture; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.ts index 59d57eb369..a1e475e57f 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.ts @@ -1,4 +1,7 @@ -import { Component, OnInit } from '@angular/core'; +import { + Component, + OnInit, +} from '@angular/core'; import { ActivatedRoute } from '@angular/router'; /** diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.spec.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.spec.ts index f3c5d8a235..eb148a9f0f 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.spec.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.spec.ts @@ -1,35 +1,48 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Location } from '@angular/common'; -import { - AdvancedWorkflowActionRatingComponent, - ADVANCED_WORKFLOW_TASK_OPTION_RATING, -} from './advanced-workflow-action-rating.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { of as observableOf } from 'rxjs'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { RouteService } from '../../../core/services/route.service'; -import { routeServiceStub } from '../../../shared/testing/route-service.stub'; -import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; -import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; -import { ClaimedTaskDataServiceStub } from '../../../shared/testing/claimed-task-data-service.stub'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { WorkflowActionDataServiceStub } from '../../../shared/testing/workflow-action-data-service.stub'; -import { WorkflowItemDataServiceStub } from '../../../shared/testing/workflow-item-data-service.stub'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { TranslateModule } from '@ngx-translate/core'; -import { VarDirective } from '../../../shared/utils/var.directive'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject$, createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; -import { Item } from '../../../core/shared/item.model'; import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { RequestService } from '../../../core/data/request.service'; +import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; +import { RouteService } from '../../../core/services/route.service'; +import { Item } from '../../../core/shared/item.model'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; import { RatingAdvancedWorkflowInfo } from '../../../core/tasks/models/rating-advanced-workflow-info.model'; -import { RequestService } from '../../../core/data/request.service'; -import { RequestServiceStub } from '../../../shared/testing/request-service.stub'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { ClaimedTaskDataServiceStub } from '../../../shared/testing/claimed-task-data-service.stub'; import { LocationStub } from '../../../shared/testing/location.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RequestServiceStub } from '../../../shared/testing/request-service.stub'; +import { routeServiceStub } from '../../../shared/testing/route-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { WorkflowActionDataServiceStub } from '../../../shared/testing/workflow-action-data-service.stub'; +import { WorkflowItemDataServiceStub } from '../../../shared/testing/workflow-item-data-service.stub'; +import { VarDirective } from '../../../shared/utils/var.directive'; +import { + ADVANCED_WORKFLOW_TASK_OPTION_RATING, + AdvancedWorkflowActionRatingComponent, +} from './advanced-workflow-action-rating.component'; const claimedTaskId = '2'; const workflowId = '1'; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.ts index 8621dffb1f..d92ed73ff3 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.ts @@ -1,11 +1,17 @@ -import { Component, OnInit } from '@angular/core'; import { - rendersAdvancedWorkflowTaskOption, -} from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; -import { AdvancedWorkflowActionComponent } from '../advanced-workflow-action/advanced-workflow-action.component'; -import { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms'; -import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; + Component, + OnInit, +} from '@angular/core'; +import { + UntypedFormControl, + UntypedFormGroup, + Validators, +} from '@angular/forms'; + import { RatingAdvancedWorkflowInfo } from '../../../core/tasks/models/rating-advanced-workflow-info.model'; +import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; +import { rendersAdvancedWorkflowTaskOption } from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; +import { AdvancedWorkflowActionComponent } from '../advanced-workflow-action/advanced-workflow-action.component'; export const ADVANCED_WORKFLOW_TASK_OPTION_RATING = 'submit_score'; export const ADVANCED_WORKFLOW_ACTION_RATING = 'scorereviewaction'; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.spec.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.spec.ts index 71952ce9c7..ea6ef0706f 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.spec.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.spec.ts @@ -1,32 +1,45 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Location } from '@angular/common'; +import { NO_ERRORS_SCHEMA } from '@angular/core'; import { - AdvancedWorkflowActionSelectReviewerComponent, - ADVANCED_WORKFLOW_TASK_OPTION_SELECT_REVIEWER, -} from './advanced-workflow-action-select-reviewer.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; -import { WorkflowItemDataServiceStub } from '../../../shared/testing/workflow-item-data-service.stub'; -import { WorkflowActionDataServiceStub } from '../../../shared/testing/workflow-action-data-service.stub'; + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + +import { RequestService } from '../../../core/data/request.service'; import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; import { RouteService } from '../../../core/services/route.service'; -import { routeServiceStub } from '../../../shared/testing/route-service.stub'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { TranslateModule } from '@ngx-translate/core'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; -import { ClaimedTaskDataServiceStub } from '../../../shared/testing/claimed-task-data-service.stub'; -import { of as observableOf } from 'rxjs'; -import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject$, createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; import { Item } from '../../../core/shared/item.model'; -import { EPersonMock, EPersonMock2 } from '../../../shared/testing/eperson.mock'; +import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { RequestService } from '../../../core/data/request.service'; -import { RequestServiceStub } from '../../../shared/testing/request-service.stub'; -import { RouterStub } from '../../../shared/testing/router.stub'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../../shared/remote-data.utils'; +import { ClaimedTaskDataServiceStub } from '../../../shared/testing/claimed-task-data-service.stub'; +import { + EPersonMock, + EPersonMock2, +} from '../../../shared/testing/eperson.mock'; import { LocationStub } from '../../../shared/testing/location.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RequestServiceStub } from '../../../shared/testing/request-service.stub'; +import { routeServiceStub } from '../../../shared/testing/route-service.stub'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { WorkflowActionDataServiceStub } from '../../../shared/testing/workflow-action-data-service.stub'; +import { WorkflowItemDataServiceStub } from '../../../shared/testing/workflow-item-data-service.stub'; +import { + ADVANCED_WORKFLOW_TASK_OPTION_SELECT_REVIEWER, + AdvancedWorkflowActionSelectReviewerComponent, +} from './advanced-workflow-action-select-reviewer.component'; const claimedTaskId = '2'; const workflowId = '1'; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.ts index 666f071304..9d4fd3ff30 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.ts @@ -1,27 +1,30 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; import { Location } from '@angular/common'; import { - rendersAdvancedWorkflowTaskOption, -} from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; -import { AdvancedWorkflowActionComponent } from '../advanced-workflow-action/advanced-workflow-action.component'; -import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; + Component, + OnDestroy, + OnInit, +} from '@angular/core'; import { - SelectReviewerAdvancedWorkflowInfo, -} from '../../../core/tasks/models/select-reviewer-advanced-workflow-info.model'; -import { - EPersonListActionConfig, -} from '../../../access-control/group-registry/group-form/members-list/members-list.component'; -import { Subscription } from 'rxjs'; -import { EPerson } from '../../../core/eperson/models/eperson.model'; -import { ActivatedRoute, Params, Router } from '@angular/router'; -import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; -import { RouteService } from '../../../core/services/route.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; + ActivatedRoute, + Params, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { Subscription } from 'rxjs'; + +import { EPersonListActionConfig } from '../../../access-control/group-registry/group-form/members-list/members-list.component'; import { RequestService } from '../../../core/data/request.service'; +import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; +import { EPerson } from '../../../core/eperson/models/eperson.model'; +import { RouteService } from '../../../core/services/route.service'; +import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { SelectReviewerAdvancedWorkflowInfo } from '../../../core/tasks/models/select-reviewer-advanced-workflow-info.model'; +import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; import { hasValue } from '../../../shared/empty.util'; +import { rendersAdvancedWorkflowTaskOption } from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { AdvancedWorkflowActionComponent } from '../advanced-workflow-action/advanced-workflow-action.component'; export const ADVANCED_WORKFLOW_TASK_OPTION_SELECT_REVIEWER = 'submit_select_reviewer'; export const ADVANCED_WORKFLOW_ACTION_SELECT_REVIEWER = 'selectrevieweraction'; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts index 30ea15c03a..ac4608a946 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts @@ -1,37 +1,70 @@ import { CommonModule } from '@angular/common'; -import { NO_ERRORS_SCHEMA, SimpleChange, DebugElement } from '@angular/core'; -import { ComponentFixture, fakeAsync, flush, TestBed, waitForAsync } from '@angular/core/testing'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { BrowserModule, By } from '@angular/platform-browser'; +import { + DebugElement, + NO_ERRORS_SCHEMA, + SimpleChange, +} from '@angular/core'; +import { + ComponentFixture, + fakeAsync, + flush, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { + BrowserModule, + By, +} from '@angular/platform-browser'; import { Router } from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + import { RestResponse } from '../../../../core/cache/response.models'; -import { buildPaginatedList, PaginatedList } from '../../../../core/data/paginated-list.model'; +import { + buildPaginatedList, + PaginatedList, +} from '../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../core/data/remote-data'; import { EPersonDataService } from '../../../../core/eperson/eperson-data.service'; import { GroupDataService } from '../../../../core/eperson/group-data.service'; import { EPerson } from '../../../../core/eperson/models/eperson.model'; +import { EpersonDtoModel } from '../../../../core/eperson/models/eperson-dto.model'; import { Group } from '../../../../core/eperson/models/group.model'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; import { PageInfo } from '../../../../core/shared/page-info.model'; import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { GroupMock, GroupMock2 } from '../../../../shared/testing/group-mock'; -import { ReviewersListComponent } from './reviewers-list.component'; -import { EPersonMock, EPersonMock2 } from '../../../../shared/testing/eperson.mock'; -import { - createSuccessfulRemoteDataObject$, - createNoContentRemoteDataObject$, -} from '../../../../shared/remote-data.utils'; -import { getMockTranslateService } from '../../../../shared/mocks/translate.service.mock'; import { getMockFormBuilderService } from '../../../../shared/mocks/form-builder-service.mock'; -import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; -import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; import { RouterMock } from '../../../../shared/mocks/router.mock'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; +import { getMockTranslateService } from '../../../../shared/mocks/translate.service.mock'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; +import { + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject$, +} from '../../../../shared/remote-data.utils'; +import { + EPersonMock, + EPersonMock2, +} from '../../../../shared/testing/eperson.mock'; +import { + GroupMock, + GroupMock2, +} from '../../../../shared/testing/group-mock'; +import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub'; import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub'; -import { EpersonDtoModel } from '../../../../core/eperson/models/eperson-dto.model'; +import { TranslateLoaderMock } from '../../../../shared/testing/translate-loader.mock'; +import { ReviewersListComponent } from './reviewers-list.component'; describe('ReviewersListComponent', () => { let component: ReviewersListComponent; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.ts index 89e0b94a3a..c0e926f27c 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.ts @@ -1,23 +1,36 @@ -import { Component, OnDestroy, OnInit, Input, OnChanges, SimpleChanges, EventEmitter, Output } from '@angular/core'; +import { + Component, + EventEmitter, + Input, + OnChanges, + OnDestroy, + OnInit, + Output, + SimpleChanges, +} from '@angular/core'; import { UntypedFormBuilder } from '@angular/forms'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { EPersonDataService } from '../../../../core/eperson/eperson-data.service'; -import { GroupDataService } from '../../../../core/eperson/group-data.service'; -import { NotificationsService } from '../../../../shared/notifications/notifications.service'; -import { PaginationService } from '../../../../core/pagination/pagination.service'; -import { Group } from '../../../../core/eperson/models/group.model'; -import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; -import { EpersonDtoModel } from '../../../../core/eperson/models/eperson-dto.model'; -import { EPerson } from '../../../../core/eperson/models/eperson.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { hasValue } from '../../../../shared/empty.util'; -import { PaginatedList } from '../../../../core/data/paginated-list.model'; import { - MembersListComponent, + Observable, + of as observableOf, +} from 'rxjs'; + +import { EPersonListActionConfig, + MembersListComponent, } from '../../../../access-control/group-registry/group-form/members-list/members-list.component'; import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { PaginatedList } from '../../../../core/data/paginated-list.model'; +import { EPersonDataService } from '../../../../core/eperson/eperson-data.service'; +import { GroupDataService } from '../../../../core/eperson/group-data.service'; +import { EPerson } from '../../../../core/eperson/models/eperson.model'; +import { EpersonDtoModel } from '../../../../core/eperson/models/eperson-dto.model'; +import { Group } from '../../../../core/eperson/models/group.model'; +import { PaginationService } from '../../../../core/pagination/pagination.service'; +import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; +import { hasValue } from '../../../../shared/empty.util'; +import { NotificationsService } from '../../../../shared/notifications/notifications.service'; /** * Keys to keep track of specific subscriptions diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.spec.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.spec.ts index ede08ca7b0..f63fb0e97e 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.spec.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.spec.ts @@ -1,27 +1,31 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Location } from '@angular/common'; -import { AdvancedWorkflowActionComponent } from './advanced-workflow-action.component'; import { Component } from '@angular/core'; -import { MockComponent } from 'ng-mocks'; -import { DSOSelectorComponent } from '../../../shared/dso-selector/dso-selector/dso-selector.component'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; -import { ClaimedTaskDataServiceStub } from '../../../shared/testing/claimed-task-data-service.stub'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; -import { of as observableOf } from 'rxjs'; -import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; import { RouterTestingModule } from '@angular/router/testing'; -import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; -import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { RouteService } from '../../../core/services/route.service'; -import { routeServiceStub } from '../../../shared/testing/route-service.stub'; import { TranslateModule } from '@ngx-translate/core'; -import { WorkflowActionDataServiceStub } from '../../../shared/testing/workflow-action-data-service.stub'; -import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; -import { WorkflowItemDataServiceStub } from '../../../shared/testing/workflow-item-data-service.stub'; +import { MockComponent } from 'ng-mocks'; +import { of as observableOf } from 'rxjs'; + import { RequestService } from '../../../core/data/request.service'; -import { RequestServiceStub } from '../../../shared/testing/request-service.stub'; +import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; +import { RouteService } from '../../../core/services/route.service'; +import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; +import { DSOSelectorComponent } from '../../../shared/dso-selector/dso-selector/dso-selector.component'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { ClaimedTaskDataServiceStub } from '../../../shared/testing/claimed-task-data-service.stub'; import { LocationStub } from '../../../shared/testing/location.stub'; +import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub'; +import { RequestServiceStub } from '../../../shared/testing/request-service.stub'; +import { routeServiceStub } from '../../../shared/testing/route-service.stub'; +import { WorkflowActionDataServiceStub } from '../../../shared/testing/workflow-action-data-service.stub'; +import { WorkflowItemDataServiceStub } from '../../../shared/testing/workflow-item-data-service.stub'; +import { AdvancedWorkflowActionComponent } from './advanced-workflow-action.component'; const workflowId = '1'; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts index 73fd6dc63e..7635020ebf 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts @@ -1,19 +1,26 @@ -import { Component, OnInit } from '@angular/core'; -import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; -import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { Observable } from 'rxjs'; -import { WorkflowItemActionPageComponent } from '../../workflow-item-action-page.component'; -import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; -import { RouteService } from '../../../core/services/route.service'; -import { NotificationsService } from '../../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; -import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; -import { map } from 'rxjs/operators'; -import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; -import { RequestService } from '../../../core/data/request.service'; import { Location } from '@angular/common'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +import { RequestService } from '../../../core/data/request.service'; +import { WorkflowActionDataService } from '../../../core/data/workflow-action-data.service'; +import { RouteService } from '../../../core/services/route.service'; +import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; +import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; +import { WorkflowAction } from '../../../core/tasks/models/workflow-action-object.model'; +import { NotificationsService } from '../../../shared/notifications/notifications.service'; +import { WorkflowItemActionPageComponent } from '../../workflow-item-action-page.component'; /** * Abstract component for rendering an advanced claimed task's workflow page diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.spec.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.spec.ts index 243638ba27..3b8afd0611 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.spec.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.spec.ts @@ -1,14 +1,19 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { AdvancedWorkflowActionsLoaderComponent } from './advanced-workflow-actions-loader.component'; -import { Router } from '@angular/router'; -import { RouterStub } from '../../../shared/testing/router.stub'; -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { AdvancedWorkflowActionsDirective } from './advanced-workflow-actions.directive'; import { - rendersAdvancedWorkflowTaskOption, -} from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; + import { PAGE_NOT_FOUND_PATH } from '../../../app-routing-paths'; +import { rendersAdvancedWorkflowTaskOption } from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; +import { RouterStub } from '../../../shared/testing/router.stub'; +import { AdvancedWorkflowActionsDirective } from './advanced-workflow-actions.directive'; +import { AdvancedWorkflowActionsLoaderComponent } from './advanced-workflow-actions-loader.component'; const ADVANCED_WORKFLOW_ACTION_TEST = 'testaction'; diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.ts index c2f4d51834..75199cc88d 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.ts @@ -1,11 +1,16 @@ -import { Component, Input, ViewChild, ComponentFactoryResolver, OnInit } from '@angular/core'; -import { hasValue } from '../../../shared/empty.util'; import { - getAdvancedComponentByWorkflowTaskOption, -} from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; -import { AdvancedWorkflowActionsDirective } from './advanced-workflow-actions.directive'; + Component, + ComponentFactoryResolver, + Input, + OnInit, + ViewChild, +} from '@angular/core'; import { Router } from '@angular/router'; + import { PAGE_NOT_FOUND_PATH } from '../../../app-routing-paths'; +import { hasValue } from '../../../shared/empty.util'; +import { getAdvancedComponentByWorkflowTaskOption } from '../../../shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator'; +import { AdvancedWorkflowActionsDirective } from './advanced-workflow-actions.directive'; /** * Component for loading a {@link AdvancedWorkflowActionComponent} depending on the "{@link type}" input diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions.directive.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions.directive.ts index e569f6cc6f..c8ecca501e 100644 --- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions.directive.ts +++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions.directive.ts @@ -1,4 +1,7 @@ -import { Directive, ViewContainerRef } from '@angular/core'; +import { + Directive, + ViewContainerRef, +} from '@angular/core'; @Directive({ selector: '[dsAdvancedWorkflowActions]', diff --git a/src/app/workflowitems-edit-page/item-from-workflow.resolver.spec.ts b/src/app/workflowitems-edit-page/item-from-workflow.resolver.spec.ts index c9f540fa71..5bf6aec2ff 100644 --- a/src/app/workflowitems-edit-page/item-from-workflow.resolver.spec.ts +++ b/src/app/workflowitems-edit-page/item-from-workflow.resolver.spec.ts @@ -1,4 +1,5 @@ import { first } from 'rxjs/operators'; + import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; import { ItemFromWorkflowResolver } from './item-from-workflow.resolver'; diff --git a/src/app/workflowitems-edit-page/item-from-workflow.resolver.ts b/src/app/workflowitems-edit-page/item-from-workflow.resolver.ts index e6867b2963..237a6ad945 100644 --- a/src/app/workflowitems-edit-page/item-from-workflow.resolver.ts +++ b/src/app/workflowitems-edit-page/item-from-workflow.resolver.ts @@ -1,10 +1,11 @@ import { Injectable } from '@angular/core'; import { Resolve } from '@angular/router'; +import { Store } from '@ngrx/store'; + import { RemoteData } from '../core/data/remote-data'; import { Item } from '../core/shared/item.model'; -import { Store } from '@ngrx/store'; -import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; import { SubmissionObjectResolver } from '../core/submission/resolver/submission-object.resolver'; +import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; /** * This class represents a resolver that requests a specific item before the route is activated diff --git a/src/app/workflowitems-edit-page/workflow-item-action-page.component.spec.ts b/src/app/workflowitems-edit-page/workflow-item-action-page.component.spec.ts index 2b2f5f4ef2..d775823746 100644 --- a/src/app/workflowitems-edit-page/workflow-item-action-page.component.spec.ts +++ b/src/app/workflowitems-edit-page/workflow-item-action-page.component.spec.ts @@ -1,25 +1,45 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; -import { WorkflowItemActionPageComponent } from './workflow-item-action-page.component'; -import { NotificationsService } from '../shared/notifications/notifications.service'; -import { RouteService } from '../core/services/route.service'; -import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; -import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { WorkflowItem } from '../core/submission/models/workflowitem.model'; -import { Observable, of as observableOf } from 'rxjs'; -import { VarDirective } from '../shared/utils/var.directive'; -import { By } from '@angular/platform-browser'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; -import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; -import { ActivatedRouteStub } from '../shared/testing/active-router.stub'; -import { RouterStub } from '../shared/testing/router.stub'; -import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; -import { RequestService } from '../core/data/request.service'; -import { RequestServiceStub } from '../shared/testing/request-service.stub'; import { Location } from '@angular/common'; +import { + Component, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + TranslateLoader, + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { RequestService } from '../core/data/request.service'; +import { RouteService } from '../core/services/route.service'; +import { WorkflowItem } from '../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; +import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../shared/testing/active-router.stub'; import { LocationStub } from '../shared/testing/location.stub'; +import { NotificationsServiceStub } from '../shared/testing/notifications-service.stub'; +import { RequestServiceStub } from '../shared/testing/request-service.stub'; +import { RouterStub } from '../shared/testing/router.stub'; +import { VarDirective } from '../shared/utils/var.directive'; +import { WorkflowItemActionPageComponent } from './workflow-item-action-page.component'; const type = 'testType'; describe('WorkflowItemActionPageComponent', () => { diff --git a/src/app/workflowitems-edit-page/workflow-item-action-page.component.ts b/src/app/workflowitems-edit-page/workflow-item-action-page.component.ts index 9497f71ff6..d245fc3082 100644 --- a/src/app/workflowitems-edit-page/workflow-item-action-page.component.ts +++ b/src/app/workflowitems-edit-page/workflow-item-action-page.component.ts @@ -1,18 +1,37 @@ -import { Component, OnInit } from '@angular/core'; import { Location } from '@angular/common'; -import { Observable, combineLatest } from 'rxjs'; -import { map, switchMap, take } from 'rxjs/operators'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Data, + Params, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { WorkflowItem } from '../core/submission/models/workflowitem.model'; -import { Item } from '../core/shared/item.model'; -import { ActivatedRoute, Data, Router, Params } from '@angular/router'; -import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; -import { RouteService } from '../core/services/route.service'; -import { NotificationsService } from '../shared/notifications/notifications.service'; +import { + combineLatest, + Observable, +} from 'rxjs'; +import { + map, + switchMap, + take, +} from 'rxjs/operators'; + import { RemoteData } from '../core/data/remote-data'; -import { getAllSucceededRemoteData, getRemoteDataPayload } from '../core/shared/operators'; -import { isEmpty } from '../shared/empty.util'; import { RequestService } from '../core/data/request.service'; +import { RouteService } from '../core/services/route.service'; +import { Item } from '../core/shared/item.model'; +import { + getAllSucceededRemoteData, + getRemoteDataPayload, +} from '../core/shared/operators'; +import { WorkflowItem } from '../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; +import { isEmpty } from '../shared/empty.util'; +import { NotificationsService } from '../shared/notifications/notifications.service'; /** * Abstract component representing a page to perform an action on a workflow item diff --git a/src/app/workflowitems-edit-page/workflow-item-delete/themed-workflow-item-delete.component.ts b/src/app/workflowitems-edit-page/workflow-item-delete/themed-workflow-item-delete.component.ts index b733112839..c2f0abbde4 100644 --- a/src/app/workflowitems-edit-page/workflow-item-delete/themed-workflow-item-delete.component.ts +++ b/src/app/workflowitems-edit-page/workflow-item-delete/themed-workflow-item-delete.component.ts @@ -1,7 +1,8 @@ -import { WorkflowItemDeleteComponent } from './workflow-item-delete.component'; -import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { Component } from '@angular/core'; +import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { WorkflowItemDeleteComponent } from './workflow-item-delete.component'; + /** * Themed wrapper for WorkflowItemDeleteComponent */ diff --git a/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.spec.ts b/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.spec.ts index 711014c060..0b89452694 100644 --- a/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.spec.ts +++ b/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.spec.ts @@ -1,23 +1,37 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { Location } from '@angular/common'; -import { WorkflowItemDeleteComponent } from './workflow-item-delete.component'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouteService } from '../../core/services/route.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { VarDirective } from '../../shared/utils/var.directive'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; + import { RequestService } from '../../core/data/request.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RouteService } from '../../core/services/route.service'; +import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; import { LocationStub } from '../../shared/testing/location.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { WorkflowItemDeleteComponent } from './workflow-item-delete.component'; describe('WorkflowItemDeleteComponent', () => { let component: WorkflowItemDeleteComponent; diff --git a/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts b/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts index b0e8aa2724..516d57e1a4 100644 --- a/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts +++ b/src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts @@ -1,17 +1,21 @@ +import { Location } from '@angular/common'; import { Component } from '@angular/core'; -import { Observable } from 'rxjs'; -import { WorkflowItemActionPageComponent } from '../workflow-item-action-page.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { RouteService } from '../../core/services/route.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { RequestService } from '../../core/data/request.service'; +import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; + import { RemoteData } from '../../core/data/remote-data'; +import { RequestService } from '../../core/data/request.service'; +import { RouteService } from '../../core/services/route.service'; import { NoContent } from '../../core/shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../../core/shared/operators'; -import { Location } from '@angular/common'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { WorkflowItemActionPageComponent } from '../workflow-item-action-page.component'; @Component({ selector: 'ds-workflow-item-delete', diff --git a/src/app/workflowitems-edit-page/workflow-item-page.resolver.spec.ts b/src/app/workflowitems-edit-page/workflow-item-page.resolver.spec.ts index d0eeb3254a..21f9e6e00a 100644 --- a/src/app/workflowitems-edit-page/workflow-item-page.resolver.spec.ts +++ b/src/app/workflowitems-edit-page/workflow-item-page.resolver.spec.ts @@ -1,7 +1,8 @@ import { first } from 'rxjs/operators'; -import { WorkflowItemPageResolver } from './workflow-item-page.resolver'; + import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { WorkflowItemPageResolver } from './workflow-item-page.resolver'; describe('WorkflowItemPageResolver', () => { describe('resolve', () => { diff --git a/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts b/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts index 4bb3eac513..c5c2d4d717 100644 --- a/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts +++ b/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts @@ -1,11 +1,16 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; + import { RemoteData } from '../core/data/remote-data'; -import { followLink } from '../shared/utils/follow-link-config.model'; -import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; -import { WorkflowItem } from '../core/submission/models/workflowitem.model'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { WorkflowItem } from '../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service'; +import { followLink } from '../shared/utils/follow-link-config.model'; /** * This class represents a resolver that requests a specific workflow item before the route is activated diff --git a/src/app/workflowitems-edit-page/workflow-item-send-back/themed-workflow-item-send-back.component.ts b/src/app/workflowitems-edit-page/workflow-item-send-back/themed-workflow-item-send-back.component.ts index 3f033e9936..2a6054f691 100644 --- a/src/app/workflowitems-edit-page/workflow-item-send-back/themed-workflow-item-send-back.component.ts +++ b/src/app/workflowitems-edit-page/workflow-item-send-back/themed-workflow-item-send-back.component.ts @@ -1,5 +1,6 @@ -import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { Component } from '@angular/core'; + +import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { WorkflowItemSendBackComponent } from './workflow-item-send-back.component'; /** diff --git a/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.spec.ts b/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.spec.ts index f6eb9db128..95f90b34dd 100644 --- a/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.spec.ts +++ b/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.spec.ts @@ -1,23 +1,37 @@ -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { Location } from '@angular/common'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouteService } from '../../core/services/route.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { VarDirective } from '../../shared/utils/var.directive'; +import { + ComponentFixture, + TestBed, + waitForAsync, +} from '@angular/core/testing'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; -import { WorkflowItemSendBackComponent } from './workflow-item-send-back.component'; + import { RequestService } from '../../core/data/request.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; -import { RouterStub } from '../../shared/testing/router.stub'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { RouteService } from '../../core/services/route.service'; +import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; +import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$, +} from '../../shared/remote-data.utils'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; import { LocationStub } from '../../shared/testing/location.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { RouterStub } from '../../shared/testing/router.stub'; +import { VarDirective } from '../../shared/utils/var.directive'; +import { WorkflowItemSendBackComponent } from './workflow-item-send-back.component'; describe('WorkflowItemSendBackComponent', () => { let component: WorkflowItemSendBackComponent; diff --git a/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts b/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts index 819e8a300b..651924787f 100644 --- a/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts +++ b/src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts @@ -1,13 +1,17 @@ -import { Component } from '@angular/core'; -import { WorkflowItemActionPageComponent } from '../workflow-item-action-page.component'; -import { Observable } from 'rxjs'; -import { ActivatedRoute, Router } from '@angular/router'; -import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; -import { RouteService } from '../../core/services/route.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { TranslateService } from '@ngx-translate/core'; -import { RequestService } from '../../core/data/request.service'; import { Location } from '@angular/common'; +import { Component } from '@angular/core'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { TranslateService } from '@ngx-translate/core'; +import { Observable } from 'rxjs'; + +import { RequestService } from '../../core/data/request.service'; +import { RouteService } from '../../core/services/route.service'; +import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { WorkflowItemActionPageComponent } from '../workflow-item-action-page.component'; @Component({ selector: 'ds-workflow-item-send-back', diff --git a/src/app/workflowitems-edit-page/workflowitems-edit-page-routing-paths.ts b/src/app/workflowitems-edit-page/workflowitems-edit-page-routing-paths.ts index 326eebe4a7..229efd49d7 100644 --- a/src/app/workflowitems-edit-page/workflowitems-edit-page-routing-paths.ts +++ b/src/app/workflowitems-edit-page/workflowitems-edit-page-routing-paths.ts @@ -1,5 +1,8 @@ +import { + getWorkflowItemModuleRoute, + getWorkspaceItemModuleRoute, +} from '../app-routing-paths'; import { URLCombiner } from '../core/url-combiner/url-combiner'; -import { getWorkflowItemModuleRoute, getWorkspaceItemModuleRoute } from '../app-routing-paths'; export function getWorkflowItemPageRoute(wfiId: string) { return new URLCombiner(getWorkflowItemModuleRoute(), wfiId).toString(); diff --git a/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts b/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts index a6d180cbda..a5e0a261b0 100644 --- a/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts +++ b/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts @@ -2,23 +2,21 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { ThemedFullItemPageComponent } from '../item-page/full/themed-full-item-page.component'; +import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component'; +import { AdvancedWorkflowActionPageComponent } from './advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component'; +import { ItemFromWorkflowResolver } from './item-from-workflow.resolver'; +import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component'; import { WorkflowItemPageResolver } from './workflow-item-page.resolver'; +import { ThemedWorkflowItemSendBackComponent } from './workflow-item-send-back/themed-workflow-item-send-back.component'; import { + ADVANCED_WORKFLOW_PATH, WORKFLOW_ITEM_DELETE_PATH, WORKFLOW_ITEM_EDIT_PATH, WORKFLOW_ITEM_SEND_BACK_PATH, WORKFLOW_ITEM_VIEW_PATH, - ADVANCED_WORKFLOW_PATH, } from './workflowitems-edit-page-routing-paths'; -import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component'; -import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component'; -import { ThemedWorkflowItemSendBackComponent } from './workflow-item-send-back/themed-workflow-item-send-back.component'; -import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; -import { ItemFromWorkflowResolver } from './item-from-workflow.resolver'; -import { ThemedFullItemPageComponent } from '../item-page/full/themed-full-item-page.component'; -import { - AdvancedWorkflowActionPageComponent, -} from './advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component'; @NgModule({ imports: [ diff --git a/src/app/workflowitems-edit-page/workflowitems-edit-page.module.ts b/src/app/workflowitems-edit-page/workflowitems-edit-page.module.ts index ccf7e794c0..2b12c75733 100644 --- a/src/app/workflowitems-edit-page/workflowitems-edit-page.module.ts +++ b/src/app/workflowitems-edit-page/workflowitems-edit-page.module.ts @@ -1,38 +1,25 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { SharedModule } from '../shared/shared.module'; -import { WorkflowItemsEditPageRoutingModule } from './workflowitems-edit-page-routing.module'; -import { SubmissionModule } from '../submission/submission.module'; -import { WorkflowItemDeleteComponent } from './workflow-item-delete/workflow-item-delete.component'; -import { WorkflowItemSendBackComponent } from './workflow-item-send-back/workflow-item-send-back.component'; -import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component'; -import { - ThemedWorkflowItemSendBackComponent, -} from './workflow-item-send-back/themed-workflow-item-send-back.component'; -import { StatisticsModule } from '../statistics/statistics.module'; -import { ItemPageModule } from '../item-page/item-page.module'; -import { - AdvancedWorkflowActionsLoaderComponent, -} from './advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component'; -import { - AdvancedWorkflowActionRatingComponent, -} from './advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component'; -import { - AdvancedWorkflowActionSelectReviewerComponent, -} from './advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component'; -import { - AdvancedWorkflowActionPageComponent, -} from './advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component'; -import { - AdvancedWorkflowActionsDirective, -} from './advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions.directive'; -import { AccessControlModule } from '../access-control/access-control.module'; -import { - ReviewersListComponent, -} from './advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component'; -import { FormModule } from '../shared/form/form.module'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { AccessControlModule } from '../access-control/access-control.module'; +import { ItemPageModule } from '../item-page/item-page.module'; +import { FormModule } from '../shared/form/form.module'; +import { SharedModule } from '../shared/shared.module'; +import { StatisticsModule } from '../statistics/statistics.module'; +import { SubmissionModule } from '../submission/submission.module'; +import { AdvancedWorkflowActionPageComponent } from './advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component'; +import { AdvancedWorkflowActionRatingComponent } from './advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component'; +import { AdvancedWorkflowActionSelectReviewerComponent } from './advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component'; +import { ReviewersListComponent } from './advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component'; +import { AdvancedWorkflowActionsDirective } from './advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions.directive'; +import { AdvancedWorkflowActionsLoaderComponent } from './advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component'; +import { ThemedWorkflowItemDeleteComponent } from './workflow-item-delete/themed-workflow-item-delete.component'; +import { WorkflowItemDeleteComponent } from './workflow-item-delete/workflow-item-delete.component'; +import { ThemedWorkflowItemSendBackComponent } from './workflow-item-send-back/themed-workflow-item-send-back.component'; +import { WorkflowItemSendBackComponent } from './workflow-item-send-back/workflow-item-send-back.component'; +import { WorkflowItemsEditPageRoutingModule } from './workflowitems-edit-page-routing.module'; + @NgModule({ imports: [ WorkflowItemsEditPageRoutingModule, diff --git a/src/app/workspaceitems-edit-page/item-from-workspace.resolver.spec.ts b/src/app/workspaceitems-edit-page/item-from-workspace.resolver.spec.ts index 04b10025c4..77232762c3 100644 --- a/src/app/workspaceitems-edit-page/item-from-workspace.resolver.spec.ts +++ b/src/app/workspaceitems-edit-page/item-from-workspace.resolver.spec.ts @@ -1,4 +1,5 @@ import { first } from 'rxjs/operators'; + import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; import { ItemFromWorkspaceResolver } from './item-from-workspace.resolver'; diff --git a/src/app/workspaceitems-edit-page/item-from-workspace.resolver.ts b/src/app/workspaceitems-edit-page/item-from-workspace.resolver.ts index 9c76a85899..efbf28c61c 100644 --- a/src/app/workspaceitems-edit-page/item-from-workspace.resolver.ts +++ b/src/app/workspaceitems-edit-page/item-from-workspace.resolver.ts @@ -1,8 +1,9 @@ import { Injectable } from '@angular/core'; import { Resolve } from '@angular/router'; +import { Store } from '@ngrx/store'; + import { RemoteData } from '../core/data/remote-data'; import { Item } from '../core/shared/item.model'; -import { Store } from '@ngrx/store'; import { SubmissionObjectResolver } from '../core/submission/resolver/submission-object.resolver'; import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; diff --git a/src/app/workspaceitems-edit-page/workspace-item-page.resolver.spec.ts b/src/app/workspaceitems-edit-page/workspace-item-page.resolver.spec.ts index 1a2e5b6cf7..0502da186b 100644 --- a/src/app/workspaceitems-edit-page/workspace-item-page.resolver.spec.ts +++ b/src/app/workspaceitems-edit-page/workspace-item-page.resolver.spec.ts @@ -1,7 +1,8 @@ import { first } from 'rxjs/operators'; -import { WorkspaceItemPageResolver } from './workspace-item-page.resolver'; + import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils'; +import { WorkspaceItemPageResolver } from './workspace-item-page.resolver'; describe('WorkflowItemPageResolver', () => { describe('resolve', () => { diff --git a/src/app/workspaceitems-edit-page/workspace-item-page.resolver.ts b/src/app/workspaceitems-edit-page/workspace-item-page.resolver.ts index 1b1aa25492..d10fb8a2b8 100644 --- a/src/app/workspaceitems-edit-page/workspace-item-page.resolver.ts +++ b/src/app/workspaceitems-edit-page/workspace-item-page.resolver.ts @@ -1,11 +1,16 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { + ActivatedRouteSnapshot, + Resolve, + RouterStateSnapshot, +} from '@angular/router'; import { Observable } from 'rxjs'; + import { RemoteData } from '../core/data/remote-data'; -import { followLink } from '../shared/utils/follow-link-config.model'; -import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; -import { WorkflowItem } from '../core/submission/models/workflowitem.model'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { WorkflowItem } from '../core/submission/models/workflowitem.model'; +import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service'; +import { followLink } from '../shared/utils/follow-link-config.model'; /** * This class represents a resolver that requests a specific workflow item before the route is activated diff --git a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts index 5279076c10..5f30cc0d1c 100644 --- a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts +++ b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts @@ -1,5 +1,6 @@ -import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { Component } from '@angular/core'; + +import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page.component'; /** diff --git a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.spec.ts b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.spec.ts index e982d6c430..43cbb88469 100644 --- a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.spec.ts +++ b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.spec.ts @@ -1,24 +1,36 @@ +import { Location } from '@angular/common'; +import { + EventEmitter, + NO_ERRORS_SCHEMA, +} from '@angular/core'; +import { + ComponentFixture, + TestBed, +} from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; +import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; +import { + TranslateModule, + TranslateService, +} from '@ngx-translate/core'; +import { of as observableOf } from 'rxjs'; + import { RouteService } from '../../core/services/route.service'; -import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; import { RouterMock } from '../../shared/mocks/router.mock'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page.component'; -import { ActivatedRoute, Router } from '@angular/router'; -import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; -import { EventEmitter, NO_ERRORS_SCHEMA } from '@angular/core'; -import { Location } from '@angular/common'; -import { of as observableOf } from 'rxjs'; -import { routeServiceStub } from '../../shared/testing/route-service.stub'; -import { LocationStub } from '../../shared/testing/location.stub'; -import { By } from '@angular/platform-browser'; -import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; -import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; +import { LocationStub } from '../../shared/testing/location.stub'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { routeServiceStub } from '../../shared/testing/route-service.stub'; +import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page.component'; describe('WorkspaceitemsDeletePageComponent', () => { let component: WorkspaceItemsDeletePageComponent; diff --git a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts index 6d0684c17d..af1a12ed46 100644 --- a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts +++ b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts @@ -1,17 +1,34 @@ -import { NotificationsService } from '../../shared/notifications/notifications.service'; -import { NoContent } from '../../core/shared/NoContent.model'; -import { RouteService } from '../../core/services/route.service'; -import { getFirstCompletedRemoteData, getRemoteDataPayload } from '../../core/shared/operators'; -import { RemoteData } from '../../core/data/remote-data'; -import { Component, OnInit } from '@angular/core'; -import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; -import { map, Observable, switchMap, take } from 'rxjs'; -import { ActivatedRoute, Data, Params, Router } from '@angular/router'; import { Location } from '@angular/common'; -import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; -import { TranslateService } from '@ngx-translate/core'; +import { + Component, + OnInit, +} from '@angular/core'; +import { + ActivatedRoute, + Data, + Params, + Router, +} from '@angular/router'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateService } from '@ngx-translate/core'; +import { + map, + Observable, + switchMap, + take, +} from 'rxjs'; + +import { RemoteData } from '../../core/data/remote-data'; +import { RouteService } from '../../core/services/route.service'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { NoContent } from '../../core/shared/NoContent.model'; +import { + getFirstCompletedRemoteData, + getRemoteDataPayload, +} from '../../core/shared/operators'; +import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model'; +import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; @Component({ selector: 'ds-workspaceitems-delete-page', diff --git a/src/app/workspaceitems-edit-page/workspaceitems-edit-page-routing.module.ts b/src/app/workspaceitems-edit-page/workspaceitems-edit-page-routing.module.ts index db6d71ad94..712c1e9ece 100644 --- a/src/app/workspaceitems-edit-page/workspaceitems-edit-page-routing.module.ts +++ b/src/app/workspaceitems-edit-page/workspaceitems-edit-page-routing.module.ts @@ -2,13 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { AuthenticatedGuard } from '../core/auth/authenticated.guard'; -import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component'; import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { ThemedFullItemPageComponent } from '../item-page/full/themed-full-item-page.component'; +import { ThemedSubmissionEditComponent } from '../submission/edit/themed-submission-edit.component'; import { ItemFromWorkspaceResolver } from './item-from-workspace.resolver'; import { WorkspaceItemPageResolver } from './workspace-item-page.resolver'; -import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page/workspaceitems-delete-page.component'; import { ThemedWorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page/themed-workspaceitems-delete-page.component'; +import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page/workspaceitems-delete-page.component'; @NgModule({ imports: [ diff --git a/src/app/workspaceitems-edit-page/workspaceitems-edit-page.module.ts b/src/app/workspaceitems-edit-page/workspaceitems-edit-page.module.ts index 566bd5ad16..0ef3ea7e71 100644 --- a/src/app/workspaceitems-edit-page/workspaceitems-edit-page.module.ts +++ b/src/app/workspaceitems-edit-page/workspaceitems-edit-page.module.ts @@ -1,10 +1,11 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; + import { SharedModule } from '../shared/shared.module'; -import { WorkspaceitemsEditPageRoutingModule } from './workspaceitems-edit-page-routing.module'; import { SubmissionModule } from '../submission/submission.module'; -import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page/workspaceitems-delete-page.component'; import { ThemedWorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page/themed-workspaceitems-delete-page.component'; +import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page/workspaceitems-delete-page.component'; +import { WorkspaceitemsEditPageRoutingModule } from './workspaceitems-edit-page-routing.module'; @NgModule({ imports: [ diff --git a/src/backend/api.ts b/src/backend/api.ts index 74d2472023..b84f06a960 100644 --- a/src/backend/api.ts +++ b/src/backend/api.ts @@ -1,16 +1,15 @@ +// Our API for demos only +import { fakeDemoRedisCache } from './cache'; +import BITSTREAMS from './data/bitstreams.json'; +import BUNDLES from './data/bundles.json'; +import COLLECTIONS from './data/collections.json'; +import COMMUNITIES from './data/communities.json'; +import ITEMS from './data/items.json'; +import { fakeDataBase } from './db'; + const { Router } = require('express'); const util = require('util'); -// Our API for demos only -import { fakeDataBase } from './db'; -import { fakeDemoRedisCache } from './cache'; - -import COMMUNITIES from './data/communities.json'; -import COLLECTIONS from './data/collections.json'; -import ITEMS from './data/items.json'; -import BUNDLES from './data/bundles.json'; -import BITSTREAMS from './data/bitstreams.json'; - // you would use cookies/token etc const USER_ID = 'f9d98cf1-1b96-464e-8755-bcc2a5c09077'; // hardcoded as an example diff --git a/src/config/app-config.interface.ts b/src/config/app-config.interface.ts index ef57d47494..6bf48c4825 100644 --- a/src/config/app-config.interface.ts +++ b/src/config/app-config.interface.ts @@ -1,27 +1,28 @@ import { InjectionToken } from '@angular/core'; import { makeStateKey } from '@angular/platform-browser'; -import { Config } from './config.interface'; -import { ServerConfig } from './server-config.interface'; -import { CacheConfig } from './cache-config.interface'; -import { INotificationBoardOptions } from './notifications-config.interfaces'; -import { SubmissionConfig } from './submission-config.interface'; -import { FormConfig } from './form-config.interfaces'; -import { LangConfig } from './lang-config.interface'; -import { ItemConfig } from './item-config.interface'; -import { CollectionPageConfig } from './collection-page-config.interface'; -import { ThemeConfig } from './theme.model'; + +import { ActuatorsConfig } from './actuators.config'; import { AuthConfig } from './auth-config.interfaces'; -import { UIServerConfig } from './ui-server-config.interface'; -import { MediaViewerConfig } from './media-viewer-config.interface'; import { BrowseByConfig } from './browse-by-config.interface'; import { BundleConfig } from './bundle-config.interface'; -import { ActuatorsConfig } from './actuators.config'; -import { InfoConfig } from './info-config.interface'; +import { CacheConfig } from './cache-config.interface'; +import { CollectionPageConfig } from './collection-page-config.interface'; import { CommunityListConfig } from './community-list-config.interface'; -import { HomeConfig } from './homepage-config.interface'; -import { MarkdownConfig } from './markdown-config.interface'; -import { FilterVocabularyConfig } from './filter-vocabulary-config'; +import { Config } from './config.interface'; import { DiscoverySortConfig } from './discovery-sort.config'; +import { FilterVocabularyConfig } from './filter-vocabulary-config'; +import { FormConfig } from './form-config.interfaces'; +import { HomeConfig } from './homepage-config.interface'; +import { InfoConfig } from './info-config.interface'; +import { ItemConfig } from './item-config.interface'; +import { LangConfig } from './lang-config.interface'; +import { MarkdownConfig } from './markdown-config.interface'; +import { MediaViewerConfig } from './media-viewer-config.interface'; +import { INotificationBoardOptions } from './notifications-config.interfaces'; +import { ServerConfig } from './server-config.interface'; +import { SubmissionConfig } from './submission-config.interface'; +import { ThemeConfig } from './theme.model'; +import { UIServerConfig } from './ui-server-config.interface'; interface AppConfig extends Config { ui: UIServerConfig; @@ -59,7 +60,7 @@ const APP_CONFIG = new InjectionToken('APP_CONFIG'); const APP_CONFIG_STATE = makeStateKey('APP_CONFIG_STATE'); export { - AppConfig, APP_CONFIG, APP_CONFIG_STATE, + AppConfig, }; diff --git a/src/config/cache-config.interface.ts b/src/config/cache-config.interface.ts index 73520c95ea..9d3fc168cb 100644 --- a/src/config/cache-config.interface.ts +++ b/src/config/cache-config.interface.ts @@ -1,5 +1,5 @@ -import { Config } from './config.interface'; import { AutoSyncConfig } from './auto-sync-config.interface'; +import { Config } from './config.interface'; export interface CacheConfig extends Config { msToLive: { diff --git a/src/config/config.server.ts b/src/config/config.server.ts index a15f339435..69825b6409 100644 --- a/src/config/config.server.ts +++ b/src/config/config.server.ts @@ -1,14 +1,23 @@ -import { red, blue, green, bold } from 'colors'; -import { existsSync, readFileSync, writeFileSync } from 'fs'; +import { + blue, + bold, + green, + red, +} from 'colors'; +import { + existsSync, + readFileSync, + writeFileSync, +} from 'fs'; import { load } from 'js-yaml'; import { join } from 'path'; +import { isNotEmpty } from '../app/shared/empty.util'; import { AppConfig } from './app-config.interface'; import { Config } from './config.interface'; +import { mergeConfig } from './config.util'; import { DefaultAppConfig } from './default-app-config'; import { ServerConfig } from './server-config.interface'; -import { mergeConfig } from './config.util'; -import { isNotEmpty } from '../app/shared/empty.util'; const CONFIG_PATH = join(process.cwd(), 'config'); diff --git a/src/config/config.util.ts b/src/config/config.util.ts index 39b31e7989..39a69d6f04 100644 --- a/src/config/config.util.ts +++ b/src/config/config.util.ts @@ -1,9 +1,7 @@ import { all } from 'deepmerge'; -import { environment } from '../environments/environment'; - import { hasNoValue } from '../app/shared/empty.util'; - +import { environment } from '../environments/environment'; import { AppConfig } from './app-config.interface'; import { ThemeConfig } from './theme.model'; @@ -49,6 +47,6 @@ const getDefaultThemeConfig = (): ThemeConfig => { export { extendEnvironmentWithAppConfig, - mergeConfig, getDefaultThemeConfig, + mergeConfig, }; diff --git a/src/config/default-app-config.ts b/src/config/default-app-config.ts index 8280ce36f5..a3208054f0 100644 --- a/src/config/default-app-config.ts +++ b/src/config/default-app-config.ts @@ -1,27 +1,27 @@ import { RestRequestMethod } from '../app/core/data/rest-request-method'; import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type'; +import { ActuatorsConfig } from './actuators.config'; import { AppConfig } from './app-config.interface'; import { AuthConfig } from './auth-config.interfaces'; import { BrowseByConfig } from './browse-by-config.interface'; +import { BundleConfig } from './bundle-config.interface'; import { CacheConfig } from './cache-config.interface'; import { CollectionPageConfig } from './collection-page-config.interface'; +import { CommunityListConfig } from './community-list-config.interface'; +import { DiscoverySortConfig } from './discovery-sort.config'; +import { FilterVocabularyConfig } from './filter-vocabulary-config'; import { FormConfig } from './form-config.interfaces'; +import { HomeConfig } from './homepage-config.interface'; +import { InfoConfig } from './info-config.interface'; import { ItemConfig } from './item-config.interface'; import { LangConfig } from './lang-config.interface'; +import { MarkdownConfig } from './markdown-config.interface'; import { MediaViewerConfig } from './media-viewer-config.interface'; import { INotificationBoardOptions } from './notifications-config.interfaces'; import { ServerConfig } from './server-config.interface'; import { SubmissionConfig } from './submission-config.interface'; import { ThemeConfig } from './theme.model'; import { UIServerConfig } from './ui-server-config.interface'; -import { BundleConfig } from './bundle-config.interface'; -import { ActuatorsConfig } from './actuators.config'; -import { InfoConfig } from './info-config.interface'; -import { CommunityListConfig } from './community-list-config.interface'; -import { HomeConfig } from './homepage-config.interface'; -import { MarkdownConfig } from './markdown-config.interface'; -import { FilterVocabularyConfig } from './filter-vocabulary-config'; -import { DiscoverySortConfig } from './discovery-sort.config'; export class DefaultAppConfig implements AppConfig { production = false; diff --git a/src/config/notifications-config.interfaces.ts b/src/config/notifications-config.interfaces.ts index 49cdf277c3..e57907c1bf 100644 --- a/src/config/notifications-config.interfaces.ts +++ b/src/config/notifications-config.interfaces.ts @@ -1,5 +1,5 @@ -import { Config } from './config.interface'; import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type'; +import { Config } from './config.interface'; export interface INotificationBoardOptions extends Config { rtl: boolean; diff --git a/src/config/theme.model.spec.ts b/src/config/theme.model.spec.ts index 02afaf35d3..6fd2c1e005 100644 --- a/src/config/theme.model.spec.ts +++ b/src/config/theme.model.spec.ts @@ -1,14 +1,19 @@ -import { HandleTheme, RegExTheme, Theme, UUIDTheme } from './theme.model'; +import { getCollectionModuleRoute } from '../app/collection-page/collection-page-routing-paths'; import { getCommunityModuleRoute } from '../app/community-page/community-page-routing-paths'; +import { Collection } from '../app/core/shared/collection.model'; +import { COLLECTION } from '../app/core/shared/collection.resource-type'; import { Community } from '../app/core/shared/community.model'; import { COMMUNITY } from '../app/core/shared/community.resource-type'; -import { getCollectionModuleRoute } from '../app/collection-page/collection-page-routing-paths'; -import { COLLECTION } from '../app/core/shared/collection.resource-type'; -import { Collection } from '../app/core/shared/collection.model'; import { Item } from '../app/core/shared/item.model'; import { ITEM } from '../app/core/shared/item.resource-type'; import { getItemModuleRoute } from '../app/item-page/item-page-routing-paths'; import { HandleService } from '../app/shared/handle.service'; +import { + HandleTheme, + RegExTheme, + Theme, + UUIDTheme, +} from './theme.model'; describe('Theme Models', () => { let theme: Theme; diff --git a/src/config/theme.model.ts b/src/config/theme.model.ts index 1e39525929..520c866fab 100644 --- a/src/config/theme.model.ts +++ b/src/config/theme.model.ts @@ -1,11 +1,16 @@ /* eslint-disable max-classes-per-file */ -import { Config } from './config.interface'; -import { hasValue, hasNoValue, isNotEmpty } from '../app/shared/empty.util'; -import { DSpaceObject } from '../app/core/shared/dspace-object.model'; -import { getDSORoute } from '../app/app-routing-paths'; -import { HandleObject } from '../app/core/shared/handle-object.model'; import { Injector } from '@angular/core'; + +import { getDSORoute } from '../app/app-routing-paths'; +import { DSpaceObject } from '../app/core/shared/dspace-object.model'; +import { HandleObject } from '../app/core/shared/handle-object.model'; +import { + hasNoValue, + hasValue, + isNotEmpty, +} from '../app/shared/empty.util'; import { HandleService } from '../app/shared/handle.service'; +import { Config } from './config.interface'; export interface NamedThemeConfig extends Config { name: string; diff --git a/src/environments/environment.test.ts b/src/environments/environment.test.ts index d732d28541..708af84a1e 100644 --- a/src/environments/environment.test.ts +++ b/src/environments/environment.test.ts @@ -1,5 +1,6 @@ // This configuration is only used for unit tests, end-to-end tests use environment.production.ts import { BuildConfig } from 'src/config/build-config.interface'; + import { RestRequestMethod } from '../app/core/data/rest-request-method'; import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type'; diff --git a/src/main.browser.ts b/src/main.browser.ts index 43b2ffbaf4..09e535565e 100644 --- a/src/main.browser.ts +++ b/src/main.browser.ts @@ -2,14 +2,13 @@ import 'zone.js'; import 'reflect-metadata'; import 'core-js/es/reflect'; +import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; -import { BrowserAppModule } from './modules/app/browser-app.module'; - -import { environment } from './environments/environment'; import { AppConfig } from './config/app-config.interface'; import { extendEnvironmentWithAppConfig } from './config/config.util'; -import { enableProdMode } from '@angular/core'; +import { environment } from './environments/environment'; +import { BrowserAppModule } from './modules/app/browser-app.module'; const bootstrap = () => platformBrowserDynamic() .bootstrapModule(BrowserAppModule, {}); diff --git a/src/main.server.ts b/src/main.server.ts index 95747de6cc..422fcd8146 100644 --- a/src/main.server.ts +++ b/src/main.server.ts @@ -1,14 +1,14 @@ import 'core-js/es/reflect'; import 'zone.js'; import 'reflect-metadata'; - -import { enableProdMode } from '@angular/core'; /****************************************************************** * Load `$localize` - not used for i18n in this project, we use ngx-translate. * It's used for localization of dates, numbers, currencies, etc. */ import '@angular/localize/init'; +import { enableProdMode } from '@angular/core'; + import { environment } from './environments/environment'; if (environment.production) { @@ -16,5 +16,5 @@ if (environment.production) { } export { ServerAppModule } from './modules/app/server-app.module'; -export { ngExpressEngine } from '@nguniversal/express-engine'; export { renderModuleFactory } from '@angular/platform-server'; +export { ngExpressEngine } from '@nguniversal/express-engine'; diff --git a/src/modules/app/browser-app.module.ts b/src/modules/app/browser-app.module.ts index 0a13fc171b..46e575b53c 100644 --- a/src/modules/app/browser-app.module.ts +++ b/src/modules/app/browser-app.module.ts @@ -1,38 +1,49 @@ -import { HttpClient, HttpClientModule } from '@angular/common/http'; +import { + HttpClient, + HttpClientModule, +} from '@angular/common/http'; import { NgModule } from '@angular/core'; -import { BrowserModule, BrowserTransferStateModule, makeStateKey, TransferState } from '@angular/platform-browser'; +import { + BrowserModule, + BrowserTransferStateModule, + makeStateKey, + TransferState, +} from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { REQUEST } from '@nguniversal/express-engine/tokens'; - -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateBrowserLoader } from '../../ngx-translate-loaders/translate-browser.loader'; - +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { IdlePreloadModule } from 'angular-idle-preload'; +import { + Angulartics2GoogleTagManager, + Angulartics2RouterlessModule, +} from 'angulartics2'; import { AppComponent } from '../../app/app.component'; - import { AppModule } from '../../app/app.module'; -import { ClientCookieService } from '../../app/core/services/client-cookie.service'; -import { CookieService } from '../../app/core/services/cookie.service'; import { AuthService } from '../../app/core/auth/auth.service'; -import { Angulartics2GoogleTagManager, Angulartics2RouterlessModule } from 'angulartics2'; -import { SubmissionService } from '../../app/submission/submission.service'; -import { StatisticsModule } from '../../app/statistics/statistics.module'; -import { BrowserKlaroService } from '../../app/shared/cookies/browser-klaro.service'; -import { KlaroService } from '../../app/shared/cookies/klaro.service'; -import { HardRedirectService } from '../../app/core/services/hard-redirect.service'; +import { AuthRequestService } from '../../app/core/auth/auth-request.service'; +import { BrowserAuthRequestService } from '../../app/core/auth/browser-auth-request.service'; +import { LocaleService } from '../../app/core/locale/locale.service'; +import { BrowserReferrerService } from '../../app/core/services/browser.referrer.service'; import { BrowserHardRedirectService, locationProvider, LocationToken, } from '../../app/core/services/browser-hard-redirect.service'; -import { LocaleService } from '../../app/core/locale/locale.service'; -import { GoogleAnalyticsService } from '../../app/statistics/google-analytics.service'; -import { AuthRequestService } from '../../app/core/auth/auth-request.service'; -import { BrowserAuthRequestService } from '../../app/core/auth/browser-auth-request.service'; -import { BrowserInitService } from './browser-init.service'; +import { ClientCookieService } from '../../app/core/services/client-cookie.service'; +import { CookieService } from '../../app/core/services/cookie.service'; +import { HardRedirectService } from '../../app/core/services/hard-redirect.service'; import { ReferrerService } from '../../app/core/services/referrer.service'; -import { BrowserReferrerService } from '../../app/core/services/browser.referrer.service'; +import { BrowserKlaroService } from '../../app/shared/cookies/browser-klaro.service'; +import { KlaroService } from '../../app/shared/cookies/klaro.service'; +import { GoogleAnalyticsService } from '../../app/statistics/google-analytics.service'; +import { StatisticsModule } from '../../app/statistics/statistics.module'; +import { SubmissionService } from '../../app/submission/submission.service'; +import { TranslateBrowserLoader } from '../../ngx-translate-loaders/translate-browser.loader'; +import { BrowserInitService } from './browser-init.service'; export const REQ_KEY = makeStateKey('req'); diff --git a/src/modules/app/browser-init.service.ts b/src/modules/app/browser-init.service.ts index 7187e8f0d7..c38190d389 100644 --- a/src/modules/app/browser-init.service.ts +++ b/src/modules/app/browser-init.service.ts @@ -5,33 +5,51 @@ * * http://www.dspace.org/license/ */ -import { InitService } from '../../app/init.service'; -import { Store } from '@ngrx/store'; -import { AppState } from '../../app/app.reducer'; +import { + Inject, + Injectable, +} from '@angular/core'; import { TransferState } from '@angular/platform-browser'; -import { APP_CONFIG, APP_CONFIG_STATE, AppConfig } from '../../config/app-config.interface'; -import { DefaultAppConfig } from '../../config/default-app-config'; -import { extendEnvironmentWithAppConfig } from '../../config/config.util'; -import { environment } from '../../environments/environment'; -import { CorrelationIdService } from '../../app/correlation-id/correlation-id.service'; -import { Inject, Injectable } from '@angular/core'; +import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; +import { + firstValueFrom, + Subscription, +} from 'rxjs'; +import { + filter, + find, + map, +} from 'rxjs/operators'; + +import { logStartupMessage } from '../../../startup-message'; +import { AppState } from '../../app/app.reducer'; +import { BreadcrumbsService } from '../../app/breadcrumbs/breadcrumbs.service'; +import { AuthService } from '../../app/core/auth/auth.service'; +import { coreSelector } from '../../app/core/core.selectors'; +import { RootDataService } from '../../app/core/data/root-data.service'; import { LocaleService } from '../../app/core/locale/locale.service'; +import { MetadataService } from '../../app/core/metadata/metadata.service'; +import { CorrelationIdService } from '../../app/correlation-id/correlation-id.service'; +import { InitService } from '../../app/init.service'; +import { KlaroService } from '../../app/shared/cookies/klaro.service'; +import { isNotEmpty } from '../../app/shared/empty.util'; +import { MenuService } from '../../app/shared/menu/menu.service'; +import { ThemeService } from '../../app/shared/theme-support/theme.service'; import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider'; import { GoogleAnalyticsService } from '../../app/statistics/google-analytics.service'; -import { MetadataService } from '../../app/core/metadata/metadata.service'; -import { BreadcrumbsService } from '../../app/breadcrumbs/breadcrumbs.service'; -import { KlaroService } from '../../app/shared/cookies/klaro.service'; -import { AuthService } from '../../app/core/auth/auth.service'; -import { ThemeService } from '../../app/shared/theme-support/theme.service'; -import { StoreAction, StoreActionTypes } from '../../app/store.actions'; -import { coreSelector } from '../../app/core/core.selectors'; -import { filter, find, map } from 'rxjs/operators'; -import { isNotEmpty } from '../../app/shared/empty.util'; -import { logStartupMessage } from '../../../startup-message'; -import { MenuService } from '../../app/shared/menu/menu.service'; -import { RootDataService } from '../../app/core/data/root-data.service'; -import { firstValueFrom, Subscription } from 'rxjs'; +import { + StoreAction, + StoreActionTypes, +} from '../../app/store.actions'; +import { + APP_CONFIG, + APP_CONFIG_STATE, + AppConfig, +} from '../../config/app-config.interface'; +import { extendEnvironmentWithAppConfig } from '../../config/config.util'; +import { DefaultAppConfig } from '../../config/default-app-config'; +import { environment } from '../../environments/environment'; /** * Performs client-side initialization. diff --git a/src/modules/app/server-app.module.ts b/src/modules/app/server-app.module.ts index 277977dc09..89e2142461 100644 --- a/src/modules/app/server-app.module.ts +++ b/src/modules/app/server-app.module.ts @@ -1,11 +1,19 @@ +import { XhrFactory } from '@angular/common'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { NgModule } from '@angular/core'; -import { BrowserModule, TransferState } from '@angular/platform-browser'; +import { + BrowserModule, + TransferState, +} from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; -import { ServerModule, ServerTransferStateModule } from '@angular/platform-server'; - -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; - +import { + ServerModule, + ServerTransferStateModule, +} from '@angular/platform-server'; +import { + TranslateLoader, + TranslateModule, +} from '@ngx-translate/core'; import { Angulartics2, Angulartics2GoogleAnalytics, @@ -13,30 +21,28 @@ import { } from 'angulartics2'; import { AppComponent } from '../../app/app.component'; - import { AppModule } from '../../app/app.module'; -import { TranslateServerLoader } from '../../ngx-translate-loaders/translate-server.loader'; -import { CookieService } from '../../app/core/services/cookie.service'; -import { ServerCookieService } from '../../app/core/services/server-cookie.service'; import { AuthService } from '../../app/core/auth/auth.service'; -import { ServerAuthService } from '../../app/core/auth/server-auth.service'; -import { AngularticsProviderMock } from '../../app/shared/mocks/angulartics-provider.service.mock'; -import { SubmissionService } from '../../app/submission/submission.service'; -import { ServerSubmissionService } from '../../app/submission/server-submission.service'; -import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider'; -import { ServerLocaleService } from '../../app/core/locale/server-locale.service'; -import { LocaleService } from '../../app/core/locale/locale.service'; -import { ForwardClientIpInterceptor } from '../../app/core/forward-client-ip/forward-client-ip.interceptor'; -import { HardRedirectService } from '../../app/core/services/hard-redirect.service'; -import { ServerHardRedirectService } from '../../app/core/services/server-hard-redirect.service'; -import { Angulartics2Mock } from '../../app/shared/mocks/angulartics2.service.mock'; import { AuthRequestService } from '../../app/core/auth/auth-request.service'; +import { ServerAuthService } from '../../app/core/auth/server-auth.service'; import { ServerAuthRequestService } from '../../app/core/auth/server-auth-request.service'; -import { ServerInitService } from './server-init.service'; -import { XhrFactory } from '@angular/common'; -import { ServerXhrService } from '../../app/core/services/server-xhr.service'; +import { ForwardClientIpInterceptor } from '../../app/core/forward-client-ip/forward-client-ip.interceptor'; +import { LocaleService } from '../../app/core/locale/locale.service'; +import { ServerLocaleService } from '../../app/core/locale/server-locale.service'; +import { CookieService } from '../../app/core/services/cookie.service'; +import { HardRedirectService } from '../../app/core/services/hard-redirect.service'; import { ReferrerService } from '../../app/core/services/referrer.service'; import { ServerReferrerService } from '../../app/core/services/server.referrer.service'; +import { ServerCookieService } from '../../app/core/services/server-cookie.service'; +import { ServerHardRedirectService } from '../../app/core/services/server-hard-redirect.service'; +import { ServerXhrService } from '../../app/core/services/server-xhr.service'; +import { AngularticsProviderMock } from '../../app/shared/mocks/angulartics-provider.service.mock'; +import { Angulartics2Mock } from '../../app/shared/mocks/angulartics2.service.mock'; +import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider'; +import { ServerSubmissionService } from '../../app/submission/server-submission.service'; +import { SubmissionService } from '../../app/submission/submission.service'; +import { TranslateServerLoader } from '../../ngx-translate-loaders/translate-server.loader'; +import { ServerInitService } from './server-init.service'; export function createTranslateLoader(transferState: TransferState) { return new TranslateServerLoader(transferState, 'dist/server/assets/i18n/', '.json'); diff --git a/src/modules/app/server-init.service.ts b/src/modules/app/server-init.service.ts index d909bb0e8d..8849e8f00e 100644 --- a/src/modules/app/server-init.service.ts +++ b/src/modules/app/server-init.service.ts @@ -5,22 +5,30 @@ * * http://www.dspace.org/license/ */ -import { InitService } from '../../app/init.service'; -import { Store } from '@ngrx/store'; -import { AppState } from '../../app/app.reducer'; +import { + Inject, + Injectable, +} from '@angular/core'; import { TransferState } from '@angular/platform-browser'; -import { CorrelationIdService } from '../../app/correlation-id/correlation-id.service'; -import { APP_CONFIG, APP_CONFIG_STATE, AppConfig } from '../../config/app-config.interface'; -import { environment } from '../../environments/environment'; -import { Inject, Injectable } from '@angular/core'; +import { Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; -import { LocaleService } from '../../app/core/locale/locale.service'; -import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider'; -import { MetadataService } from '../../app/core/metadata/metadata.service'; -import { BreadcrumbsService } from '../../app/breadcrumbs/breadcrumbs.service'; -import { ThemeService } from '../../app/shared/theme-support/theme.service'; import { take } from 'rxjs/operators'; + +import { AppState } from '../../app/app.reducer'; +import { BreadcrumbsService } from '../../app/breadcrumbs/breadcrumbs.service'; +import { LocaleService } from '../../app/core/locale/locale.service'; +import { MetadataService } from '../../app/core/metadata/metadata.service'; +import { CorrelationIdService } from '../../app/correlation-id/correlation-id.service'; +import { InitService } from '../../app/init.service'; import { MenuService } from '../../app/shared/menu/menu.service'; +import { ThemeService } from '../../app/shared/theme-support/theme.service'; +import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider'; +import { + APP_CONFIG, + APP_CONFIG_STATE, + AppConfig, +} from '../../config/app-config.interface'; +import { environment } from '../../environments/environment'; /** * Performs server-side initialization. diff --git a/src/ngx-translate-loaders/translate-browser.loader.ts b/src/ngx-translate-loaders/translate-browser.loader.ts index c3f8956f3f..f0b3222678 100644 --- a/src/ngx-translate-loaders/translate-browser.loader.ts +++ b/src/ngx-translate-loaders/translate-browser.loader.ts @@ -1,10 +1,17 @@ -import { TranslateLoader } from '@ngx-translate/core'; import { HttpClient } from '@angular/common/http'; import { TransferState } from '@angular/platform-browser'; -import { NGX_TRANSLATE_STATE, NgxTranslateState } from './ngx-translate-state'; -import { hasValue } from '../app/shared/empty.util'; +import { TranslateLoader } from '@ngx-translate/core'; +import { + Observable, + of as observableOf, +} from 'rxjs'; import { map } from 'rxjs/operators'; -import { of as observableOf, Observable } from 'rxjs'; + +import { hasValue } from '../app/shared/empty.util'; +import { + NGX_TRANSLATE_STATE, + NgxTranslateState, +} from './ngx-translate-state'; /** * A TranslateLoader for ngx-translate to retrieve i18n messages from the TransferState, or download diff --git a/src/ngx-translate-loaders/translate-server.loader.ts b/src/ngx-translate-loaders/translate-server.loader.ts index a1dd4f1539..0967818fc2 100644 --- a/src/ngx-translate-loaders/translate-server.loader.ts +++ b/src/ngx-translate-loaders/translate-server.loader.ts @@ -1,8 +1,15 @@ -import { TranslateLoader } from '@ngx-translate/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { readFileSync } from 'fs'; import { TransferState } from '@angular/platform-browser'; -import { NGX_TRANSLATE_STATE, NgxTranslateState } from './ngx-translate-state'; +import { TranslateLoader } from '@ngx-translate/core'; +import { readFileSync } from 'fs'; +import { + Observable, + of as observableOf, +} from 'rxjs'; + +import { + NGX_TRANSLATE_STATE, + NgxTranslateState, +} from './ngx-translate-state'; /** * A TranslateLoader for ngx-translate to parse json5 files server-side, and store them in the diff --git a/src/polyfills.ts b/src/polyfills.ts index e8ab71da80..9cde956bbb 100644 --- a/src/polyfills.ts +++ b/src/polyfills.ts @@ -48,11 +48,8 @@ import 'core-js/es'; import 'core-js/features/reflect'; - import 'zone.js'; // Included with Angular CLI. - import 'reflect-metadata'; - /****************************************************************** * Load `$localize` - not used for i18n in this project, we use ngx-translate. * It's used for localization of dates, numbers, currencies, etc. diff --git a/src/test.ts b/src/test.ts index b53f1eb24f..0c1e301f46 100644 --- a/src/test.ts +++ b/src/test.ts @@ -1,13 +1,14 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files import 'zone.js/testing'; + import { getTestBed } from '@angular/core/testing'; -import { MockStore } from '@ngrx/store/testing'; import { BrowserDynamicTestingModule, platformBrowserDynamicTesting, } from '@angular/platform-browser-dynamic/testing'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { MockStore } from '@ngrx/store/testing'; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( diff --git a/src/themes/custom/app/admin/admin-sidebar/admin-sidebar.component.ts b/src/themes/custom/app/admin/admin-sidebar/admin-sidebar.component.ts index 2f0acc395e..0de3948305 100644 --- a/src/themes/custom/app/admin/admin-sidebar/admin-sidebar.component.ts +++ b/src/themes/custom/app/admin/admin-sidebar/admin-sidebar.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { AdminSidebarComponent as BaseComponent } from '../../../../../app/admin/admin-sidebar/admin-sidebar.component'; /** diff --git a/src/themes/custom/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts b/src/themes/custom/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts index d41a7803d0..353a46c16d 100644 --- a/src/themes/custom/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts +++ b/src/themes/custom/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts @@ -1,5 +1,9 @@ +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { EditBitstreamPageComponent as BaseComponent } from '../../../../../app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component'; -import { ChangeDetectionStrategy, Component } from '@angular/core'; @Component({ selector: 'ds-edit-bitstream-page', diff --git a/src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts b/src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts index c49e4cfdfd..f446dbb6a8 100644 --- a/src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts +++ b/src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { BreadcrumbsComponent as BaseComponent } from '../../../../app/breadcrumbs/breadcrumbs.component'; /** diff --git a/src/themes/custom/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts b/src/themes/custom/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts index 3a1e582633..045f5c0371 100644 --- a/src/themes/custom/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { BrowseByDatePageComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-date-page/browse-by-date-page.component'; @Component({ diff --git a/src/themes/custom/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts b/src/themes/custom/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts index affde54749..5a13e65210 100644 --- a/src/themes/custom/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { BrowseByMetadataPageComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component'; @Component({ diff --git a/src/themes/custom/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts b/src/themes/custom/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts index 1e54e4be92..044a40159e 100644 --- a/src/themes/custom/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { BrowseBySwitcherComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-switcher/browse-by-switcher.component'; @Component({ diff --git a/src/themes/custom/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts b/src/themes/custom/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts index 34d80a0cb8..22d47cb08f 100644 --- a/src/themes/custom/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { BrowseByTaxonomyPageComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component'; @Component({ diff --git a/src/themes/custom/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts b/src/themes/custom/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts index 95b6bf43f5..522396e5b6 100644 --- a/src/themes/custom/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { BrowseByTitlePageComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-title-page/browse-by-title-page.component'; @Component({ diff --git a/src/themes/custom/app/collection-page/collection-page.component.ts b/src/themes/custom/app/collection-page/collection-page.component.ts index 855174c74d..e26d1a7ce2 100644 --- a/src/themes/custom/app/collection-page/collection-page.component.ts +++ b/src/themes/custom/app/collection-page/collection-page.component.ts @@ -1,6 +1,13 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { CollectionPageComponent as BaseComponent} from '../../../../app/collection-page/collection-page.component'; -import { fadeIn, fadeInOut } from '../../../../app/shared/animations/fade'; +import { + fadeIn, + fadeInOut, +} from '../../../../app/shared/animations/fade'; @Component({ diff --git a/src/themes/custom/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts b/src/themes/custom/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts index 236f455dcf..41e185629f 100644 --- a/src/themes/custom/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts +++ b/src/themes/custom/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - EditItemTemplatePageComponent as BaseComponent, -} from '../../../../../app/collection-page/edit-item-template-page/edit-item-template-page.component'; + +import { EditItemTemplatePageComponent as BaseComponent } from '../../../../../app/collection-page/edit-item-template-page/edit-item-template-page.component'; @Component({ selector: 'ds-edit-item-template-page', diff --git a/src/themes/custom/app/community-list-page/community-list-page.component.ts b/src/themes/custom/app/community-list-page/community-list-page.component.ts index 0039d65fd9..0aa7cbf88a 100644 --- a/src/themes/custom/app/community-list-page/community-list-page.component.ts +++ b/src/themes/custom/app/community-list-page/community-list-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { CommunityListPageComponent as BaseComponent } from '../../../../app/community-list-page/community-list-page.component'; @Component({ diff --git a/src/themes/custom/app/community-list-page/community-list/community-list.component.ts b/src/themes/custom/app/community-list-page/community-list/community-list.component.ts index 964e4d1391..e9d0024631 100644 --- a/src/themes/custom/app/community-list-page/community-list/community-list.component.ts +++ b/src/themes/custom/app/community-list-page/community-list/community-list.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { CommunityListComponent as BaseComponent } from '../../../../../app/community-list-page/community-list/community-list.component'; /** diff --git a/src/themes/custom/app/community-page/community-page.component.ts b/src/themes/custom/app/community-page/community-page.component.ts index 4669fa2171..e739a2866f 100644 --- a/src/themes/custom/app/community-page/community-page.component.ts +++ b/src/themes/custom/app/community-page/community-page.component.ts @@ -1,4 +1,8 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { CommunityPageComponent as BaseComponent} from '../../../../app/community-page/community-page.component'; import { fadeInOut } from '../../../../app/shared/animations/fade'; diff --git a/src/themes/custom/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts b/src/themes/custom/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts index 1257f248a7..e0c0e135d6 100644 --- a/src/themes/custom/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts +++ b/src/themes/custom/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; -import { CommunityPageSubCollectionListComponent as BaseComponent } - from '../../../../../app/community-page/sub-collection-list/community-page-sub-collection-list.component'; + +import { CommunityPageSubCollectionListComponent as BaseComponent } from '../../../../../app/community-page/sub-collection-list/community-page-sub-collection-list.component'; @Component({ selector: 'ds-community-page-sub-collection-list', diff --git a/src/themes/custom/app/community-page/sub-community-list/community-page-sub-community-list.component.ts b/src/themes/custom/app/community-page/sub-community-list/community-page-sub-community-list.component.ts index 62b32d681a..c7d465cefe 100644 --- a/src/themes/custom/app/community-page/sub-community-list/community-page-sub-community-list.component.ts +++ b/src/themes/custom/app/community-page/sub-community-list/community-page-sub-community-list.component.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; -import { CommunityPageSubCommunityListComponent as BaseComponent } - from '../../../../../app/community-page/sub-community-list/community-page-sub-community-list.component'; + +import { CommunityPageSubCommunityListComponent as BaseComponent } from '../../../../../app/community-page/sub-community-list/community-page-sub-community-list.component'; @Component({ selector: 'ds-community-page-sub-community-list', diff --git a/src/themes/custom/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts b/src/themes/custom/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts index b1cd6d2b39..761d72c75f 100644 --- a/src/themes/custom/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts +++ b/src/themes/custom/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts @@ -1,6 +1,7 @@ -import { DsoEditMetadataComponent as BaseComponent } from '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata.component'; import { Component } from '@angular/core'; +import { DsoEditMetadataComponent as BaseComponent } from '../../../../../app/dso-shared/dso-edit-metadata/dso-edit-metadata.component'; + @Component({ selector: 'ds-dso-edit-metadata', // styleUrls: ['./dso-edit-metadata.component.scss'], diff --git a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts index bb443a6dea..e0e087601e 100644 --- a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts +++ b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts @@ -1,12 +1,9 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; -import { - listableObjectComponent, -} from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import { - JournalIssueComponent as BaseComponent, -} from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component'; + import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { JournalIssueComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('JournalIssue', ViewMode.StandalonePage, Context.Any, 'custom') @Component({ diff --git a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts index ecfeda8468..255a438c82 100644 --- a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts +++ b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts @@ -1,12 +1,9 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; -import { - listableObjectComponent, -} from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import { - JournalVolumeComponent as BaseComponent, -} from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component'; + import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { JournalVolumeComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('JournalVolume', ViewMode.StandalonePage, Context.Any, 'custom') @Component({ diff --git a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts index 5c77b46429..1e3b89ef0f 100644 --- a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts +++ b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts @@ -1,12 +1,9 @@ import { Component } from '@angular/core'; -import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; -import { - listableObjectComponent, -} from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import { - JournalComponent as BaseComponent, -} from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal/journal.component'; + import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { JournalComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal/journal.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('Journal', ViewMode.StandalonePage, Context.Any, 'custom') @Component({ diff --git a/src/themes/custom/app/footer/footer.component.ts b/src/themes/custom/app/footer/footer.component.ts index f47474fe65..9a405a6421 100644 --- a/src/themes/custom/app/footer/footer.component.ts +++ b/src/themes/custom/app/footer/footer.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { FooterComponent as BaseComponent } from '../../../../app/footer/footer.component'; @Component({ diff --git a/src/themes/custom/app/forbidden/forbidden.component.ts b/src/themes/custom/app/forbidden/forbidden.component.ts index 07454309cf..8220851202 100644 --- a/src/themes/custom/app/forbidden/forbidden.component.ts +++ b/src/themes/custom/app/forbidden/forbidden.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ForbiddenComponent as BaseComponent } from '../../../../app/forbidden/forbidden.component'; diff --git a/src/themes/custom/app/forgot-password/forgot-password-email/forgot-email.component.ts b/src/themes/custom/app/forgot-password/forgot-password-email/forgot-email.component.ts index d6f5d0727e..a65b219ae9 100644 --- a/src/themes/custom/app/forgot-password/forgot-password-email/forgot-email.component.ts +++ b/src/themes/custom/app/forgot-password/forgot-password-email/forgot-email.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ForgotEmailComponent as BaseComponent } from '../../../../../app/forgot-password/forgot-password-email/forgot-email.component'; @Component({ diff --git a/src/themes/custom/app/forgot-password/forgot-password-form/forgot-password-form.component.ts b/src/themes/custom/app/forgot-password/forgot-password-form/forgot-password-form.component.ts index 0b0860fbd3..50241abf8c 100644 --- a/src/themes/custom/app/forgot-password/forgot-password-form/forgot-password-form.component.ts +++ b/src/themes/custom/app/forgot-password/forgot-password-form/forgot-password-form.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ForgotPasswordFormComponent as BaseComponent } from '../../../../../app/forgot-password/forgot-password-form/forgot-password-form.component'; @Component({ diff --git a/src/themes/custom/app/header-nav-wrapper/header-navbar-wrapper.component.ts b/src/themes/custom/app/header-nav-wrapper/header-navbar-wrapper.component.ts index 875b5f69b8..3759d30f3a 100644 --- a/src/themes/custom/app/header-nav-wrapper/header-navbar-wrapper.component.ts +++ b/src/themes/custom/app/header-nav-wrapper/header-navbar-wrapper.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { HeaderNavbarWrapperComponent as BaseComponent } from '../../../../app/header-nav-wrapper/header-navbar-wrapper.component'; /** diff --git a/src/themes/custom/app/header/header.component.ts b/src/themes/custom/app/header/header.component.ts index 866072f3b6..92ac082b0d 100644 --- a/src/themes/custom/app/header/header.component.ts +++ b/src/themes/custom/app/header/header.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { HeaderComponent as BaseComponent } from '../../../../app/header/header.component'; /** diff --git a/src/themes/custom/app/home-page/home-news/home-news.component.ts b/src/themes/custom/app/home-page/home-news/home-news.component.ts index dea4a874a0..8abc47f7b9 100644 --- a/src/themes/custom/app/home-page/home-news/home-news.component.ts +++ b/src/themes/custom/app/home-page/home-news/home-news.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { HomeNewsComponent as BaseComponent } from '../../../../../app/home-page/home-news/home-news.component'; @Component({ diff --git a/src/themes/custom/app/home-page/home-page.component.ts b/src/themes/custom/app/home-page/home-page.component.ts index 268b51d8e6..fd8ec2faa5 100644 --- a/src/themes/custom/app/home-page/home-page.component.ts +++ b/src/themes/custom/app/home-page/home-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { HomePageComponent as BaseComponent } from '../../../../app/home-page/home-page.component'; @Component({ diff --git a/src/themes/custom/app/home-page/top-level-community-list/top-level-community-list.component.ts b/src/themes/custom/app/home-page/top-level-community-list/top-level-community-list.component.ts index 99ef512cc3..589191b0bf 100644 --- a/src/themes/custom/app/home-page/top-level-community-list/top-level-community-list.component.ts +++ b/src/themes/custom/app/home-page/top-level-community-list/top-level-community-list.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { TopLevelCommunityListComponent as BaseComponent } from '../../../../../app/home-page/top-level-community-list/top-level-community-list.component'; @Component({ diff --git a/src/themes/custom/app/info/end-user-agreement/end-user-agreement.component.ts b/src/themes/custom/app/info/end-user-agreement/end-user-agreement.component.ts index 9f1893ab0d..7098a97ad6 100644 --- a/src/themes/custom/app/info/end-user-agreement/end-user-agreement.component.ts +++ b/src/themes/custom/app/info/end-user-agreement/end-user-agreement.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { EndUserAgreementComponent as BaseComponent } from '../../../../../app/info/end-user-agreement/end-user-agreement.component'; @Component({ diff --git a/src/themes/custom/app/info/feedback/feedback-form/feedback-form.component.ts b/src/themes/custom/app/info/feedback/feedback-form/feedback-form.component.ts index 88a42e27ab..172357cc11 100644 --- a/src/themes/custom/app/info/feedback/feedback-form/feedback-form.component.ts +++ b/src/themes/custom/app/info/feedback/feedback-form/feedback-form.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - FeedbackFormComponent as BaseComponent, -} from '../../../../../../app/info/feedback/feedback-form/feedback-form.component'; + +import { FeedbackFormComponent as BaseComponent } from '../../../../../../app/info/feedback/feedback-form/feedback-form.component'; @Component({ selector: 'ds-feedback-form', diff --git a/src/themes/custom/app/info/feedback/feedback.component.ts b/src/themes/custom/app/info/feedback/feedback.component.ts index 85e05e0bee..61e57bc930 100644 --- a/src/themes/custom/app/info/feedback/feedback.component.ts +++ b/src/themes/custom/app/info/feedback/feedback.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { FeedbackComponent as BaseComponent } from '../../../../../app/info/feedback/feedback.component'; @Component({ diff --git a/src/themes/custom/app/info/privacy/privacy.component.ts b/src/themes/custom/app/info/privacy/privacy.component.ts index 7823591a3f..0901b89fdc 100644 --- a/src/themes/custom/app/info/privacy/privacy.component.ts +++ b/src/themes/custom/app/info/privacy/privacy.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { PrivacyComponent as BaseComponent } from '../../../../../app/info/privacy/privacy.component'; @Component({ diff --git a/src/themes/custom/app/item-page/alerts/item-alerts.component.ts b/src/themes/custom/app/item-page/alerts/item-alerts.component.ts index 25089112d6..b993055887 100644 --- a/src/themes/custom/app/item-page/alerts/item-alerts.component.ts +++ b/src/themes/custom/app/item-page/alerts/item-alerts.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ItemAlertsComponent as BaseComponent } from '../../../../../app/item-page/alerts/item-alerts.component'; @Component({ diff --git a/src/themes/custom/app/item-page/edit-item-page/item-status/item-status.component.ts b/src/themes/custom/app/item-page/edit-item-page/item-status/item-status.component.ts index 61528c2c22..bb911c5c91 100644 --- a/src/themes/custom/app/item-page/edit-item-page/item-status/item-status.component.ts +++ b/src/themes/custom/app/item-page/edit-item-page/item-status/item-status.component.ts @@ -1,6 +1,13 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { fadeIn, fadeInOut } from '../../../../../../app/shared/animations/fade'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { ItemStatusComponent as BaseComponent } from '../../../../../../app/item-page/edit-item-page/item-status/item-status.component'; +import { + fadeIn, + fadeInOut, +} from '../../../../../../app/shared/animations/fade'; @Component({ selector: 'ds-item-status', diff --git a/src/themes/custom/app/item-page/full/field-components/file-section/full-file-section.component.ts b/src/themes/custom/app/item-page/full/field-components/file-section/full-file-section.component.ts index 8b8d4c8462..b44d1ebc88 100644 --- a/src/themes/custom/app/item-page/full/field-components/file-section/full-file-section.component.ts +++ b/src/themes/custom/app/item-page/full/field-components/file-section/full-file-section.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - FullFileSectionComponent as BaseComponent, -} from '../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component'; + +import { FullFileSectionComponent as BaseComponent } from '../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component'; @Component({ selector: 'ds-item-page-full-file-section', diff --git a/src/themes/custom/app/item-page/full/full-item-page.component.ts b/src/themes/custom/app/item-page/full/full-item-page.component.ts index 99905f987b..12a6fa1f40 100644 --- a/src/themes/custom/app/item-page/full/full-item-page.component.ts +++ b/src/themes/custom/app/item-page/full/full-item-page.component.ts @@ -1,6 +1,10 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { fadeInOut } from '../../../../../app/shared/animations/fade'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { FullItemPageComponent as BaseComponent } from '../../../../../app/item-page/full/full-item-page.component'; +import { fadeInOut } from '../../../../../app/shared/animations/fade'; /** * This component renders a full item page. diff --git a/src/themes/custom/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts b/src/themes/custom/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts index 4ee75c8c02..1be8ec8b03 100644 --- a/src/themes/custom/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts +++ b/src/themes/custom/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - MediaViewerImageComponent as BaseComponent, -} from '../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component'; + +import { MediaViewerImageComponent as BaseComponent } from '../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component'; @Component({ selector: 'ds-media-viewer-image', diff --git a/src/themes/custom/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts b/src/themes/custom/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts index 7f1776dfdc..92a399214a 100644 --- a/src/themes/custom/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts +++ b/src/themes/custom/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - MediaViewerVideoComponent as BaseComponent, -} from '../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component'; + +import { MediaViewerVideoComponent as BaseComponent } from '../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component'; @Component({ selector: 'ds-media-viewer-video', diff --git a/src/themes/custom/app/item-page/media-viewer/media-viewer.component.ts b/src/themes/custom/app/item-page/media-viewer/media-viewer.component.ts index 651dfd5b3c..c54d384e01 100644 --- a/src/themes/custom/app/item-page/media-viewer/media-viewer.component.ts +++ b/src/themes/custom/app/item-page/media-viewer/media-viewer.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - MediaViewerComponent as BaseComponent, -} from '../../../../../app/item-page/media-viewer/media-viewer.component'; + +import { MediaViewerComponent as BaseComponent } from '../../../../../app/item-page/media-viewer/media-viewer.component'; @Component({ selector: 'ds-media-viewer', diff --git a/src/themes/custom/app/item-page/simple/field-components/file-section/file-section.component.ts b/src/themes/custom/app/item-page/simple/field-components/file-section/file-section.component.ts index 14e2fcd2f2..d5c919a9b2 100644 --- a/src/themes/custom/app/item-page/simple/field-components/file-section/file-section.component.ts +++ b/src/themes/custom/app/item-page/simple/field-components/file-section/file-section.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { slideSidebarPadding } from '../../../../../../../app/shared/animations/slide'; + import { FileSectionComponent as BaseComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/file-section.component'; +import { slideSidebarPadding } from '../../../../../../../app/shared/animations/slide'; @Component({ selector: 'ds-item-page-file-section', diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts index 34c7af3958..8805e195c4 100644 --- a/src/themes/custom/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - ItemPageTitleFieldComponent as BaseComponent, -} from '../../../../../../../../app/item-page/simple/field-components/specific-field/title/item-page-title-field.component'; + +import { ItemPageTitleFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/title/item-page-title-field.component'; @Component({ selector: 'ds-item-page-title-field', diff --git a/src/themes/custom/app/item-page/simple/item-page.component.ts b/src/themes/custom/app/item-page/simple/item-page.component.ts index 2aa1980163..1ee4d99be5 100644 --- a/src/themes/custom/app/item-page/simple/item-page.component.ts +++ b/src/themes/custom/app/item-page/simple/item-page.component.ts @@ -1,4 +1,8 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { ItemPageComponent as BaseComponent } from '../../../../../app/item-page/simple/item-page.component'; import { fadeInOut } from '../../../../../app/shared/animations/fade'; diff --git a/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts b/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts index b07247731b..6844081472 100644 --- a/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts +++ b/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts @@ -1,8 +1,12 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; -import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; import { PublicationComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/publication/publication.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; /** * Component that represents a publication Item page diff --git a/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts b/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts index 20ed21d028..8378183992 100644 --- a/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts +++ b/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts @@ -1,13 +1,13 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + +import { Context } from '../../../../../../../app/core/shared/context.model'; import { Item } from '../../../../../../../app/core/shared/item.model'; import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; -import { - listableObjectComponent, -} from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import { Context } from '../../../../../../../app/core/shared/context.model'; -import { - UntypedItemComponent as BaseComponent, -} from '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component'; +import { UntypedItemComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; /** * Component that represents an untyped Item page diff --git a/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts index 3b873f376c..01c6c6e6f9 100644 --- a/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts +++ b/src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts @@ -1,6 +1,7 @@ -import { MetadataRepresentationListComponent as BaseComponent } from '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component'; import { Component } from '@angular/core'; +import { MetadataRepresentationListComponent as BaseComponent } from '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component'; + @Component({ selector: 'ds-metadata-representation-list', // templateUrl: './metadata-representation-list.component.html' diff --git a/src/themes/custom/app/login-page/login-page.component.ts b/src/themes/custom/app/login-page/login-page.component.ts index 633d30eb2f..ac624f4253 100644 --- a/src/themes/custom/app/login-page/login-page.component.ts +++ b/src/themes/custom/app/login-page/login-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { LoginPageComponent as BaseComponent } from '../../../../app/login-page/login-page.component'; /** diff --git a/src/themes/custom/app/logout-page/logout-page.component.ts b/src/themes/custom/app/logout-page/logout-page.component.ts index 12effc6ff1..eda6d5e4e1 100644 --- a/src/themes/custom/app/logout-page/logout-page.component.ts +++ b/src/themes/custom/app/logout-page/logout-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { LogoutPageComponent as BaseComponent} from '../../../../app/logout-page/logout-page.component'; @Component({ diff --git a/src/themes/custom/app/lookup-by-id/objectnotfound/objectnotfound.component.ts b/src/themes/custom/app/lookup-by-id/objectnotfound/objectnotfound.component.ts index 8e135c908a..a699b15cc5 100644 --- a/src/themes/custom/app/lookup-by-id/objectnotfound/objectnotfound.component.ts +++ b/src/themes/custom/app/lookup-by-id/objectnotfound/objectnotfound.component.ts @@ -1,4 +1,8 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { ObjectNotFoundComponent as BaseComponent } from '../../../../../app/lookup-by-id/objectnotfound/objectnotfound.component'; @Component({ diff --git a/src/themes/custom/app/my-dspace-page/my-dspace-page.component.ts b/src/themes/custom/app/my-dspace-page/my-dspace-page.component.ts index becb85e224..0f6cbccf4e 100644 --- a/src/themes/custom/app/my-dspace-page/my-dspace-page.component.ts +++ b/src/themes/custom/app/my-dspace-page/my-dspace-page.component.ts @@ -1,7 +1,14 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { pushInOut } from '../../../../app/shared/animations/push'; -import { MyDSpacePageComponent as BaseComponent, SEARCH_CONFIG_SERVICE } from '../../../../app/my-dspace-page/my-dspace-page.component'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { MyDSpaceConfigurationService } from '../../../../app/my-dspace-page/my-dspace-configuration.service'; +import { + MyDSpacePageComponent as BaseComponent, + SEARCH_CONFIG_SERVICE, +} from '../../../../app/my-dspace-page/my-dspace-page.component'; +import { pushInOut } from '../../../../app/shared/animations/push'; /** * This component represents the whole mydspace page diff --git a/src/themes/custom/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts b/src/themes/custom/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts index 4816c91301..1ea08ee971 100644 --- a/src/themes/custom/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts +++ b/src/themes/custom/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts @@ -1,10 +1,9 @@ import { Component } from '@angular/core'; -import { - ExpandableNavbarSectionComponent as BaseComponent, -} from '../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component'; + +import { ExpandableNavbarSectionComponent as BaseComponent } from '../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component'; import { slide } from '../../../../../app/shared/animations/slide'; -import { rendersSectionForMenu } from '../../../../../app/shared/menu/menu-section.decorator'; import { MenuID } from '../../../../../app/shared/menu/menu-id.model'; +import { rendersSectionForMenu } from '../../../../../app/shared/menu/menu-section.decorator'; /** * Represents an expandable section in the navbar diff --git a/src/themes/custom/app/navbar/navbar.component.ts b/src/themes/custom/app/navbar/navbar.component.ts index 653d28afc4..a4c2e4e41d 100644 --- a/src/themes/custom/app/navbar/navbar.component.ts +++ b/src/themes/custom/app/navbar/navbar.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { NavbarComponent as BaseComponent } from '../../../../app/navbar/navbar.component'; import { slideMobileNav } from '../../../../app/shared/animations/slide'; diff --git a/src/themes/custom/app/pagenotfound/pagenotfound.component.ts b/src/themes/custom/app/pagenotfound/pagenotfound.component.ts index 5c81b73728..cd65b088b4 100644 --- a/src/themes/custom/app/pagenotfound/pagenotfound.component.ts +++ b/src/themes/custom/app/pagenotfound/pagenotfound.component.ts @@ -1,4 +1,8 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { PageNotFoundComponent as BaseComponent } from '../../../../app/pagenotfound/pagenotfound.component'; @Component({ diff --git a/src/themes/custom/app/profile-page/profile-page.component.ts b/src/themes/custom/app/profile-page/profile-page.component.ts index 648408791f..e912efb787 100644 --- a/src/themes/custom/app/profile-page/profile-page.component.ts +++ b/src/themes/custom/app/profile-page/profile-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ProfilePageComponent as BaseComponent } from '../../../../app/profile-page/profile-page.component'; @Component({ diff --git a/src/themes/custom/app/register-page/create-profile/create-profile.component.ts b/src/themes/custom/app/register-page/create-profile/create-profile.component.ts index 1f87152571..1ab0ad2b21 100644 --- a/src/themes/custom/app/register-page/create-profile/create-profile.component.ts +++ b/src/themes/custom/app/register-page/create-profile/create-profile.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { CreateProfileComponent as BaseComponent } from '../../../../../app/register-page/create-profile/create-profile.component'; /** diff --git a/src/themes/custom/app/register-page/register-email/register-email.component.ts b/src/themes/custom/app/register-page/register-email/register-email.component.ts index 1d0e9dd65e..36c341ba54 100644 --- a/src/themes/custom/app/register-page/register-email/register-email.component.ts +++ b/src/themes/custom/app/register-page/register-email/register-email.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { RegisterEmailComponent as BaseComponent } from '../../../../../app/register-page/register-email/register-email.component'; @Component({ diff --git a/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts index b50b74bbd1..ba6bd27caf 100644 --- a/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts +++ b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts @@ -1,7 +1,5 @@ import { Component } from '@angular/core'; -import { - DenyRequestCopyComponent as BaseComponent, -} from 'src/app/request-copy/deny-request-copy/deny-request-copy.component'; +import { DenyRequestCopyComponent as BaseComponent } from 'src/app/request-copy/deny-request-copy/deny-request-copy.component'; @Component({ selector: 'ds-deny-request-copy', diff --git a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts index 87b65f8dcc..55af8bf860 100644 --- a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts +++ b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts @@ -1,7 +1,5 @@ import { Component } from '@angular/core'; -import { - EmailRequestCopyComponent as BaseComponent, -} from 'src/app/request-copy/email-request-copy/email-request-copy.component'; +import { EmailRequestCopyComponent as BaseComponent } from 'src/app/request-copy/email-request-copy/email-request-copy.component'; @Component({ selector: 'ds-email-request-copy', diff --git a/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts index 47eb212fa0..3a04d93a20 100644 --- a/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts +++ b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts @@ -1,7 +1,5 @@ import { Component } from '@angular/core'; -import { - GrantRequestCopyComponent as BaseComponent, -} from 'src/app/request-copy/grant-request-copy/grant-request-copy.component'; +import { GrantRequestCopyComponent as BaseComponent } from 'src/app/request-copy/grant-request-copy/grant-request-copy.component'; @Component({ selector: 'ds-grant-request-copy', diff --git a/src/themes/custom/app/root/root.component.ts b/src/themes/custom/app/root/root.component.ts index 6b5b0c106f..ce936263e1 100644 --- a/src/themes/custom/app/root/root.component.ts +++ b/src/themes/custom/app/root/root.component.ts @@ -1,6 +1,7 @@ import { Component } from '@angular/core'; -import { slideSidebarPadding } from '../../../../app/shared/animations/slide'; + import { RootComponent as BaseComponent } from '../../../../app/root/root.component'; +import { slideSidebarPadding } from '../../../../app/shared/animations/slide'; @Component({ selector: 'ds-root', diff --git a/src/themes/custom/app/search-navbar/search-navbar.component.ts b/src/themes/custom/app/search-navbar/search-navbar.component.ts index 4734a9774a..2bead7e102 100644 --- a/src/themes/custom/app/search-navbar/search-navbar.component.ts +++ b/src/themes/custom/app/search-navbar/search-navbar.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { SearchNavbarComponent as BaseComponent } from '../../../../app/search-navbar/search-navbar.component'; @Component({ diff --git a/src/themes/custom/app/search-page/configuration-search-page.component.ts b/src/themes/custom/app/search-page/configuration-search-page.component.ts index a8f59c1bf7..2e5801052c 100644 --- a/src/themes/custom/app/search-page/configuration-search-page.component.ts +++ b/src/themes/custom/app/search-page/configuration-search-page.component.ts @@ -1,8 +1,12 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { pushInOut } from '../../../../app/shared/animations/push'; -import { SEARCH_CONFIG_SERVICE } from '../../../../app/my-dspace-page/my-dspace-page.component'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; + import { SearchConfigurationService } from '../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../app/my-dspace-page/my-dspace-page.component'; import { ConfigurationSearchPageComponent as BaseComponent } from '../../../../app/search-page/configuration-search-page.component'; +import { pushInOut } from '../../../../app/shared/animations/push'; @Component({ selector: 'ds-configuration-search-page', diff --git a/src/themes/custom/app/search-page/search-page.component.ts b/src/themes/custom/app/search-page/search-page.component.ts index 8bfddf0d19..51f8f85eb5 100644 --- a/src/themes/custom/app/search-page/search-page.component.ts +++ b/src/themes/custom/app/search-page/search-page.component.ts @@ -1,7 +1,8 @@ import { Component } from '@angular/core'; -import { SearchPageComponent as BaseComponent } from '../../../../app/search-page/search-page.component'; -import { SEARCH_CONFIG_SERVICE } from '../../../../app/my-dspace-page/my-dspace-page.component'; + import { SearchConfigurationService } from '../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../app/my-dspace-page/my-dspace-page.component'; +import { SearchPageComponent as BaseComponent } from '../../../../app/search-page/search-page.component'; @Component({ selector: 'ds-search-page', diff --git a/src/themes/custom/app/shared/auth-nav-menu/auth-nav-menu.component.ts b/src/themes/custom/app/shared/auth-nav-menu/auth-nav-menu.component.ts index 6028a9fc6a..15bb60f356 100644 --- a/src/themes/custom/app/shared/auth-nav-menu/auth-nav-menu.component.ts +++ b/src/themes/custom/app/shared/auth-nav-menu/auth-nav-menu.component.ts @@ -1,8 +1,10 @@ import { Component } from '@angular/core'; + import { - AuthNavMenuComponent as BaseComponent, -} from '../../../../../app/shared/auth-nav-menu/auth-nav-menu.component'; -import { fadeInOut, fadeOut } from '../../../../../app/shared/animations/fade'; + fadeInOut, + fadeOut, +} from '../../../../../app/shared/animations/fade'; +import { AuthNavMenuComponent as BaseComponent } from '../../../../../app/shared/auth-nav-menu/auth-nav-menu.component'; /** * Component representing the {@link AuthNavMenuComponent} of a page diff --git a/src/themes/custom/app/shared/collection-dropdown/collection-dropdown.component.ts b/src/themes/custom/app/shared/collection-dropdown/collection-dropdown.component.ts index bf6056998d..9bf6490ccb 100644 --- a/src/themes/custom/app/shared/collection-dropdown/collection-dropdown.component.ts +++ b/src/themes/custom/app/shared/collection-dropdown/collection-dropdown.component.ts @@ -1,8 +1,7 @@ -import { - CollectionDropdownComponent as BaseComponent, -} from '../../../../../app/shared/collection-dropdown/collection-dropdown.component'; import { Component } from '@angular/core'; +import { CollectionDropdownComponent as BaseComponent } from '../../../../../app/shared/collection-dropdown/collection-dropdown.component'; + @Component({ selector: 'ds-collection-dropdown', templateUrl: '../../../../../app/shared/collection-dropdown/collection-dropdown.component.html', diff --git a/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts b/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts index da3c7ab678..19756f279e 100644 --- a/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts +++ b/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ComcolPageBrowseByComponent as BaseComponent} from '../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component'; /** diff --git a/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts b/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts index ef68f1538f..31d4901f26 100644 --- a/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts +++ b/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ComcolPageHandleComponent as BaseComponent} from '../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component'; diff --git a/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts b/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts index 7b49b1ee79..a4315c9cf2 100644 --- a/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts +++ b/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - CreateCollectionParentSelectorComponent as BaseComponent, -} from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; + +import { CreateCollectionParentSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; @Component({ selector: 'ds-create-collection-parent-selector', diff --git a/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts b/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts index cb573b5884..f46f4ee89e 100644 --- a/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts +++ b/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - CreateCommunityParentSelectorComponent as BaseComponent, -} from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; + +import { CreateCommunityParentSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; @Component({ selector: 'ds-create-community-parent-selector', diff --git a/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts b/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts index 1e73bf754e..c59fc97bc6 100644 --- a/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts +++ b/src/themes/custom/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts @@ -1,7 +1,6 @@ import {Component} from '@angular/core'; -import { - CreateItemParentSelectorComponent as BaseComponent, -} from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; + +import { CreateItemParentSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; @Component({ selector: 'ds-create-item-parent-selector', diff --git a/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts b/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts index 59deb6c66c..a52987958e 100644 --- a/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts +++ b/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - EditCollectionSelectorComponent as BaseComponent, -} from '../../../../../../../app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; + +import { EditCollectionSelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; @Component({ selector: 'ds-edit-collection-selector', diff --git a/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts b/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts index 36d6fc7bad..a89e702177 100644 --- a/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts +++ b/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - EditCommunitySelectorComponent as BaseComponent, -} from '../../../../../../../app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; + +import { EditCommunitySelectorComponent as BaseComponent } from '../../../../../../../app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; @Component({ selector: 'ds-edit-item-selector', diff --git a/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts b/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts index 71330902a5..d2e4c4b05b 100644 --- a/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts +++ b/src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts @@ -1,7 +1,5 @@ import { Component } from '@angular/core'; -import { - EditItemSelectorComponent as BaseComponent, -} from 'src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; +import { EditItemSelectorComponent as BaseComponent } from 'src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; @Component({ selector: 'ds-edit-item-selector', diff --git a/src/themes/custom/app/shared/file-download-link/file-download-link.component.ts b/src/themes/custom/app/shared/file-download-link/file-download-link.component.ts index 69dbd7c132..ddc51deb56 100644 --- a/src/themes/custom/app/shared/file-download-link/file-download-link.component.ts +++ b/src/themes/custom/app/shared/file-download-link/file-download-link.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - FileDownloadLinkComponent as BaseComponent, -} from '../../../../../app/shared/file-download-link/file-download-link.component'; + +import { FileDownloadLinkComponent as BaseComponent } from '../../../../../app/shared/file-download-link/file-download-link.component'; @Component({ selector: 'ds-file-download-link', diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts index 096b5e11b8..39f28a9d7f 100644 --- a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts +++ b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts @@ -1,8 +1,12 @@ -import { DsDynamicLookupRelationExternalSourceTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; import { Component } from '@angular/core'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component'; + import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service'; -import { fadeIn, fadeInOut } from '../../../../../../../../../app/shared/animations/fade'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component'; +import { + fadeIn, + fadeInOut, +} from '../../../../../../../../../app/shared/animations/fade'; +import { DsDynamicLookupRelationExternalSourceTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; @Component({ selector: 'ds-dynamic-lookup-relation-external-source-tab', diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts index e39de094e6..5d77a44df4 100644 --- a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts +++ b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts @@ -1,8 +1,7 @@ -import { - ExternalSourceEntryImportModalComponent as BaseComponent, -} from '../../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; import { Component } from '@angular/core'; +import { ExternalSourceEntryImportModalComponent as BaseComponent } from '../../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; + @Component({ selector: 'ds-external-source-entry-import-modal', styleUrls: ['../../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.scss'], diff --git a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts index c151843aa8..076d052c82 100644 --- a/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts +++ b/src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts @@ -1,7 +1,8 @@ -import { DsDynamicLookupRelationSearchTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; import { Component } from '@angular/core'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component'; + import { SearchConfigurationService } from '../../../../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../../../../app/my-dspace-page/my-dspace-page.component'; +import { DsDynamicLookupRelationSearchTabComponent as BaseComponent } from '../../../../../../../../../app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; @Component({ selector: 'ds-dynamic-lookup-relation-search-tab', diff --git a/src/themes/custom/app/shared/loading/loading.component.ts b/src/themes/custom/app/shared/loading/loading.component.ts index d278cfcb63..54fa5d87ed 100644 --- a/src/themes/custom/app/shared/loading/loading.component.ts +++ b/src/themes/custom/app/shared/loading/loading.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { LoadingComponent as BaseComponent } from '../../../../../app/shared/loading/loading.component'; @Component({ diff --git a/src/themes/custom/app/shared/object-list/collection-list-element/collection-list-element.component.ts b/src/themes/custom/app/shared/object-list/collection-list-element/collection-list-element.component.ts index 2ce73ea77f..4408b9d9b3 100644 --- a/src/themes/custom/app/shared/object-list/collection-list-element/collection-list-element.component.ts +++ b/src/themes/custom/app/shared/object-list/collection-list-element/collection-list-element.component.ts @@ -1,14 +1,10 @@ import {Component} from '@angular/core'; import {Collection} from '../../../../../../app/core/shared/collection.model'; -import { - CollectionListElementComponent as BaseComponent, -} from '../../../../../../app/shared/object-list/collection-list-element/collection-list-element.component'; -import {ViewMode} from '../../../../../../app/core/shared/view-mode.model'; -import { - listableObjectComponent, -} from '../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; import {Context} from '../../../../../../app/core/shared/context.model'; +import {ViewMode} from '../../../../../../app/core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { CollectionListElementComponent as BaseComponent } from '../../../../../../app/shared/object-list/collection-list-element/collection-list-element.component'; @listableObjectComponent(Collection, ViewMode.ListElement, Context.Any, 'custom') diff --git a/src/themes/custom/app/shared/object-list/community-list-element/community-list-element.component.ts b/src/themes/custom/app/shared/object-list/community-list-element/community-list-element.component.ts index 500b6001e7..190e8bd13c 100644 --- a/src/themes/custom/app/shared/object-list/community-list-element/community-list-element.component.ts +++ b/src/themes/custom/app/shared/object-list/community-list-element/community-list-element.component.ts @@ -1,12 +1,10 @@ import {Component} from '@angular/core'; import { Community } from '../../../../../../app/core/shared/community.model'; -import { - CommunityListElementComponent as BaseComponent, -} from '../../../../../../app/shared/object-list/community-list-element/community-list-element.component'; +import {Context} from '../../../../../../app/core/shared/context.model'; import { ViewMode } from '../../../../../../app/core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import {Context} from '../../../../../../app/core/shared/context.model'; +import { CommunityListElementComponent as BaseComponent } from '../../../../../../app/shared/object-list/community-list-element/community-list-element.component'; @listableObjectComponent(Community, ViewMode.ListElement, Context.Any, 'custom') diff --git a/src/themes/custom/app/shared/object-list/object-list.component.ts b/src/themes/custom/app/shared/object-list/object-list.component.ts index a46f15fbcc..a5ffac0ba9 100644 --- a/src/themes/custom/app/shared/object-list/object-list.component.ts +++ b/src/themes/custom/app/shared/object-list/object-list.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ObjectListComponent as BaseComponent} from '../../../../../app/shared/object-list/object-list.component'; /** diff --git a/src/themes/custom/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts b/src/themes/custom/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts index 5d8b3c189f..b88f57477e 100644 --- a/src/themes/custom/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts +++ b/src/themes/custom/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts @@ -1,15 +1,10 @@ import { Component } from '@angular/core'; -import { - listableObjectComponent, -} from '../../../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../../../../../app/core/shared/view-mode.model'; -import { - ItemSearchResult, -} from '../../../../../../../../../app/shared/object-collection/shared/item-search-result.model'; -import { - ItemSearchResultListElementComponent as BaseComponent, -} from '../../../../../../../../../app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; + import { Context } from '../../../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../../../app/core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../../../../../../../app/shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ItemSearchResultListElementComponent as BaseComponent } from '../../../../../../../../../app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.Any, 'custom') @listableObjectComponent(ItemSearchResult, ViewMode.ListElement, Context.Any, 'custom') diff --git a/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts b/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts index 4d853fc663..b37abbcc34 100644 --- a/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts +++ b/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts @@ -1,11 +1,10 @@ -import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; import { Component } from '@angular/core'; + import { Context } from '../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; import { ItemSearchResult } from '../../../../../../../app/shared/object-collection/shared/item-search-result.model'; -import { - PublicationSidebarSearchListElementComponent as BaseComponent, -} from '../../../../../../../app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { PublicationSidebarSearchListElementComponent as BaseComponent } from '../../../../../../../app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.SideBarSearchModal, 'custom') @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent, 'custom') diff --git a/src/themes/custom/app/shared/results-back-button/results-back-button.component.ts b/src/themes/custom/app/shared/results-back-button/results-back-button.component.ts index 2026532263..d8e772fde1 100644 --- a/src/themes/custom/app/shared/results-back-button/results-back-button.component.ts +++ b/src/themes/custom/app/shared/results-back-button/results-back-button.component.ts @@ -1,8 +1,7 @@ -import { - ResultsBackButtonComponent as BaseComponent, -} from '../../../../../app/shared/results-back-button/results-back-button.component'; import { Component } from '@angular/core'; +import { ResultsBackButtonComponent as BaseComponent } from '../../../../../app/shared/results-back-button/results-back-button.component'; + @Component({ selector: 'ds-results-back-button', // styleUrls: ['./results-back-button.component.scss'], diff --git a/src/themes/custom/app/shared/search-form/search-form.component.ts b/src/themes/custom/app/shared/search-form/search-form.component.ts index 5721f8196c..76047b5909 100644 --- a/src/themes/custom/app/shared/search-form/search-form.component.ts +++ b/src/themes/custom/app/shared/search-form/search-form.component.ts @@ -1,7 +1,6 @@ import { Component } from '@angular/core'; -import { - SearchFormComponent as BaseComponent, -} from '../../../../../app/shared/search-form/search-form.component'; + +import { SearchFormComponent as BaseComponent } from '../../../../../app/shared/search-form/search-form.component'; @Component({ selector: 'ds-search-form', diff --git a/src/themes/custom/app/shared/search/search-filters/search-filters.component.ts b/src/themes/custom/app/shared/search/search-filters/search-filters.component.ts index 5b4ff421fc..a68290a71b 100644 --- a/src/themes/custom/app/shared/search/search-filters/search-filters.component.ts +++ b/src/themes/custom/app/shared/search/search-filters/search-filters.component.ts @@ -6,11 +6,10 @@ * https://www.atmire.com/software-license/ */ import { Component } from '@angular/core'; -import { - SearchFiltersComponent as BaseComponent, -} from '../../../../../../app/shared/search/search-filters/search-filters.component'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-page.component'; + import { SearchConfigurationService } from '../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-page.component'; +import { SearchFiltersComponent as BaseComponent } from '../../../../../../app/shared/search/search-filters/search-filters.component'; @Component({ diff --git a/src/themes/custom/app/shared/search/search-results/search-results.component.ts b/src/themes/custom/app/shared/search/search-results/search-results.component.ts index cba118465b..d35dc7ca28 100644 --- a/src/themes/custom/app/shared/search/search-results/search-results.component.ts +++ b/src/themes/custom/app/shared/search/search-results/search-results.component.ts @@ -1,6 +1,10 @@ -import { SearchResultsComponent as BaseComponent } from '../../../../../../app/shared/search/search-results/search-results.component'; import { Component } from '@angular/core'; -import { fadeIn, fadeInOut } from '../../../../../../app/shared/animations/fade'; + +import { + fadeIn, + fadeInOut, +} from '../../../../../../app/shared/animations/fade'; +import { SearchResultsComponent as BaseComponent } from '../../../../../../app/shared/search/search-results/search-results.component'; @Component({ selector: 'ds-search-results', diff --git a/src/themes/custom/app/shared/search/search-settings/search-settings.component.ts b/src/themes/custom/app/shared/search/search-settings/search-settings.component.ts index fa0fb2595a..d07456d7ef 100644 --- a/src/themes/custom/app/shared/search/search-settings/search-settings.component.ts +++ b/src/themes/custom/app/shared/search/search-settings/search-settings.component.ts @@ -6,11 +6,10 @@ * https://www.atmire.com/software-license/ */ import { Component } from '@angular/core'; -import { - SearchSettingsComponent as BaseComponent, -} from '../../../../../../app/shared/search/search-settings/search-settings.component'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-page.component'; + import { SearchConfigurationService } from '../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-page.component'; +import { SearchSettingsComponent as BaseComponent } from '../../../../../../app/shared/search/search-settings/search-settings.component'; @Component({ diff --git a/src/themes/custom/app/shared/search/search-sidebar/search-sidebar.component.ts b/src/themes/custom/app/shared/search/search-sidebar/search-sidebar.component.ts index 49352d1526..dcb5305c7f 100644 --- a/src/themes/custom/app/shared/search/search-sidebar/search-sidebar.component.ts +++ b/src/themes/custom/app/shared/search/search-sidebar/search-sidebar.component.ts @@ -6,11 +6,10 @@ * https://www.atmire.com/software-license/ */ import { Component } from '@angular/core'; -import { - SearchSidebarComponent as BaseComponent, -} from '../../../../../../app/shared/search/search-sidebar/search-sidebar.component'; -import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-page.component'; + import { SearchConfigurationService } from '../../../../../../app/core/shared/search/search-configuration.service'; +import { SEARCH_CONFIG_SERVICE } from '../../../../../../app/my-dspace-page/my-dspace-page.component'; +import { SearchSidebarComponent as BaseComponent } from '../../../../../../app/shared/search/search-sidebar/search-sidebar.component'; @Component({ diff --git a/src/themes/custom/app/shared/starts-with/date/starts-with-date.component.ts b/src/themes/custom/app/shared/starts-with/date/starts-with-date.component.ts index 924898f4e7..22ae9cfc4c 100644 --- a/src/themes/custom/app/shared/starts-with/date/starts-with-date.component.ts +++ b/src/themes/custom/app/shared/starts-with/date/starts-with-date.component.ts @@ -1,8 +1,10 @@ import { Component } from '@angular/core'; -import { renderStartsWithFor, StartsWithType } from '../../../../../../app/shared/starts-with/starts-with-decorator'; + +import { StartsWithDateComponent as BaseComponent } from '../../../../../../app/shared/starts-with/date/starts-with-date.component'; import { - StartsWithDateComponent as BaseComponent, -} from '../../../../../../app/shared/starts-with/date/starts-with-date.component'; + renderStartsWithFor, + StartsWithType, +} from '../../../../../../app/shared/starts-with/starts-with-decorator'; @Component({ selector: 'ds-starts-with-date', diff --git a/src/themes/custom/app/shared/starts-with/text/starts-with-text.component.ts b/src/themes/custom/app/shared/starts-with/text/starts-with-text.component.ts index d8d66e2378..d9027f3e13 100644 --- a/src/themes/custom/app/shared/starts-with/text/starts-with-text.component.ts +++ b/src/themes/custom/app/shared/starts-with/text/starts-with-text.component.ts @@ -1,8 +1,10 @@ import { Component } from '@angular/core'; -import { renderStartsWithFor, StartsWithType } from '../../../../../../app/shared/starts-with/starts-with-decorator'; + import { - StartsWithTextComponent as BaseComponent, -} from '../../../../../../app/shared/starts-with/text/starts-with-text.component'; + renderStartsWithFor, + StartsWithType, +} from '../../../../../../app/shared/starts-with/starts-with-decorator'; +import { StartsWithTextComponent as BaseComponent } from '../../../../../../app/shared/starts-with/text/starts-with-text.component'; @Component({ selector: 'ds-starts-with-text', diff --git a/src/themes/custom/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts b/src/themes/custom/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts index 86ff05fd62..ba8e86e93c 100644 --- a/src/themes/custom/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts +++ b/src/themes/custom/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { CollectionStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/collection-statistics-page/collection-statistics-page.component'; @Component({ diff --git a/src/themes/custom/app/statistics-page/community-statistics-page/community-statistics-page.component.ts b/src/themes/custom/app/statistics-page/community-statistics-page/community-statistics-page.component.ts index 7841090f05..3e18999961 100644 --- a/src/themes/custom/app/statistics-page/community-statistics-page/community-statistics-page.component.ts +++ b/src/themes/custom/app/statistics-page/community-statistics-page/community-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { CommunityStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/community-statistics-page/community-statistics-page.component'; @Component({ diff --git a/src/themes/custom/app/statistics-page/item-statistics-page/item-statistics-page.component.ts b/src/themes/custom/app/statistics-page/item-statistics-page/item-statistics-page.component.ts index 127d6968ad..fa7d4038e0 100644 --- a/src/themes/custom/app/statistics-page/item-statistics-page/item-statistics-page.component.ts +++ b/src/themes/custom/app/statistics-page/item-statistics-page/item-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ItemStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/item-statistics-page/item-statistics-page.component'; @Component({ diff --git a/src/themes/custom/app/statistics-page/site-statistics-page/site-statistics-page.component.ts b/src/themes/custom/app/statistics-page/site-statistics-page/site-statistics-page.component.ts index 4ab9a19411..398a0eeece 100644 --- a/src/themes/custom/app/statistics-page/site-statistics-page/site-statistics-page.component.ts +++ b/src/themes/custom/app/statistics-page/site-statistics-page/site-statistics-page.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { SiteStatisticsPageComponent as BaseComponent } from '../../../../../app/statistics-page/site-statistics-page/site-statistics-page.component'; @Component({ diff --git a/src/themes/custom/app/submission/edit/submission-edit.component.ts b/src/themes/custom/app/submission/edit/submission-edit.component.ts index 1c44769e4d..c87d4a8082 100644 --- a/src/themes/custom/app/submission/edit/submission-edit.component.ts +++ b/src/themes/custom/app/submission/edit/submission-edit.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { SubmissionEditComponent as BaseComponent } from '../../../../../app/submission/edit/submission-edit.component'; /** diff --git a/src/themes/custom/app/submission/import-external/submission-import-external.component.ts b/src/themes/custom/app/submission/import-external/submission-import-external.component.ts index 9bf6f0e087..95f0c4dcae 100644 --- a/src/themes/custom/app/submission/import-external/submission-import-external.component.ts +++ b/src/themes/custom/app/submission/import-external/submission-import-external.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { fadeIn } from '../../../../../app/shared/animations/fade'; import { SubmissionImportExternalComponent as BaseComponent } from '../../../../../app/submission/import-external/submission-import-external.component'; diff --git a/src/themes/custom/app/submission/sections/upload/file/section-upload-file.component.ts b/src/themes/custom/app/submission/sections/upload/file/section-upload-file.component.ts index 1e531f485f..72d43e4ff2 100644 --- a/src/themes/custom/app/submission/sections/upload/file/section-upload-file.component.ts +++ b/src/themes/custom/app/submission/sections/upload/file/section-upload-file.component.ts @@ -1,7 +1,5 @@ import { Component } from '@angular/core'; -import { - SubmissionSectionUploadFileComponent as BaseComponent, -} from 'src/app/submission/sections/upload/file/section-upload-file.component'; +import { SubmissionSectionUploadFileComponent as BaseComponent } from 'src/app/submission/sections/upload/file/section-upload-file.component'; /** * This component represents a single bitstream contained in the submission diff --git a/src/themes/custom/app/submission/submit/submission-submit.component.ts b/src/themes/custom/app/submission/submit/submission-submit.component.ts index 68cb287614..dacecb8167 100644 --- a/src/themes/custom/app/submission/submit/submission-submit.component.ts +++ b/src/themes/custom/app/submission/submit/submission-submit.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { SubmissionSubmitComponent as BaseComponent } from '../../../../../app/submission/submit/submission-submit.component'; /** diff --git a/src/themes/custom/app/thumbnail/thumbnail.component.ts b/src/themes/custom/app/thumbnail/thumbnail.component.ts index 406183c8e7..8a3fb66fec 100644 --- a/src/themes/custom/app/thumbnail/thumbnail.component.ts +++ b/src/themes/custom/app/thumbnail/thumbnail.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { ThumbnailComponent as BaseComponent } from '../../../../app/thumbnail/thumbnail.component'; @Component({ diff --git a/src/themes/custom/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts b/src/themes/custom/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts index 8d5ffe35ab..2c34b197a8 100644 --- a/src/themes/custom/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts +++ b/src/themes/custom/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { WorkflowItemDeleteComponent as BaseComponent } from '../../../../../app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component'; @Component({ diff --git a/src/themes/custom/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts b/src/themes/custom/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts index d85213cdbd..6f6507ab04 100644 --- a/src/themes/custom/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts +++ b/src/themes/custom/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { WorkflowItemSendBackComponent as BaseComponent } from '../../../../../app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component'; @Component({ diff --git a/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts b/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts index 95494d76dd..2f6cc90f05 100644 --- a/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts +++ b/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { WorkspaceItemsDeletePageComponent as BaseComponent } from '../../../../../app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component'; diff --git a/src/themes/custom/eager-theme.module.ts b/src/themes/custom/eager-theme.module.ts index bcadc7be19..ca28c2c86a 100644 --- a/src/themes/custom/eager-theme.module.ts +++ b/src/themes/custom/eager-theme.module.ts @@ -1,59 +1,40 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { ItemPageModule } from '../../app/item-page/item-page.module'; +import { ItemSharedModule } from '../../app/item-page/item-shared.module'; +import { NavbarModule } from '../../app/navbar/navbar.module'; +import { RootModule } from '../../app/root.module'; +import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; +import { DsoPageModule } from '../../app/shared/dso-page/dso-page.module'; +import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; import { SharedModule } from '../../app/shared/shared.module'; -import { HomeNewsComponent } from './app/home-page/home-news/home-news.component'; -import { NavbarComponent } from './app/navbar/navbar.component'; -import { SearchNavbarComponent } from './app/search-navbar/search-navbar.component'; +import { JournalComponent } from './app/entity-groups/journal-entities/item-pages/journal/journal.component'; +import { JournalIssueComponent } from './app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component'; +import { JournalVolumeComponent } from './app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component'; +import { FooterComponent } from './app/footer/footer.component'; import { HeaderComponent } from './app/header/header.component'; import { HeaderNavbarWrapperComponent } from './app/header-nav-wrapper/header-navbar-wrapper.component'; -import { RootModule } from '../../app/root.module'; -import { NavbarModule } from '../../app/navbar/navbar.module'; +import { HomeNewsComponent } from './app/home-page/home-news/home-news.component'; +import { TopLevelCommunityListComponent } from './app/home-page/top-level-community-list/top-level-community-list.component'; import { PublicationComponent } from './app/item-page/simple/item-types/publication/publication.component'; -import { ItemPageModule } from '../../app/item-page/item-page.module'; -import { FooterComponent } from './app/footer/footer.component'; -import { JournalComponent } from './app/entity-groups/journal-entities/item-pages/journal/journal.component'; -import { - JournalIssueComponent, -} from './app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component'; -import { - JournalVolumeComponent, -} from './app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component'; import { UntypedItemComponent } from './app/item-page/simple/item-types/untyped-item/untyped-item.component'; -import { ItemSharedModule } from '../../app/item-page/item-shared.module'; -import { - CreateCollectionParentSelectorComponent, -} from './app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; -import { - CreateCommunityParentSelectorComponent, -} from './app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; -import { - CreateItemParentSelectorComponent, -} from './app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; -import { - EditCollectionSelectorComponent, -} from './app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; -import { - EditCommunitySelectorComponent, -} from './app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; -import { - EditItemSelectorComponent, -} from './app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; -import { CommunityListElementComponent } from './app/shared/object-list/community-list-element/community-list-element.component'; -import { CollectionListElementComponent} from './app/shared/object-list/collection-list-element/collection-list-element.component'; +import { NavbarComponent } from './app/navbar/navbar.component'; +import { SearchNavbarComponent } from './app/search-navbar/search-navbar.component'; import { CollectionDropdownComponent } from './app/shared/collection-dropdown/collection-dropdown.component'; -import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; -import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; -import { DsoPageModule } from '../../app/shared/dso-page/dso-page.module'; +import { CreateCollectionParentSelectorComponent } from './app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; +import { CreateCommunityParentSelectorComponent } from './app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; +import { CreateItemParentSelectorComponent } from './app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; +import { EditCollectionSelectorComponent } from './app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; +import { EditCommunitySelectorComponent } from './app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; +import { EditItemSelectorComponent } from './app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; import { FileDownloadLinkComponent } from './app/shared/file-download-link/file-download-link.component'; +import { CollectionListElementComponent} from './app/shared/object-list/collection-list-element/collection-list-element.component'; +import { CommunityListElementComponent } from './app/shared/object-list/community-list-element/community-list-element.component'; +import { ItemSearchResultListElementComponent } from './app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; +import { PublicationSidebarSearchListElementComponent } from './app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component'; import { StartsWithDateComponent } from './app/shared/starts-with/date/starts-with-date.component'; import { StartsWithTextComponent } from './app/shared/starts-with/text/starts-with-text.component'; -import { - PublicationSidebarSearchListElementComponent, -} from './app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component'; -import { - ItemSearchResultListElementComponent, -} from './app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; -import { TopLevelCommunityListComponent } from './app/home-page/top-level-community-list/top-level-community-list.component'; /** diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index dd69e97a29..4eb99e9499 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -1,161 +1,140 @@ -import { NgModule } from '@angular/core'; +import { DragDropModule } from '@angular/cdk/drag-drop'; import { CommonModule } from '@angular/common'; +import { HttpClientModule } from '@angular/common/http'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; +import { NgxGalleryModule } from '@kolkov/ngx-gallery'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { StoreRouterConnectingModule } from '@ngrx/router-store'; +import { StoreModule } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; +import { IdlePreloadModule } from 'angular-idle-preload'; +import { RequestCopyModule } from 'src/app/request-copy/request-copy.module'; + import { AdminRegistriesModule } from '../../app/admin/admin-registries/admin-registries.module'; +import { BitstreamFormatsModule } from '../../app/admin/admin-registries/bitstream-formats/bitstream-formats.module'; import { AdminSearchModule } from '../../app/admin/admin-search-page/admin-search.module'; import { AdminWorkflowModuleModule } from '../../app/admin/admin-workflow-page/admin-workflow.module'; -import { BitstreamFormatsModule } from '../../app/admin/admin-registries/bitstream-formats/bitstream-formats.module'; +import { AppModule } from '../../app/app.module'; import { BrowseByModule } from '../../app/browse-by/browse-by.module'; import { CollectionFormModule } from '../../app/collection-page/collection-form/collection-form.module'; +import { CollectionPageModule } from '../../app/collection-page/collection-page.module'; +import { CommunityListPageModule } from '../../app/community-list-page/community-list-page.module'; import { CommunityFormModule } from '../../app/community-page/community-form/community-form.module'; +import { CommunityPageModule } from '../../app/community-page/community-page.module'; import { CoreModule } from '../../app/core/core.module'; -import { DragDropModule } from '@angular/cdk/drag-drop'; -import { EditItemPageModule } from '../../app/item-page/edit-item-page/edit-item-page.module'; -import { FormsModule } from '@angular/forms'; -import { HttpClientModule } from '@angular/common/http'; -import { IdlePreloadModule } from 'angular-idle-preload'; +import { DsoSharedModule } from '../../app/dso-shared/dso-shared.module'; import { JournalEntitiesModule } from '../../app/entity-groups/journal-entities/journal-entities.module'; +import { ResearchEntitiesModule } from '../../app/entity-groups/research-entities/research-entities.module'; +import { HomePageModule } from '../../app/home-page/home-page.module'; +import { InfoModule } from '../../app/info/info.module'; +import { EditItemPageModule } from '../../app/item-page/edit-item-page/edit-item-page.module'; +import { ItemPageModule } from '../../app/item-page/item-page.module'; +import { ItemSharedModule } from '../../app/item-page/item-shared.module'; +import { ItemVersionsModule } from '../../app/item-page/versions/item-versions.module'; +import { MyDSpacePageModule } from '../../app/my-dspace-page/my-dspace-page.module'; import { MyDspaceSearchModule } from '../../app/my-dspace-page/my-dspace-search.module'; -import { MenuModule } from '../../app/shared/menu/menu.module'; import { NavbarModule } from '../../app/navbar/navbar.module'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { ProfilePageModule } from '../../app/profile-page/profile-page.module'; import { RegisterEmailFormModule } from '../../app/register-email-form/register-email-form.module'; -import { ResearchEntitiesModule } from '../../app/entity-groups/research-entities/research-entities.module'; -import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; +import { RootModule } from '../../app/root.module'; import { SearchPageModule } from '../../app/search-page/search-page.module'; +import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; +import { ComcolModule } from '../../app/shared/comcol/comcol.module'; +import { DsoPageModule } from '../../app/shared/dso-page/dso-page.module'; +import { FormModule } from '../../app/shared/form/form.module'; +import { MenuModule } from '../../app/shared/menu/menu.module'; +import { ResourcePoliciesModule } from '../../app/shared/resource-policies/resource-policies.module'; +import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; +import { SearchModule } from '../../app/shared/search/search.module'; import { SharedModule } from '../../app/shared/shared.module'; import { StatisticsModule } from '../../app/statistics/statistics.module'; -import { StoreModule } from '@ngrx/store'; -import { StoreRouterConnectingModule } from '@ngrx/router-store'; -import { TranslateModule } from '@ngx-translate/core'; -import { HomePageModule } from '../../app/home-page/home-page.module'; -import { AppModule } from '../../app/app.module'; -import { ItemPageModule } from '../../app/item-page/item-page.module'; -import { RouterModule } from '@angular/router'; -import { CommunityListPageModule } from '../../app/community-list-page/community-list-page.module'; -import { InfoModule } from '../../app/info/info.module'; import { StatisticsPageModule } from '../../app/statistics-page/statistics-page.module'; -import { CommunityPageModule } from '../../app/community-page/community-page.module'; -import { CollectionPageModule } from '../../app/collection-page/collection-page.module'; import { SubmissionModule } from '../../app/submission/submission.module'; -import { MyDSpacePageModule } from '../../app/my-dspace-page/my-dspace-page.module'; -import { SearchModule } from '../../app/shared/search/search.module'; -import { ResourcePoliciesModule } from '../../app/shared/resource-policies/resource-policies.module'; -import { ComcolModule } from '../../app/shared/comcol/comcol.module'; -import { RootModule } from '../../app/root.module'; -import { FileSectionComponent } from './app/item-page/simple/field-components/file-section/file-section.component'; -import { HomePageComponent } from './app/home-page/home-page.component'; -import { RootComponent } from './app/root/root.component'; +import { SystemWideAlertModule } from '../../app/system-wide-alert/system-wide-alert.module'; +import { AdminSidebarComponent } from './app/admin/admin-sidebar/admin-sidebar.component'; +import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component'; +import { BreadcrumbsComponent } from './app/breadcrumbs/breadcrumbs.component'; +import { BrowseByDatePageComponent } from './app/browse-by/browse-by-date-page/browse-by-date-page.component'; +import { BrowseByMetadataPageComponent } from './app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component'; import { BrowseBySwitcherComponent } from './app/browse-by/browse-by-switcher/browse-by-switcher.component'; +import { BrowseByTaxonomyPageComponent } from './app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component'; +import { BrowseByTitlePageComponent } from './app/browse-by/browse-by-title-page/browse-by-title-page.component'; +import { CollectionPageComponent } from './app/collection-page/collection-page.component'; +import { EditItemTemplatePageComponent } from './app/collection-page/edit-item-template-page/edit-item-template-page.component'; +import { CommunityListComponent } from './app/community-list-page/community-list/community-list.component'; import { CommunityListPageComponent } from './app/community-list-page/community-list-page.component'; -import { SearchPageComponent } from './app/search-page/search-page.component'; -import { ConfigurationSearchPageComponent } from './app/search-page/configuration-search-page.component'; -import { SearchFormComponent } from './app/shared/search-form/search-form.component'; -import { EndUserAgreementComponent } from './app/info/end-user-agreement/end-user-agreement.component'; -import { PageNotFoundComponent } from './app/pagenotfound/pagenotfound.component'; -import { ObjectNotFoundComponent } from './app/lookup-by-id/objectnotfound/objectnotfound.component'; +import { CommunityPageComponent } from './app/community-page/community-page.component'; +import { CommunityPageSubCollectionListComponent } from './app/community-page/sub-collection-list/community-page-sub-collection-list.component'; +import { CommunityPageSubCommunityListComponent } from './app/community-page/sub-community-list/community-page-sub-community-list.component'; +import { DsoEditMetadataComponent } from './app/dso-shared/dso-edit-metadata/dso-edit-metadata.component'; import { ForbiddenComponent } from './app/forbidden/forbidden.component'; +import { ForgotEmailComponent } from './app/forgot-password/forgot-password-email/forgot-email.component'; +import { ForgotPasswordFormComponent } from './app/forgot-password/forgot-password-form/forgot-password-form.component'; +import { HomePageComponent } from './app/home-page/home-page.component'; +import { EndUserAgreementComponent } from './app/info/end-user-agreement/end-user-agreement.component'; +import { FeedbackComponent } from './app/info/feedback/feedback.component'; +import { FeedbackFormComponent } from './app/info/feedback/feedback-form/feedback-form.component'; import { PrivacyComponent } from './app/info/privacy/privacy.component'; +import { ItemAlertsComponent } from './app/item-page/alerts/item-alerts.component'; +import { ItemStatusComponent } from './app/item-page/edit-item-page/item-status/item-status.component'; +import { FullFileSectionComponent } from './app/item-page/full/field-components/file-section/full-file-section.component'; +import { FullItemPageComponent } from './app/item-page/full/full-item-page.component'; +import { MediaViewerComponent } from './app/item-page/media-viewer/media-viewer.component'; +import { MediaViewerImageComponent } from './app/item-page/media-viewer/media-viewer-image/media-viewer-image.component'; +import { MediaViewerVideoComponent } from './app/item-page/media-viewer/media-viewer-video/media-viewer-video.component'; +import { FileSectionComponent } from './app/item-page/simple/field-components/file-section/file-section.component'; +import { ItemPageTitleFieldComponent } from './app/item-page/simple/field-components/specific-field/title/item-page-title-field.component'; +import { ItemPageComponent } from './app/item-page/simple/item-page.component'; +import { MetadataRepresentationListComponent } from './app/item-page/simple/metadata-representation-list/metadata-representation-list.component'; +import { LoginPageComponent } from './app/login-page/login-page.component'; +import { LogoutPageComponent } from './app/logout-page/logout-page.component'; +import { ObjectNotFoundComponent } from './app/lookup-by-id/objectnotfound/objectnotfound.component'; +import { MyDSpacePageComponent } from './app/my-dspace-page/my-dspace-page.component'; +import { ExpandableNavbarSectionComponent } from './app/navbar/expandable-navbar-section/expandable-navbar-section.component'; +import { PageNotFoundComponent } from './app/pagenotfound/pagenotfound.component'; +import { ProfilePageComponent } from './app/profile-page/profile-page.component'; +import { CreateProfileComponent } from './app/register-page/create-profile/create-profile.component'; +import { RegisterEmailComponent } from './app/register-page/register-email/register-email.component'; +import { DenyRequestCopyComponent } from './app/request-copy/deny-request-copy/deny-request-copy.component'; +import { EmailRequestCopyComponent } from './app/request-copy/email-request-copy/email-request-copy.component'; +import { GrantRequestCopyComponent } from './app/request-copy/grant-request-copy/grant-request-copy.component'; +import { RootComponent } from './app/root/root.component'; +import { ConfigurationSearchPageComponent } from './app/search-page/configuration-search-page.component'; +import { SearchPageComponent } from './app/search-page/search-page.component'; +import { AuthNavMenuComponent } from './app/shared/auth-nav-menu/auth-nav-menu.component'; +import { ComcolPageBrowseByComponent } from './app/shared/comcol-page-browse-by/comcol-page-browse-by.component'; +import { ComcolPageHandleComponent } from './app/shared/comcol-page-handle/comcol-page-handle.component'; +import { DsDynamicLookupRelationExternalSourceTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; +import { ExternalSourceEntryImportModalComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; +import { DsDynamicLookupRelationSearchTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; +import { LoadingComponent } from './app/shared/loading/loading.component'; +import { AccessStatusBadgeComponent } from './app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component'; +import { BadgesComponent } from './app/shared/object-collection/shared/badges/badges.component'; +import { MyDSpaceStatusBadgeComponent } from './app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component'; +import { StatusBadgeComponent } from './app/shared/object-collection/shared/badges/status-badge/status-badge.component'; +import { TypeBadgeComponent } from './app/shared/object-collection/shared/badges/type-badge/type-badge.component'; +import { ObjectListComponent } from './app/shared/object-list/object-list.component'; +import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component'; +import { SearchFiltersComponent } from './app/shared/search/search-filters/search-filters.component'; +import { SearchResultsComponent } from './app/shared/search/search-results/search-results.component'; +import { SearchSettingsComponent } from './app/shared/search/search-settings/search-settings.component'; +import { SearchSidebarComponent } from './app/shared/search/search-sidebar/search-sidebar.component'; +import { SearchFormComponent } from './app/shared/search-form/search-form.component'; import { CollectionStatisticsPageComponent } from './app/statistics-page/collection-statistics-page/collection-statistics-page.component'; import { CommunityStatisticsPageComponent } from './app/statistics-page/community-statistics-page/community-statistics-page.component'; import { ItemStatisticsPageComponent } from './app/statistics-page/item-statistics-page/item-statistics-page.component'; import { SiteStatisticsPageComponent } from './app/statistics-page/site-statistics-page/site-statistics-page.component'; -import { CommunityPageComponent } from './app/community-page/community-page.component'; -import { CollectionPageComponent } from './app/collection-page/collection-page.component'; -import { ItemPageComponent } from './app/item-page/simple/item-page.component'; -import { FullItemPageComponent } from './app/item-page/full/full-item-page.component'; -import { LoginPageComponent } from './app/login-page/login-page.component'; -import { LogoutPageComponent } from './app/logout-page/logout-page.component'; -import { CreateProfileComponent } from './app/register-page/create-profile/create-profile.component'; -import { ForgotEmailComponent } from './app/forgot-password/forgot-password-email/forgot-email.component'; -import { ForgotPasswordFormComponent } from './app/forgot-password/forgot-password-form/forgot-password-form.component'; -import { ProfilePageComponent } from './app/profile-page/profile-page.component'; -import { RegisterEmailComponent } from './app/register-page/register-email/register-email.component'; -import { MyDSpacePageComponent } from './app/my-dspace-page/my-dspace-page.component'; import { SubmissionEditComponent } from './app/submission/edit/submission-edit.component'; import { SubmissionImportExternalComponent } from './app/submission/import-external/submission-import-external.component'; +import { SubmissionSectionUploadFileComponent } from './app/submission/sections/upload/file/section-upload-file.component'; import { SubmissionSubmitComponent } from './app/submission/submit/submission-submit.component'; +import { ThumbnailComponent } from './app/thumbnail/thumbnail.component'; import { WorkflowItemDeleteComponent } from './app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component'; import { WorkflowItemSendBackComponent } from './app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component'; -import { BreadcrumbsComponent } from './app/breadcrumbs/breadcrumbs.component'; -import { FeedbackComponent } from './app/info/feedback/feedback.component'; -import { CommunityListComponent } from './app/community-list-page/community-list/community-list.component'; - -import { ComcolPageHandleComponent } from './app/shared/comcol-page-handle/comcol-page-handle.component'; -import { AuthNavMenuComponent } from './app/shared/auth-nav-menu/auth-nav-menu.component'; -import { - ExpandableNavbarSectionComponent, -} from './app/navbar/expandable-navbar-section/expandable-navbar-section.component'; -import { - EditItemTemplatePageComponent, -} from './app/collection-page/edit-item-template-page/edit-item-template-page.component'; -import { LoadingComponent } from './app/shared/loading/loading.component'; -import { SearchResultsComponent } from './app/shared/search/search-results/search-results.component'; -import { AdminSidebarComponent } from './app/admin/admin-sidebar/admin-sidebar.component'; -import { ComcolPageBrowseByComponent } from './app/shared/comcol-page-browse-by/comcol-page-browse-by.component'; -import { SearchSettingsComponent } from './app/shared/search/search-settings/search-settings.component'; -import { CommunityPageSubCommunityListComponent } from './app/community-page/sub-community-list/community-page-sub-community-list.component'; -import { CommunityPageSubCollectionListComponent } from './app/community-page/sub-collection-list/community-page-sub-collection-list.component'; -import { ObjectListComponent } from './app/shared/object-list/object-list.component'; - -import { BrowseByMetadataPageComponent } from './app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component'; -import { BrowseByDatePageComponent } from './app/browse-by/browse-by-date-page/browse-by-date-page.component'; -import { BrowseByTitlePageComponent } from './app/browse-by/browse-by-title-page/browse-by-title-page.component'; -import { BrowseByTaxonomyPageComponent } from './app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component'; -import { - ExternalSourceEntryImportModalComponent, -} from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; -import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; -import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; -import { ItemVersionsModule } from '../../app/item-page/versions/item-versions.module'; -import { ItemSharedModule } from '../../app/item-page/item-shared.module'; -import { SearchFiltersComponent } from './app/shared/search/search-filters/search-filters.component'; -import { SearchSidebarComponent } from './app/shared/search/search-sidebar/search-sidebar.component'; -import { MyDSpaceStatusBadgeComponent } from './app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component'; -import { TypeBadgeComponent } from './app/shared/object-collection/shared/badges/type-badge/type-badge.component'; -import { StatusBadgeComponent } from './app/shared/object-collection/shared/badges/status-badge/status-badge.component'; -import { BadgesComponent } from './app/shared/object-collection/shared/badges/badges.component'; -import { AccessStatusBadgeComponent } from './app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component'; -import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component'; -import { DsoEditMetadataComponent } from './app/dso-shared/dso-edit-metadata/dso-edit-metadata.component'; -import { DsoSharedModule } from '../../app/dso-shared/dso-shared.module'; -import { SystemWideAlertModule } from '../../app/system-wide-alert/system-wide-alert.module'; -import { DsoPageModule } from '../../app/shared/dso-page/dso-page.module'; -import { ItemAlertsComponent } from './app/item-page/alerts/item-alerts.component'; -import { - FullFileSectionComponent, -} from './app/item-page/full/field-components/file-section/full-file-section.component'; -import { MetadataRepresentationListComponent } from './app/item-page/simple/metadata-representation-list/metadata-representation-list.component'; -import { DsDynamicLookupRelationSearchTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; -import { DsDynamicLookupRelationExternalSourceTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; -import { FeedbackFormComponent } from './app/info/feedback/feedback-form/feedback-form.component'; -import { - ItemPageTitleFieldComponent, -} from './app/item-page/simple/field-components/specific-field/title/item-page-title-field.component'; -import { MediaViewerComponent } from './app/item-page/media-viewer/media-viewer.component'; -import { - MediaViewerImageComponent, -} from './app/item-page/media-viewer/media-viewer-image/media-viewer-image.component'; -import { - MediaViewerVideoComponent, -} from './app/item-page/media-viewer/media-viewer-video/media-viewer-video.component'; -import { NgxGalleryModule } from '@kolkov/ngx-gallery'; -import { - DenyRequestCopyComponent, -} from './app/request-copy/deny-request-copy/deny-request-copy.component'; -import { - EmailRequestCopyComponent, -} from './app/request-copy/email-request-copy/email-request-copy.component'; -import { - GrantRequestCopyComponent, -} from './app/request-copy/grant-request-copy/grant-request-copy.component'; import { WorkspaceItemsDeletePageComponent } from './app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component'; -import { ThumbnailComponent } from './app/thumbnail/thumbnail.component'; -import { SubmissionSectionUploadFileComponent } from './app/submission/sections/upload/file/section-upload-file.component'; -import { ItemStatusComponent } from './app/item-page/edit-item-page/item-status/item-status.component'; -import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component'; -import { FormModule } from '../../app/shared/form/form.module'; -import { RequestCopyModule } from 'src/app/request-copy/request-copy.module'; const DECLARATIONS = [ FileSectionComponent, diff --git a/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.ts b/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.ts index 57ade022ae..038273bfba 100644 --- a/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.ts +++ b/src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { HeaderNavbarWrapperComponent as BaseComponent } from '../../../../app/header-nav-wrapper/header-navbar-wrapper.component'; /** diff --git a/src/themes/dspace/app/header/header.component.ts b/src/themes/dspace/app/header/header.component.ts index 6da89b47d5..497bce4c43 100644 --- a/src/themes/dspace/app/header/header.component.ts +++ b/src/themes/dspace/app/header/header.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { HeaderComponent as BaseComponent } from '../../../../app/header/header.component'; /** diff --git a/src/themes/dspace/app/home-page/home-news/home-news.component.ts b/src/themes/dspace/app/home-page/home-news/home-news.component.ts index 6c24d69ee1..bccb4aa9cb 100644 --- a/src/themes/dspace/app/home-page/home-news/home-news.component.ts +++ b/src/themes/dspace/app/home-page/home-news/home-news.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { HomeNewsComponent as BaseComponent } from '../../../../../app/home-page/home-news/home-news.component'; @Component({ diff --git a/src/themes/dspace/app/navbar/navbar.component.ts b/src/themes/dspace/app/navbar/navbar.component.ts index b55f4cb323..506c146c6f 100644 --- a/src/themes/dspace/app/navbar/navbar.component.ts +++ b/src/themes/dspace/app/navbar/navbar.component.ts @@ -1,4 +1,5 @@ import { Component } from '@angular/core'; + import { NavbarComponent as BaseComponent } from '../../../../app/navbar/navbar.component'; import { slideMobileNav } from '../../../../app/shared/animations/slide'; diff --git a/src/themes/dspace/eager-theme.module.ts b/src/themes/dspace/eager-theme.module.ts index 1d0db423ad..758502160f 100644 --- a/src/themes/dspace/eager-theme.module.ts +++ b/src/themes/dspace/eager-theme.module.ts @@ -1,14 +1,15 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { SharedModule } from '../../app/shared/shared.module'; -import { HomeNewsComponent } from './app/home-page/home-news/home-news.component'; -import { NavbarComponent } from './app/navbar/navbar.component'; -import { HeaderComponent } from './app/header/header.component'; -import { HeaderNavbarWrapperComponent } from './app/header-nav-wrapper/header-navbar-wrapper.component'; -import { RootModule } from '../../app/root.module'; +import { NgModule } from '@angular/core'; + import { NavbarModule } from '../../app/navbar/navbar.module'; +import { RootModule } from '../../app/root.module'; import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; +import { SharedModule } from '../../app/shared/shared.module'; +import { HeaderComponent } from './app/header/header.component'; +import { HeaderNavbarWrapperComponent } from './app/header-nav-wrapper/header-navbar-wrapper.component'; +import { HomeNewsComponent } from './app/home-page/home-news/home-news.component'; +import { NavbarComponent } from './app/navbar/navbar.component'; /** * Add components that use a custom decorator to ENTRY_COMPONENTS as well as DECLARATIONS. diff --git a/src/themes/dspace/lazy-theme.module.ts b/src/themes/dspace/lazy-theme.module.ts index c37159667f..e0d895ed3a 100644 --- a/src/themes/dspace/lazy-theme.module.ts +++ b/src/themes/dspace/lazy-theme.module.ts @@ -1,65 +1,54 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { AdminRegistriesModule } from '../../app/admin/admin-registries/admin-registries.module'; -import { AdminSearchModule } from '../../app/admin/admin-search-page/admin-search.module'; -import { - AdminWorkflowModuleModule, -} from '../../app/admin/admin-workflow-page/admin-workflow.module'; -import { - BitstreamFormatsModule, -} from '../../app/admin/admin-registries/bitstream-formats/bitstream-formats.module'; -import { BrowseByModule } from '../../app/browse-by/browse-by.module'; -import { - CollectionFormModule, -} from '../../app/collection-page/collection-form/collection-form.module'; -import { CommunityFormModule } from '../../app/community-page/community-form/community-form.module'; -import { CoreModule } from '../../app/core/core.module'; import { DragDropModule } from '@angular/cdk/drag-drop'; -import { EditItemPageModule } from '../../app/item-page/edit-item-page/edit-item-page.module'; -import { FormsModule } from '@angular/forms'; +import { CommonModule } from '@angular/common'; import { HttpClientModule } from '@angular/common/http'; -import { IdlePreloadModule } from 'angular-idle-preload'; -import { - JournalEntitiesModule, -} from '../../app/entity-groups/journal-entities/journal-entities.module'; -import { MyDspaceSearchModule } from '../../app/my-dspace-page/my-dspace-search.module'; -import { MenuModule } from '../../app/shared/menu/menu.module'; -import { NavbarModule } from '../../app/navbar/navbar.module'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { StoreRouterConnectingModule } from '@ngrx/router-store'; +import { StoreModule } from '@ngrx/store'; +import { TranslateModule } from '@ngx-translate/core'; +import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; +import { IdlePreloadModule } from 'angular-idle-preload'; +import { ItemSharedModule } from 'src/app/item-page/item-shared.module'; + +import { AdminRegistriesModule } from '../../app/admin/admin-registries/admin-registries.module'; +import { BitstreamFormatsModule } from '../../app/admin/admin-registries/bitstream-formats/bitstream-formats.module'; +import { AdminSearchModule } from '../../app/admin/admin-search-page/admin-search.module'; +import { AdminWorkflowModuleModule } from '../../app/admin/admin-workflow-page/admin-workflow.module'; +import { AppModule } from '../../app/app.module'; +import { BrowseByModule } from '../../app/browse-by/browse-by.module'; +import { BrowseByPageModule } from '../../app/browse-by/browse-by-page.module'; +import { CollectionFormModule } from '../../app/collection-page/collection-form/collection-form.module'; +import { CollectionPageModule } from '../../app/collection-page/collection-page.module'; +import { CommunityListPageModule } from '../../app/community-list-page/community-list-page.module'; +import { CommunityFormModule } from '../../app/community-page/community-form/community-form.module'; +import { CommunityPageModule } from '../../app/community-page/community-page.module'; +import { CoreModule } from '../../app/core/core.module'; +import { JournalEntitiesModule } from '../../app/entity-groups/journal-entities/journal-entities.module'; +import { ResearchEntitiesModule } from '../../app/entity-groups/research-entities/research-entities.module'; +import { HomePageModule } from '../../app/home-page/home-page.module'; +import { InfoModule } from '../../app/info/info.module'; +import { EditItemPageModule } from '../../app/item-page/edit-item-page/edit-item-page.module'; +import { ItemPageModule } from '../../app/item-page/item-page.module'; +import { ItemVersionsModule } from '../../app/item-page/versions/item-versions.module'; +import { MyDSpacePageModule } from '../../app/my-dspace-page/my-dspace-page.module'; +import { MyDspaceSearchModule } from '../../app/my-dspace-page/my-dspace-search.module'; +import { NavbarModule } from '../../app/navbar/navbar.module'; import { ProfilePageModule } from '../../app/profile-page/profile-page.module'; import { RegisterEmailFormModule } from '../../app/register-email-form/register-email-form.module'; -import { - ResearchEntitiesModule, -} from '../../app/entity-groups/research-entities/research-entities.module'; -import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; +import { RootModule } from '../../app/root.module'; import { SearchPageModule } from '../../app/search-page/search-page.module'; +import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; +import { ComcolModule } from '../../app/shared/comcol/comcol.module'; +import { MenuModule } from '../../app/shared/menu/menu.module'; +import { ResourcePoliciesModule } from '../../app/shared/resource-policies/resource-policies.module'; +import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; +import { SearchModule } from '../../app/shared/search/search.module'; import { SharedModule } from '../../app/shared/shared.module'; import { StatisticsModule } from '../../app/statistics/statistics.module'; -import { StoreModule } from '@ngrx/store'; -import { StoreRouterConnectingModule } from '@ngrx/router-store'; -import { TranslateModule } from '@ngx-translate/core'; -import { HomePageModule } from '../../app/home-page/home-page.module'; -import { AppModule } from '../../app/app.module'; -import { ItemPageModule } from '../../app/item-page/item-page.module'; -import { RouterModule } from '@angular/router'; -import { CommunityListPageModule } from '../../app/community-list-page/community-list-page.module'; -import { InfoModule } from '../../app/info/info.module'; import { StatisticsPageModule } from '../../app/statistics-page/statistics-page.module'; -import { CommunityPageModule } from '../../app/community-page/community-page.module'; -import { CollectionPageModule } from '../../app/collection-page/collection-page.module'; import { SubmissionModule } from '../../app/submission/submission.module'; -import { MyDSpacePageModule } from '../../app/my-dspace-page/my-dspace-page.module'; -import { SearchModule } from '../../app/shared/search/search.module'; -import { - ResourcePoliciesModule, -} from '../../app/shared/resource-policies/resource-policies.module'; -import { ComcolModule } from '../../app/shared/comcol/comcol.module'; -import { RootModule } from '../../app/root.module'; -import { BrowseByPageModule } from '../../app/browse-by/browse-by-page.module'; -import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; -import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; -import { ItemVersionsModule } from '../../app/item-page/versions/item-versions.module'; -import { ItemSharedModule } from 'src/app/item-page/item-shared.module'; const DECLARATIONS = [ ]; diff --git a/src/themes/eager-themes.module.ts b/src/themes/eager-themes.module.ts index 4a46595f35..c4db7b582a 100644 --- a/src/themes/eager-themes.module.ts +++ b/src/themes/eager-themes.module.ts @@ -1,4 +1,5 @@ import { NgModule } from '@angular/core'; + import { EagerThemeModule as DSpaceEagerThemeModule } from './dspace/eager-theme.module'; // import { EagerThemeModule as CustomEagerThemeModule } from './custom/eager-theme.module';