[DURACOM-191] fix standalone components

This commit is contained in:
Andrea Barbasso
2024-03-05 09:55:31 +01:00
parent 7b3571e606
commit 8bfb776eef
11 changed files with 91 additions and 41 deletions

View File

@@ -4,11 +4,15 @@ import { BrowseDefinition } from '../../core/shared/browse-definition.model';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { BrowseByDataType } from '../browse-by-switcher/browse-by-data-type'; import { BrowseByDataType } from '../browse-by-switcher/browse-by-data-type';
import { BrowseBySwitcherComponent } from '../browse-by-switcher/browse-by-switcher.component';
@Component({ @Component({
selector: 'ds-browse-by-page', selector: 'ds-browse-by-page',
templateUrl: './browse-by-page.component.html', templateUrl: './browse-by-page.component.html',
styleUrls: ['./browse-by-page.component.scss'], styleUrls: ['./browse-by-page.component.scss'],
imports: [
BrowseBySwitcherComponent
],
standalone: true standalone: true
}) })
export class BrowseByPageComponent implements OnInit { export class BrowseByPageComponent implements OnInit {

View File

@@ -1,7 +1,7 @@
import { Component, OnInit, OnChanges, OnDestroy, Input } from '@angular/core'; import { Component, Input, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model';
import { VocabularyEntryDetail } from '../../core/submission/vocabularies/models/vocabulary-entry-detail.model'; import { VocabularyEntryDetail } from '../../core/submission/vocabularies/models/vocabulary-entry-detail.model';
import { ActivatedRoute, RouterLink, Params } from '@angular/router'; import { ActivatedRoute, Params, RouterLink } from '@angular/router';
import { BehaviorSubject, Observable, Subscription } from 'rxjs'; import { BehaviorSubject, Observable, Subscription } from 'rxjs';
import { BrowseDefinition } from '../../core/shared/browse-definition.model'; import { BrowseDefinition } from '../../core/shared/browse-definition.model';
import { rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator'; import { rendersBrowseBy } from '../browse-by-switcher/browse-by-decorator';

View File

@@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router, RouterOutlet } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { filter, map, mergeMap, take } from 'rxjs/operators'; import { filter, map, mergeMap, take } from 'rxjs/operators';
import { SortOptions } from '../core/cache/models/sort-options.model'; import { SortOptions } from '../core/cache/models/sort-options.model';
@@ -16,7 +16,6 @@ import { FeatureID } from '../core/data/feature-authorization/feature-id';
import { getCollectionPageRoute } from './collection-page-routing-paths'; import { getCollectionPageRoute } from './collection-page-routing-paths';
import { redirectOn4xx } from '../core/shared/authorized.operators'; import { redirectOn4xx } from '../core/shared/authorized.operators';
import { DSONameService } from '../core/breadcrumbs/dso-name.service'; import { DSONameService } from '../core/breadcrumbs/dso-name.service';
import { APP_CONFIG, AppConfig } from '../../../src/config/app-config.interface';
import { ComcolPageContentComponent } from '../shared/comcol/comcol-page-content/comcol-page-content.component'; import { ComcolPageContentComponent } from '../shared/comcol/comcol-page-content/comcol-page-content.component';
import { ErrorComponent } from '../shared/error/error.component'; import { ErrorComponent } from '../shared/error/error.component';
import { AsyncPipe, NgIf } from '@angular/common'; import { AsyncPipe, NgIf } from '@angular/common';
@@ -58,7 +57,8 @@ import { ObjectCollectionComponent } from '../shared/object-collection/object-co
ThemedComcolPageHandleComponent, ThemedComcolPageHandleComponent,
DsoEditMenuComponent, DsoEditMenuComponent,
ThemedComcolPageBrowseByComponent, ThemedComcolPageBrowseByComponent,
ObjectCollectionComponent ObjectCollectionComponent,
RouterOutlet
], ],
standalone: true standalone: true
}) })

View File

@@ -1,6 +1,6 @@
import { mergeMap, filter, map } from 'rxjs/operators'; import { filter, map, mergeMap } from 'rxjs/operators';
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router, RouterOutlet } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { RemoteData } from '../core/data/remote-data'; import { RemoteData } from '../core/data/remote-data';
import { Bitstream } from '../core/shared/bitstream.model'; import { Bitstream } from '../core/shared/bitstream.model';
@@ -19,12 +19,6 @@ import { ErrorComponent } from '../shared/error/error.component';
import { ThemedLoadingComponent } from '../shared/loading/themed-loading.component'; import { ThemedLoadingComponent } from '../shared/loading/themed-loading.component';
import { AsyncPipe, NgIf } from '@angular/common'; import { AsyncPipe, NgIf } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
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 { import {
ThemedComcolPageBrowseByComponent ThemedComcolPageBrowseByComponent
} from '../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; } from '../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component';
@@ -36,6 +30,12 @@ import { ComcolPageLogoComponent } from '../shared/comcol/comcol-page-logo/comco
import { ComcolPageHeaderComponent } from '../shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageHeaderComponent } from '../shared/comcol/comcol-page-header/comcol-page-header.component';
import { ViewTrackerComponent } from '../statistics/angulartics/dspace/view-tracker.component'; import { ViewTrackerComponent } from '../statistics/angulartics/dspace/view-tracker.component';
import { VarDirective } from '../shared/utils/var.directive'; import { VarDirective } from '../shared/utils/var.directive';
import {
ThemedCollectionPageSubCollectionListComponent
} from './sections/sub-com-col-section/sub-collection-list/themed-community-page-sub-collection-list.component';
import {
ThemedCommunityPageSubCommunityListComponent
} from './sections/sub-com-col-section/sub-community-list/themed-community-page-sub-community-list.component';
@Component({ @Component({
selector: 'ds-community-page', selector: 'ds-community-page',
@@ -58,7 +58,8 @@ import { VarDirective } from '../shared/utils/var.directive';
ComcolPageHeaderComponent, ComcolPageHeaderComponent,
AsyncPipe, AsyncPipe,
ViewTrackerComponent, ViewTrackerComponent,
VarDirective VarDirective,
RouterOutlet
], ],
standalone: true standalone: true
}) })

View File

@@ -12,12 +12,12 @@ import { CollectionDataService } from '../../../../core/data/collection-data.ser
import { PaginationService } from '../../../../core/pagination/pagination.service'; import { PaginationService } from '../../../../core/pagination/pagination.service';
import { switchMap } from 'rxjs/operators'; import { switchMap } from 'rxjs/operators';
import { hasValue } from '../../../../shared/empty.util'; import { hasValue } from '../../../../shared/empty.util';
import { ObjectCollectionComponent } from '../../shared/object-collection/object-collection.component';
import { ErrorComponent } from '../../shared/error/error.component';
import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component';
import { AsyncPipe, NgIf } from '@angular/common'; import { AsyncPipe, NgIf } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { VarDirective } from '../../shared/utils/var.directive'; import { ObjectCollectionComponent } from '../../../../shared/object-collection/object-collection.component';
import { ErrorComponent } from '../../../../shared/error/error.component';
import { ThemedLoadingComponent } from '../../../../shared/loading/themed-loading.component';
import { VarDirective } from '../../../../shared/utils/var.directive';
@Component({ @Component({
selector: 'ds-community-page-sub-collection-list', selector: 'ds-community-page-sub-collection-list',

View File

@@ -13,12 +13,12 @@ import { CommunityDataService } from '../../../../core/data/community-data.servi
import { switchMap } from 'rxjs/operators'; import { switchMap } from 'rxjs/operators';
import { PaginationService } from '../../../../core/pagination/pagination.service'; import { PaginationService } from '../../../../core/pagination/pagination.service';
import { hasValue } from '../../../../shared/empty.util'; import { hasValue } from '../../../../shared/empty.util';
import { ErrorComponent } from '../../shared/error/error.component';
import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component';
import { VarDirective } from '../../shared/utils/var.directive';
import { AsyncPipe, NgIf } from '@angular/common'; import { AsyncPipe, NgIf } from '@angular/common';
import { ObjectCollectionComponent } from '../../shared/object-collection/object-collection.component';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { ObjectCollectionComponent } from '../../../../shared/object-collection/object-collection.component';
import { ErrorComponent } from '../../../../shared/error/error.component';
import { ThemedLoadingComponent } from '../../../../shared/loading/themed-loading.component';
import { VarDirective } from '../../../../shared/utils/var.directive';
@Component({ @Component({
selector: 'ds-community-page-sub-community-list', selector: 'ds-community-page-sub-community-list',
@@ -32,7 +32,11 @@ import { TranslateModule } from '@ngx-translate/core';
NgIf, NgIf,
ObjectCollectionComponent, ObjectCollectionComponent,
AsyncPipe, AsyncPipe,
TranslateModule TranslateModule,
ObjectCollectionComponent,
ErrorComponent,
ThemedLoadingComponent,
VarDirective
], ],
standalone: true standalone: true
}) })

View File

@@ -3,20 +3,20 @@ import { Subscription } from 'rxjs';
import { ProcessBulkDeleteService } from './process-bulk-delete.service'; import { ProcessBulkDeleteService } from './process-bulk-delete.service';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { hasValue } from '../../shared/empty.util'; import { hasValue } from '../../shared/empty.util';
import { DSONameService } from '../../core/breadcrumbs/dso-name.service';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { VarDirective } from '../../shared/utils/var.directive'; import { VarDirective } from '../../shared/utils/var.directive';
import { PaginationComponent } from '../../shared/pagination/pagination.component'; import { PaginationComponent } from '../../shared/pagination/pagination.component';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { NgIf, NgFor, AsyncPipe, DatePipe } from '@angular/common'; import { AsyncPipe, DatePipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
import { ProcessOverviewService, ProcessSortField } from './process-overview.service'; import { ProcessOverviewService, ProcessSortField } from './process-overview.service';
import { ProcessStatus } from '../processes/process-status.model'; import { ProcessStatus } from '../processes/process-status.model';
import { ProcessOverviewTableComponent } from './table/process-overview-table.component';
@Component({ @Component({
selector: 'ds-process-overview', selector: 'ds-process-overview',
templateUrl: './process-overview.component.html', templateUrl: './process-overview.component.html',
standalone: true, standalone: true,
imports: [NgIf, RouterLink, PaginationComponent, NgFor, VarDirective, AsyncPipe, DatePipe, TranslateModule] imports: [NgIf, RouterLink, PaginationComponent, NgFor, VarDirective, AsyncPipe, DatePipe, TranslateModule, NgTemplateOutlet, ProcessOverviewTableComponent]
}) })
/** /**
* Component displaying a list of all processes in a paginated table * Component displaying a list of all processes in a paginated table

View File

@@ -20,11 +20,16 @@ import { EPerson } from '../../../core/eperson/models/eperson.model';
import { PaginationService } from 'src/app/core/pagination/pagination.service'; import { PaginationService } from 'src/app/core/pagination/pagination.service';
import { FindListOptions } from '../../../core/data/find-list-options.model'; import { FindListOptions } from '../../../core/data/find-list-options.model';
import { redirectOn4xx } from '../../../core/shared/authorized.operators'; import { redirectOn4xx } from '../../../core/shared/authorized.operators';
import { Router } from '@angular/router'; import { Router, RouterLink } from '@angular/router';
import { AuthService } from '../../../core/auth/auth.service'; import { AuthService } from '../../../core/auth/auth.service';
import { isPlatformBrowser } from '@angular/common'; import { AsyncPipe, isPlatformBrowser, NgClass, NgForOf, NgIf } from '@angular/common';
import { RouteService } from '../../../core/services/route.service'; import { RouteService } from '../../../core/services/route.service';
import { hasValue } from '../../../shared/empty.util'; import { hasValue } from '../../../shared/empty.util';
import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
import { TranslateModule } from '@ngx-translate/core';
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
import { ThemedLoadingComponent } from '../../../shared/loading/themed-loading.component';
import { VarDirective } from '../../../shared/utils/var.directive';
const NEW_PROCESS_PARAM = 'new_process_id'; const NEW_PROCESS_PARAM = 'new_process_id';
@@ -41,7 +46,20 @@ export interface ProcessOverviewTableEntry {
@Component({ @Component({
selector: 'ds-process-overview-table', selector: 'ds-process-overview-table',
styleUrls: ['./process-overview-table.component.scss'], styleUrls: ['./process-overview-table.component.scss'],
templateUrl: './process-overview-table.component.html' templateUrl: './process-overview-table.component.html',
standalone: true,
imports: [
NgClass,
NgbCollapseModule,
AsyncPipe,
TranslateModule,
PaginationComponent,
RouterLink,
NgForOf,
NgIf,
ThemedLoadingComponent,
VarDirective
]
}) })
export class ProcessOverviewTableComponent implements OnInit, OnDestroy { export class ProcessOverviewTableComponent implements OnInit, OnDestroy {

View File

@@ -3,11 +3,21 @@ import { ModalBeforeDismiss } from '../interfaces/modal-before-dismiss.interface
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { BehaviorSubject } from 'rxjs'; import { BehaviorSubject } from 'rxjs';
import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service'; import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service';
import { TranslateModule } from '@ngx-translate/core';
import { LoadingComponent } from '../loading/loading.component';
import { FormsModule } from '@angular/forms';
import { AsyncPipe } from '@angular/common';
@Component({ @Component({
selector: 'ds-item-withdrawn-reinstate-modal', selector: 'ds-item-withdrawn-reinstate-modal',
templateUrl: './item-withdrawn-reinstate-modal.component.html', templateUrl: './item-withdrawn-reinstate-modal.component.html',
styleUrls: ['./item-withdrawn-reinstate-modal.component.scss'], styleUrls: ['./item-withdrawn-reinstate-modal.component.scss'],
imports: [
TranslateModule,
LoadingComponent,
FormsModule,
AsyncPipe
],
standalone: true standalone: true
}) })
/** /**

View File

@@ -1,17 +1,29 @@
import { Component, Inject, Input, OnInit } from '@angular/core'; import { Component, Inject, Input, OnInit } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { slide } from '../../animations/slide'; import { slide } from '../../animations/slide';
import { FormBuilder } from '@angular/forms'; import { FormBuilder, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { SearchService } from '../../../core/shared/search/search.service'; import { SearchService } from '../../../core/shared/search/search.service';
import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service'; import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service';
import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; import { APP_CONFIG, AppConfig } from 'src/config/app-config.interface';
import { AppConfig, APP_CONFIG } from 'src/config/app-config.interface'; import { LowerCasePipe, NgClass, NgForOf } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { BrowserOnlyPipe } from '../../utils/browser-only.pipe';
import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-configuration.service';
@Component({ @Component({
selector: 'ds-advanced-search', selector: 'ds-advanced-search',
templateUrl: './advanced-search.component.html', templateUrl: './advanced-search.component.html',
styleUrls: ['./advanced-search.component.scss'], styleUrls: ['./advanced-search.component.scss'],
animations: [slide], animations: [slide],
imports: [
NgClass,
TranslateModule,
ReactiveFormsModule,
BrowserOnlyPipe,
LowerCasePipe,
NgForOf
],
standalone: true
}) })
/** /**
* This component represents the part of the search sidebar that contains advanced filters. * This component represents the part of the search sidebar that contains advanced filters.

View File

@@ -16,13 +16,14 @@ import { SearchFilterComponent } from './search-filter/search-filter.component';
import { NgIf, NgFor, AsyncPipe } from '@angular/common'; import { NgIf, NgFor, AsyncPipe } from '@angular/common';
import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-configuration.service'; import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-configuration.service';
import { PaginatedSearchOptions } from '../models/paginated-search-options.model'; import { PaginatedSearchOptions } from '../models/paginated-search-options.model';
import { AdvancedSearchComponent } from '../advanced-search/advanced-search.component';
@Component({ @Component({
selector: 'ds-search-filters', selector: 'ds-search-filters',
styleUrls: ['./search-filters.component.scss'], styleUrls: ['./search-filters.component.scss'],
templateUrl: './search-filters.component.html', templateUrl: './search-filters.component.html',
standalone: true, standalone: true,
imports: [NgIf, NgFor, SearchFilterComponent, RouterLink, AsyncPipe, TranslateModule] imports: [NgIf, NgFor, SearchFilterComponent, RouterLink, AsyncPipe, TranslateModule, AdvancedSearchComponent]
}) })
/** /**