Merge pull request #3242 from DSpace/backport-3048-to-dspace-8_x

[Port dspace-8_x] add import of missing Angular interfaces (squashed version)
This commit is contained in:
Tim Donohue
2024-08-09 08:58:34 -05:00
committed by GitHub
51 changed files with 179 additions and 90 deletions

View File

@@ -165,6 +165,7 @@
"@angular-eslint/no-output-native": "warn", "@angular-eslint/no-output-native": "warn",
"@angular-eslint/no-output-on-prefix": "warn", "@angular-eslint/no-output-on-prefix": "warn",
"@angular-eslint/no-conflicting-lifecycle": "warn", "@angular-eslint/no-conflicting-lifecycle": "warn",
"@angular-eslint/use-lifecycle-interface": "error",
"@typescript-eslint/no-inferrable-types":[ "@typescript-eslint/no-inferrable-types":[
"error", "error",

View File

@@ -4,7 +4,10 @@ import {
NgForOf, NgForOf,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnDestroy,
} from '@angular/core';
import { import {
Router, Router,
RouterLink, RouterLink,
@@ -60,7 +63,7 @@ import { MetadataSchemaFormComponent } from './metadata-schema-form/metadata-sch
* A component used for managing all existing metadata schemas within the repository. * A component used for managing all existing metadata schemas within the repository.
* The admin can create, edit or delete metadata schemas here. * The admin can create, edit or delete metadata schemas here.
*/ */
export class MetadataRegistryComponent { export class MetadataRegistryComponent implements OnDestroy {
/** /**
* A list of all the current metadata schemas within the repository * A list of all the current metadata schemas within the repository

View File

@@ -4,6 +4,7 @@ import {
} from '@angular/common'; } from '@angular/common';
import { import {
Component, Component,
OnInit,
ViewChild, ViewChild,
} from '@angular/core'; } from '@angular/core';
import { import {
@@ -40,7 +41,7 @@ import { FilteredCollections } from './filtered-collections.model';
], ],
standalone: true, standalone: true,
}) })
export class FilteredCollectionsComponent { export class FilteredCollectionsComponent implements OnInit {
queryForm: FormGroup; queryForm: FormGroup;
results: FilteredCollections = new FilteredCollections(); results: FilteredCollections = new FilteredCollections();

View File

@@ -5,6 +5,7 @@ import {
} from '@angular/common'; } from '@angular/common';
import { import {
Component, Component,
OnInit,
ViewChild, ViewChild,
} from '@angular/core'; } from '@angular/core';
import { import {
@@ -66,7 +67,7 @@ import { QueryPredicate } from './query-predicate.model';
], ],
standalone: true, standalone: true,
}) })
export class FilteredItemsComponent { export class FilteredItemsComponent implements OnInit {
collections: OptionVO[]; collections: OptionVO[];
presetQueries: PresetQuery[]; presetQueries: PresetQuery[];
@@ -90,7 +91,7 @@ export class FilteredItemsComponent {
private formBuilder: FormBuilder, private formBuilder: FormBuilder,
private restService: DspaceRestService) {} private restService: DspaceRestService) {}
ngOnInit() { ngOnInit(): void {
this.loadCollections(); this.loadCollections();
this.loadPresetQueries(); this.loadPresetQueries();
this.loadMetadataFields(); this.loadMetadataFields();

View File

@@ -1,4 +1,7 @@
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths'; import { getCollectionEditRoute } from '../../../../../collection-page/collection-page-routing-paths';
@@ -21,10 +24,10 @@ import { SearchResultGridElementComponent } from '../../../../../shared/object-g
/** /**
* The component for displaying a list element for a collection search result on the admin search page * The component for displaying a list element for a collection search result on the admin search page
*/ */
export class CollectionAdminSearchResultGridElementComponent extends SearchResultGridElementComponent<CollectionSearchResult, Collection> { export class CollectionAdminSearchResultGridElementComponent extends SearchResultGridElementComponent<CollectionSearchResult, Collection> implements OnInit {
editPath: string; editPath: string;
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.editPath = getCollectionEditRoute(this.dso.uuid); this.editPath = getCollectionEditRoute(this.dso.uuid);
} }

View File

@@ -1,4 +1,7 @@
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths'; import { getCommunityEditRoute } from '../../../../../community-page/community-page-routing-paths';
@@ -21,10 +24,10 @@ import { SearchResultGridElementComponent } from '../../../../../shared/object-g
/** /**
* The component for displaying a list element for a community search result on the admin search page * The component for displaying a list element for a community search result on the admin search page
*/ */
export class CommunityAdminSearchResultGridElementComponent extends SearchResultGridElementComponent<CommunitySearchResult, Community> { export class CommunityAdminSearchResultGridElementComponent extends SearchResultGridElementComponent<CommunitySearchResult, Community> implements OnInit {
editPath: string; editPath: string;
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.editPath = getCommunityEditRoute(this.dso.uuid); this.editPath = getCommunityEditRoute(this.dso.uuid);
} }

View File

@@ -1,4 +1,7 @@
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
@@ -22,10 +25,10 @@ import { SearchResultListElementComponent } from '../../../../../shared/object-l
/** /**
* The component for displaying a list element for a collection search result on the admin search page * The component for displaying a list element for a collection search result on the admin search page
*/ */
export class CollectionAdminSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> { export class CollectionAdminSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> implements OnInit {
editPath: string; editPath: string;
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.editPath = getCollectionEditRoute(this.dso.uuid); this.editPath = getCollectionEditRoute(this.dso.uuid);
} }

View File

@@ -1,4 +1,7 @@
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
@@ -22,10 +25,10 @@ import { SearchResultListElementComponent } from '../../../../../shared/object-l
/** /**
* The component for displaying a list element for a community search result on the admin search page * The component for displaying a list element for a community search result on the admin search page
*/ */
export class CommunityAdminSearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> { export class CommunityAdminSearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> implements OnInit {
editPath: string; editPath: string;
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.editPath = getCommunityEditRoute(this.dso.uuid); this.editPath = getCommunityEditRoute(this.dso.uuid);
} }

View File

@@ -1,5 +1,8 @@
import { AsyncPipe } from '@angular/common'; import { AsyncPipe } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -28,7 +31,7 @@ import { hasValue } from '../../../shared/empty.util';
], ],
standalone: true, standalone: true,
}) })
export class CollectionCurateComponent { export class CollectionCurateComponent implements OnInit {
dsoRD$: Observable<RemoteData<Collection>>; dsoRD$: Observable<RemoteData<Collection>>;
collectionName$: Observable<string>; collectionName$: Observable<string>;

View File

@@ -95,7 +95,7 @@ export class CollectionSourceControlsComponent implements OnInit, OnDestroy {
) { ) {
} }
ngOnInit() { ngOnInit(): void {
// ensure the contentSource gets updated after being set to stale // ensure the contentSource gets updated after being set to stale
this.contentSource$ = this.collectionService.findByHref(this.collection._links.self.href, false).pipe( this.contentSource$ = this.collectionService.findByHref(this.collection._links.self.href, false).pipe(
getAllSucceededRemoteDataPayload(), getAllSucceededRemoteDataPayload(),

View File

@@ -1,5 +1,8 @@
/* eslint-disable max-classes-per-file */ /* eslint-disable max-classes-per-file */
import { Injectable } from '@angular/core'; import {
Injectable,
OnDestroy,
} from '@angular/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { Duplicate } from '../../shared/object-list/duplicate-data/duplicate.model'; import { Duplicate } from '../../shared/object-list/duplicate-data/duplicate.model';
@@ -33,7 +36,8 @@ import { HALEndpointService } from '../shared/hal-endpoint.service';
* *
*/ */
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class SubmissionDuplicateDataService extends BaseDataService<Duplicate> implements SearchData<Duplicate> { export class SubmissionDuplicateDataService extends BaseDataService<Duplicate>
implements SearchData<Duplicate>, OnDestroy {
/** /**
* The ResponseParsingService constructor name * The ResponseParsingService constructor name

View File

@@ -7,6 +7,7 @@ import {
import { import {
Component, Component,
Inject, Inject,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
@@ -36,7 +37,7 @@ import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbn
/** /**
* The component for displaying a list element for an item search result of the type Person * The component for displaying a list element for an item search result of the type Person
*/ */
export class PersonSearchResultListElementComponent extends ItemSearchResultListElementComponent { export class PersonSearchResultListElementComponent extends ItemSearchResultListElementComponent implements OnInit {
public constructor( public constructor(
protected truncatableService: TruncatableService, protected truncatableService: TruncatableService,

View File

@@ -2,7 +2,10 @@ import {
AsyncPipe, AsyncPipe,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { import {
ActivatedRoute, ActivatedRoute,
Router, Router,
@@ -45,7 +48,7 @@ import { BrowserOnlyPipe } from '../../shared/utils/browser-only.pipe';
/** /**
* Component for a user to enter a new password for a forgot token. * Component for a user to enter a new password for a forgot token.
*/ */
export class ForgotPasswordFormComponent { export class ForgotPasswordFormComponent implements OnInit {
registration$: Observable<Registration>; registration$: Observable<Registration>;

View File

@@ -10,6 +10,7 @@ import {
Component, Component,
ElementRef, ElementRef,
Inject, Inject,
OnDestroy,
OnInit, OnInit,
PLATFORM_ID, PLATFORM_ID,
} from '@angular/core'; } from '@angular/core';
@@ -62,7 +63,7 @@ import { VarDirective } from '../../shared/utils/var.directive';
standalone: true, standalone: true,
imports: [VarDirective, NgIf, NgClass, NgFor, ListableObjectComponentLoaderComponent, ErrorComponent, ThemedLoadingComponent, AsyncPipe, TranslateModule], imports: [VarDirective, NgIf, NgClass, NgFor, ListableObjectComponentLoaderComponent, ErrorComponent, ThemedLoadingComponent, AsyncPipe, TranslateModule],
}) })
export class RecentItemListComponent implements OnInit { export class RecentItemListComponent implements OnInit, OnDestroy {
itemRD$: Observable<RemoteData<PaginatedList<Item>>>; itemRD$: Observable<RemoteData<PaginatedList<Item>>>;
paginationConfig: PaginationComponentOptions; paginationConfig: PaginationComponentOptions;
sortConfig: SortOptions; sortConfig: SortOptions;

View File

@@ -3,7 +3,10 @@ import {
NgForOf, NgForOf,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { import {
ActivatedRoute, ActivatedRoute,
Router, Router,
@@ -47,7 +50,7 @@ import { AbstractSimpleItemActionComponent } from '../simple-item-action/abstrac
/** /**
* Component responsible for rendering the Item Register DOI page * Component responsible for rendering the Item Register DOI page
*/ */
export class ItemRegisterDoiComponent extends AbstractSimpleItemActionComponent { export class ItemRegisterDoiComponent extends AbstractSimpleItemActionComponent implements OnInit {
protected messageKey = 'register-doi'; protected messageKey = 'register-doi';
doiToUpdateMessage = 'item.edit.' + this.messageKey + '.to-update'; doiToUpdateMessage = 'item.edit.' + this.messageKey + '.to-update';

View File

@@ -7,6 +7,7 @@ import {
import { import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
OnDestroy,
OnInit, OnInit,
} from '@angular/core'; } from '@angular/core';
import { import {
@@ -79,7 +80,7 @@ import { ItemOperation } from '../item-operation/itemOperation.model';
/** /**
* Component for displaying an item's status * Component for displaying an item's status
*/ */
export class ItemStatusComponent implements OnInit { export class ItemStatusComponent implements OnInit, OnDestroy {
/** /**
* The item to display the status for * The item to display the status for

View File

@@ -2,7 +2,10 @@ import {
AsyncPipe, AsyncPipe,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
@@ -28,7 +31,7 @@ import { ItemVersionsComponent } from '../../versions/item-versions.component';
/** /**
* Component for listing and managing an item's version history * Component for listing and managing an item's version history
*/ */
export class ItemVersionHistoryComponent { export class ItemVersionHistoryComponent implements OnInit {
/** /**
* The item to display the version history for * The item to display the version history for
*/ */

View File

@@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common';
import { import {
Component, Component,
Input, Input,
OnChanges,
OnDestroy, OnDestroy,
OnInit, OnInit,
SimpleChanges, SimpleChanges,
@@ -56,7 +57,7 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio
], ],
standalone: true, standalone: true,
}) })
export class OrcidQueueComponent implements OnInit, OnDestroy { export class OrcidQueueComponent implements OnInit, OnDestroy, OnChanges {
/** /**
* The item for which showing the orcid settings * The item for which showing the orcid settings

View File

@@ -10,6 +10,7 @@ import {
ElementRef, ElementRef,
Inject, Inject,
Input, Input,
OnInit,
PLATFORM_ID, PLATFORM_ID,
} from '@angular/core'; } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
@@ -43,7 +44,7 @@ import { AbstractIncrementalListComponent } from '../abstract-incremental-list/a
* This component is used for displaying relations between items * This component is used for displaying relations between items
* It expects a parent item and relationship type, as well as a label to display on top * It expects a parent item and relationship type, as well as a label to display on top
*/ */
export class RelatedItemsComponent extends AbstractIncrementalListComponent<Observable<RemoteData<PaginatedList<Item>>>> { export class RelatedItemsComponent extends AbstractIncrementalListComponent<Observable<RemoteData<PaginatedList<Item>>>> implements OnInit {
/** /**
* The parent of the list of related items to display * The parent of the list of related items to display

View File

@@ -6,6 +6,7 @@ import {
Component, Component,
EventEmitter, EventEmitter,
Input, Input,
OnDestroy,
OnInit, OnInit,
} from '@angular/core'; } from '@angular/core';
import { FormsModule } from '@angular/forms'; import { FormsModule } from '@angular/forms';
@@ -110,7 +111,7 @@ export interface QualityAssuranceEventData {
* Component to display a modal window for linking a project to an Quality Assurance event * Component to display a modal window for linking a project to an Quality Assurance event
* Shows information about the selected project and a selectable list. * Shows information about the selected project and a selectable list.
*/ */
export class ProjectEntryImportModalComponent implements OnInit { export class ProjectEntryImportModalComponent implements OnInit, OnDestroy {
/** /**
* The external source entry * The external source entry
*/ */

View File

@@ -5,7 +5,9 @@ import {
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { import {
AfterViewInit,
Component, Component,
OnDestroy,
OnInit, OnInit,
} from '@angular/core'; } from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
@@ -40,7 +42,7 @@ import { NotificationsStateService } from '../../notifications-state.service';
standalone: true, standalone: true,
imports: [AlertComponent, NgIf, ThemedLoadingComponent, PaginationComponent, NgFor, RouterLink, AsyncPipe, TranslateModule, DatePipe], imports: [AlertComponent, NgIf, ThemedLoadingComponent, PaginationComponent, NgFor, RouterLink, AsyncPipe, TranslateModule, DatePipe],
}) })
export class QualityAssuranceSourceComponent implements OnInit { export class QualityAssuranceSourceComponent implements OnDestroy, OnInit, AfterViewInit {
/** /**
* The pagination system configuration for HTML listing. * The pagination system configuration for HTML listing.

View File

@@ -6,6 +6,7 @@ import {
import { import {
Component, Component,
Input, Input,
OnDestroy,
OnInit, OnInit,
} from '@angular/core'; } from '@angular/core';
import { import {
@@ -50,7 +51,7 @@ import { SuggestionTargetsStateService } from '../suggestion-targets.state.servi
], ],
standalone: true, standalone: true,
}) })
export class PublicationClaimComponent implements OnInit { export class PublicationClaimComponent implements OnDestroy, OnInit {
/** /**
* The source for which to list targets * The source for which to list targets

View File

@@ -2,6 +2,7 @@ import { NgIf } from '@angular/common';
import { import {
Component, Component,
Input, Input,
OnInit,
Optional, Optional,
} from '@angular/core'; } from '@angular/core';
import { import {
@@ -27,7 +28,7 @@ import { ValueInputComponent } from '../value-input.component';
standalone: true, standalone: true,
imports: [FormsModule, NgIf, TranslateModule], imports: [FormsModule, NgIf, TranslateModule],
}) })
export class DateValueInputComponent extends ValueInputComponent<string> { export class DateValueInputComponent extends ValueInputComponent<string> implements OnInit {
/** /**
* The current value of the date string * The current value of the date string
*/ */
@@ -38,7 +39,7 @@ export class DateValueInputComponent extends ValueInputComponent<string> {
*/ */
@Input() initialValue; @Input() initialValue;
ngOnInit() { ngOnInit(): void {
this.value = this.initialValue; this.value = this.initialValue;
} }

View File

@@ -2,6 +2,7 @@ import { NgIf } from '@angular/common';
import { import {
Component, Component,
Input, Input,
OnInit,
Optional, Optional,
} from '@angular/core'; } from '@angular/core';
import { import {
@@ -27,7 +28,7 @@ import { ValueInputComponent } from '../value-input.component';
standalone: true, standalone: true,
imports: [FormsModule, NgIf, TranslateModule], imports: [FormsModule, NgIf, TranslateModule],
}) })
export class StringValueInputComponent extends ValueInputComponent<string> { export class StringValueInputComponent extends ValueInputComponent<string> implements OnInit {
/** /**
* The current value of the string * The current value of the string
*/ */
@@ -38,7 +39,7 @@ export class StringValueInputComponent extends ValueInputComponent<string> {
*/ */
@Input() initialValue; @Input() initialValue;
ngOnInit() { ngOnInit(): void {
this.value = this.initialValue; this.value = this.initialValue;
} }

View File

@@ -7,6 +7,7 @@ import {
EventEmitter, EventEmitter,
Input, Input,
OnChanges, OnChanges,
OnInit,
Optional, Optional,
Output, Output,
SimpleChanges, SimpleChanges,
@@ -39,7 +40,7 @@ import { ParameterSelectComponent } from './parameter-select/parameter-select.co
standalone: true, standalone: true,
imports: [NgIf, NgFor, ParameterSelectComponent, TranslateModule], imports: [NgIf, NgFor, ParameterSelectComponent, TranslateModule],
}) })
export class ProcessParametersComponent implements OnChanges { export class ProcessParametersComponent implements OnChanges, OnInit {
/** /**
* The currently selected script * The currently selected script
*/ */
@@ -59,7 +60,7 @@ export class ProcessParametersComponent implements OnChanges {
*/ */
parameterValues: ProcessParameter[]; parameterValues: ProcessParameter[];
ngOnInit() { ngOnInit(): void {
if (hasValue(this.initialParams)) { if (hasValue(this.initialParams)) {
this.parameterValues = this.initialParams; this.parameterValues = this.initialParams;
} }

View File

@@ -3,6 +3,7 @@ import {
Component, Component,
EventEmitter, EventEmitter,
Input, Input,
OnDestroy,
OnInit, OnInit,
Output, Output,
} from '@angular/core'; } from '@angular/core';
@@ -44,7 +45,7 @@ import { NotificationsService } from '../../shared/notifications/notifications.s
* Component for a user to edit their security information * Component for a user to edit their security information
* Displays a form containing a password field and a confirmation of the password * Displays a form containing a password field and a confirmation of the password
*/ */
export class ProfilePageSecurityFormComponent implements OnInit { export class ProfilePageSecurityFormComponent implements OnDestroy, OnInit {
/** /**
* Emits the validity of the password * Emits the validity of the password

View File

@@ -8,6 +8,7 @@ import {
Component, Component,
Inject, Inject,
Injector, Injector,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { import {
@@ -34,7 +35,7 @@ import { MenuService } from '../../../menu/menu.service';
standalone: true, standalone: true,
imports: [NgbDropdownModule, NgbTooltipModule, NgFor, NgIf, NgComponentOutlet, TranslateModule, AsyncPipe], imports: [NgbDropdownModule, NgbTooltipModule, NgFor, NgIf, NgComponentOutlet, TranslateModule, AsyncPipe],
}) })
export class DsoEditMenuExpandableSectionComponent extends MenuSectionComponent { export class DsoEditMenuExpandableSectionComponent extends MenuSectionComponent implements OnInit {
menuID: MenuID = MenuID.DSO_EDIT; menuID: MenuID = MenuID.DSO_EDIT;
itemModel; itemModel;

View File

@@ -1,6 +1,8 @@
import { import {
Component, Component,
Input, Input,
OnDestroy,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { Subscription } from 'rxjs'; import { Subscription } from 'rxjs';
@@ -15,7 +17,7 @@ import { AlertType } from '../alert/alert-type';
standalone: true, standalone: true,
imports: [AlertComponent], imports: [AlertComponent],
}) })
export class ErrorComponent { export class ErrorComponent implements OnDestroy, OnInit {
@Input() message = 'Error...'; @Input() message = 'Error...';
@@ -31,7 +33,7 @@ export class ErrorComponent {
} }
ngOnInit() { ngOnInit(): void {
if (this.message === undefined) { if (this.message === undefined) {
this.subscription = this.translate.get('error.default').subscribe((message: string) => { this.subscription = this.translate.get('error.default').subscribe((message: string) => {
this.message = message; this.message = message;
@@ -39,7 +41,7 @@ export class ErrorComponent {
} }
} }
ngOnDestroy() { ngOnDestroy(): void {
if (this.subscription !== undefined) { if (this.subscription !== undefined) {
this.subscription.unsubscribe(); this.subscription.unsubscribe();
} }

View File

@@ -6,11 +6,13 @@ import {
NgTemplateOutlet, NgTemplateOutlet,
} from '@angular/common'; } from '@angular/common';
import { import {
AfterViewInit,
ChangeDetectionStrategy, ChangeDetectionStrategy,
ChangeDetectorRef, ChangeDetectorRef,
Component, Component,
ComponentFactoryResolver, ComponentFactoryResolver,
ContentChildren, ContentChildren,
DoCheck,
EventEmitter, EventEmitter,
Inject, Inject,
Input, Input,
@@ -143,7 +145,8 @@ import { DsDynamicLookupRelationModalComponent } from './relation-lookup-modal/d
], ],
standalone: true, standalone: true,
}) })
export class DsDynamicFormControlContainerComponent extends DynamicFormControlContainerComponent implements OnInit, OnChanges, OnDestroy { export class DsDynamicFormControlContainerComponent extends DynamicFormControlContainerComponent
implements OnInit, OnChanges, OnDestroy, AfterViewInit, DoCheck {
@ContentChildren(DynamicTemplateDirective) contentTemplateList: QueryList<DynamicTemplateDirective>; @ContentChildren(DynamicTemplateDirective) contentTemplateList: QueryList<DynamicTemplateDirective>;
// eslint-disable-next-line @angular-eslint/no-input-rename // eslint-disable-next-line @angular-eslint/no-input-rename
@Input('templates') inputTemplateList: QueryList<DynamicTemplateDirective>; @Input('templates') inputTemplateList: QueryList<DynamicTemplateDirective>;

View File

@@ -9,6 +9,7 @@ import {
Component, Component,
EventEmitter, EventEmitter,
Input, Input,
OnDestroy,
OnInit, OnInit,
Output, Output,
ViewChild, ViewChild,
@@ -92,7 +93,7 @@ import { DynamicOneboxModel } from './dynamic-onebox.model';
], ],
standalone: true, standalone: true,
}) })
export class DsDynamicOneboxComponent extends DsDynamicVocabularyComponent implements OnInit { export class DsDynamicOneboxComponent extends DsDynamicVocabularyComponent implements OnDestroy, OnInit {
@Input() group: UntypedFormGroup; @Input() group: UntypedFormGroup;
@Input() model: DynamicOneboxModel; @Input() model: DynamicOneboxModel;

View File

@@ -6,6 +6,7 @@ import {
Component, Component,
EventEmitter, EventEmitter,
Input, Input,
OnInit,
Output, Output,
} from '@angular/core'; } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
@@ -59,7 +60,7 @@ import { SearchResult } from '../../../../../search/models/search-result.model';
/** /**
* Tab for inside the lookup model that represents the currently selected relationships * Tab for inside the lookup model that represents the currently selected relationships
*/ */
export class DsDynamicLookupRelationSelectionTabComponent { export class DsDynamicLookupRelationSelectionTabComponent implements OnInit {
/** /**
* A string that describes the type of relationship * A string that describes the type of relationship
*/ */
@@ -122,7 +123,7 @@ export class DsDynamicLookupRelationSelectionTabComponent {
/** /**
* Set up the selection and pagination on load * Set up the selection and pagination on load
*/ */
ngOnInit() { ngOnInit(): void {
this.resetRoute(); this.resetRoute();
this.selectionRD$ = this.searchConfigService.paginatedSearchOptions this.selectionRD$ = this.searchConfigService.paginatedSearchOptions
.pipe( .pipe(

View File

@@ -4,6 +4,7 @@ import {
Component, Component,
EventEmitter, EventEmitter,
Input, Input,
OnChanges,
OnInit, OnInit,
Output, Output,
SimpleChanges, SimpleChanges,
@@ -36,7 +37,7 @@ import { isEmpty } from '../../empty.util';
standalone: true, standalone: true,
}) })
export class NumberPickerComponent implements OnInit, ControlValueAccessor { export class NumberPickerComponent implements OnChanges, OnInit, ControlValueAccessor {
@Input() id: string; @Input() id: string;
@Input() step: number; @Input() step: number;
@Input() min: number; @Input() min: number;

View File

@@ -5,6 +5,8 @@ import {
import { import {
Component, Component,
Input, Input,
OnDestroy,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { import {
@@ -35,7 +37,7 @@ import { AccessStatusObject } from './access-status.model';
/** /**
* Component rendering the access status of an item as a badge * Component rendering the access status of an item as a badge
*/ */
export class AccessStatusBadgeComponent { export class AccessStatusBadgeComponent implements OnDestroy, OnInit {
@Input() object: DSpaceObject; @Input() object: DSpaceObject;
accessStatus$: Observable<string>; accessStatus$: Observable<string>;

View File

@@ -1,4 +1,7 @@
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { find } from 'rxjs/operators'; import { find } from 'rxjs/operators';
import { Context } from 'src/app/core/shared/context.model'; import { Context } from 'src/app/core/shared/context.model';
@@ -29,7 +32,7 @@ import { SearchResultDetailElementComponent } from '../search-result-detail-elem
}) })
@listableObjectComponent(WorkflowItemSearchResult, ViewMode.DetailedListElement) @listableObjectComponent(WorkflowItemSearchResult, ViewMode.DetailedListElement)
export class WorkflowItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent<WorkflowItemSearchResult, WorkflowItem> { export class WorkflowItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent<WorkflowItemSearchResult, WorkflowItem> implements OnInit {
/** /**
* The item object that belonging to the result object * The item object that belonging to the result object
@@ -51,7 +54,7 @@ export class WorkflowItemSearchResultDetailElementComponent extends SearchResult
/** /**
* Initialize all instance variables * Initialize all instance variables
*/ */
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.linkService.resolveLink(this.dso, followLink('item')); this.linkService.resolveLink(this.dso, followLink('item'));
this.initItem(this.dso.item as Observable<RemoteData<Item>>); this.initItem(this.dso.item as Observable<RemoteData<Item>>);

View File

@@ -1,4 +1,7 @@
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { find } from 'rxjs/operators'; import { find } from 'rxjs/operators';
@@ -29,7 +32,7 @@ import { SearchResultDetailElementComponent } from '../search-result-detail-elem
}) })
@listableObjectComponent(WorkspaceItemSearchResult, ViewMode.DetailedListElement) @listableObjectComponent(WorkspaceItemSearchResult, ViewMode.DetailedListElement)
export class WorkspaceItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent<WorkspaceItemSearchResult, WorkspaceItem> { export class WorkspaceItemSearchResultDetailElementComponent extends SearchResultDetailElementComponent<WorkspaceItemSearchResult, WorkspaceItem> implements OnInit {
/** /**
* The item object that belonging to the result object * The item object that belonging to the result object
@@ -51,7 +54,7 @@ export class WorkspaceItemSearchResultDetailElementComponent extends SearchResul
/** /**
* Initialize all instance variables * Initialize all instance variables
*/ */
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.linkService.resolveLink(this.dso, followLink('item')); this.linkService.resolveLink(this.dso, followLink('item'));
this.initItem(this.dso.item as Observable<RemoteData<Item>>); this.initItem(this.dso.item as Observable<RemoteData<Item>>);

View File

@@ -3,7 +3,10 @@ import {
NgFor, NgFor,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
@@ -35,7 +38,7 @@ import { SearchResultGridElementComponent } from '../../search-result-grid-eleme
/** /**
* The component for displaying a grid element for an item search result of the type Publication * The component for displaying a grid element for an item search result of the type Publication
*/ */
export class ItemSearchResultGridElementComponent extends SearchResultGridElementComponent<ItemSearchResult, Item> { export class ItemSearchResultGridElementComponent extends SearchResultGridElementComponent<ItemSearchResult, Item> implements OnInit {
/** /**
* Route to the item's page * Route to the item's page
*/ */

View File

@@ -5,6 +5,7 @@ import {
import { import {
Component, Component,
Input, Input,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -28,7 +29,7 @@ import { IdentifierData } from './identifier-data.model';
/** /**
* Component rendering an identifier, eg. DOI or handle * Component rendering an identifier, eg. DOI or handle
*/ */
export class IdentifierDataComponent { export class IdentifierDataComponent implements OnInit {
@Input() item: Item; @Input() item: Item;
identifiers$: Observable<IdentifierData>; identifiers$: Observable<IdentifierData>;

View File

@@ -5,6 +5,7 @@ import {
import { import {
Component, Component,
Inject, Inject,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -40,7 +41,7 @@ import { ThemedItemListPreviewComponent } from '../../item-list-preview/themed-i
imports: [NgIf, ThemedItemListPreviewComponent, AsyncPipe, TranslateModule, VarDirective], imports: [NgIf, ThemedItemListPreviewComponent, AsyncPipe, TranslateModule, VarDirective],
}) })
@listableObjectComponent(ClaimedApprovedTaskSearchResult, ViewMode.ListElement) @listableObjectComponent(ClaimedApprovedTaskSearchResult, ViewMode.ListElement)
export class ClaimedApprovedSearchResultListElementComponent extends SearchResultListElementComponent<ClaimedTaskSearchResult, ClaimedTask> { export class ClaimedApprovedSearchResultListElementComponent extends SearchResultListElementComponent<ClaimedTaskSearchResult, ClaimedTask> implements OnInit {
/** /**
* A boolean representing if to show submitter information * A boolean representing if to show submitter information
@@ -69,7 +70,7 @@ export class ClaimedApprovedSearchResultListElementComponent extends SearchResul
/** /**
* Initialize all instance variables * Initialize all instance variables
*/ */
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.linkService.resolveLinks(this.dso, this.linkService.resolveLinks(this.dso,
followLink('workflowitem', followLink('workflowitem',

View File

@@ -5,6 +5,7 @@ import {
import { import {
Component, Component,
Inject, Inject,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@@ -40,7 +41,7 @@ import { ThemedItemListPreviewComponent } from '../../item-list-preview/themed-i
imports: [NgIf, ThemedItemListPreviewComponent, AsyncPipe, TranslateModule, VarDirective], imports: [NgIf, ThemedItemListPreviewComponent, AsyncPipe, TranslateModule, VarDirective],
}) })
@listableObjectComponent(ClaimedDeclinedTaskSearchResult, ViewMode.ListElement) @listableObjectComponent(ClaimedDeclinedTaskSearchResult, ViewMode.ListElement)
export class ClaimedDeclinedSearchResultListElementComponent extends SearchResultListElementComponent<ClaimedTaskSearchResult, ClaimedTask> { export class ClaimedDeclinedSearchResultListElementComponent extends SearchResultListElementComponent<ClaimedTaskSearchResult, ClaimedTask> implements OnInit {
/** /**
* A boolean representing if to show submitter information * A boolean representing if to show submitter information
@@ -69,7 +70,7 @@ export class ClaimedDeclinedSearchResultListElementComponent extends SearchResul
/** /**
* Initialize all instance variables * Initialize all instance variables
*/ */
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.linkService.resolveLinks(this.dso, this.linkService.resolveLinks(this.dso,
followLink('workflowitem', followLink('workflowitem',

View File

@@ -6,6 +6,7 @@ import {
import { import {
Component, Component,
Inject, Inject,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { BehaviorSubject } from 'rxjs'; import { BehaviorSubject } from 'rxjs';
@@ -43,7 +44,7 @@ import { SearchResultListElementComponent } from '../../search-result-list-eleme
}) })
@listableObjectComponent(WorkflowItemSearchResult, ViewMode.ListElement) @listableObjectComponent(WorkflowItemSearchResult, ViewMode.ListElement)
export class WorkflowItemSearchResultListElementComponent extends SearchResultListElementComponent<WorkflowItemSearchResult, WorkflowItem> { export class WorkflowItemSearchResultListElementComponent extends SearchResultListElementComponent<WorkflowItemSearchResult, WorkflowItem> implements OnInit {
LinkTypes = CollectionElementLinkType; LinkTypes = CollectionElementLinkType;
ViewModes = ViewMode; ViewModes = ViewMode;
@@ -75,7 +76,7 @@ export class WorkflowItemSearchResultListElementComponent extends SearchResultLi
/** /**
* Initialize all instance variables * Initialize all instance variables
*/ */
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.deriveSearchResult(); this.deriveSearchResult();
this.showThumbnails = this.appConfig.browseBy.showThumbnails; this.showThumbnails = this.appConfig.browseBy.showThumbnails;

View File

@@ -6,6 +6,7 @@ import {
import { import {
Component, Component,
Inject, Inject,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { BehaviorSubject } from 'rxjs'; import { BehaviorSubject } from 'rxjs';
@@ -43,7 +44,7 @@ import { SearchResultListElementComponent } from '../../search-result-list-eleme
}) })
@listableObjectComponent(WorkspaceItemSearchResult, ViewMode.ListElement) @listableObjectComponent(WorkspaceItemSearchResult, ViewMode.ListElement)
export class WorkspaceItemSearchResultListElementComponent extends SearchResultListElementComponent<WorkspaceItemSearchResult, WorkspaceItem> { export class WorkspaceItemSearchResultListElementComponent extends SearchResultListElementComponent<WorkspaceItemSearchResult, WorkspaceItem> implements OnInit {
LinkTypes = CollectionElementLinkType; LinkTypes = CollectionElementLinkType;
ViewModes = ViewMode; ViewModes = ViewMode;
@@ -75,7 +76,7 @@ export class WorkspaceItemSearchResultListElementComponent extends SearchResult
/** /**
* Initialize all instance variables * Initialize all instance variables
*/ */
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.deriveSearchResult(); this.deriveSearchResult();
this.showThumbnails = this.appConfig.browseBy.showThumbnails; this.showThumbnails = this.appConfig.browseBy.showThumbnails;

View File

@@ -2,7 +2,10 @@ import {
NgClass, NgClass,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { Collection } from '../../../../core/shared/collection.model'; import { Collection } from '../../../../core/shared/collection.model';
@@ -23,7 +26,7 @@ import { SearchResultListElementComponent } from '../search-result-list-element.
* Component representing a collection search result in list view * Component representing a collection search result in list view
*/ */
@listableObjectComponent(CollectionSearchResult, ViewMode.ListElement) @listableObjectComponent(CollectionSearchResult, ViewMode.ListElement)
export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> { export class CollectionSearchResultListElementComponent extends SearchResultListElementComponent<CollectionSearchResult, Collection> implements OnInit {
/** /**
* Display thumbnails if required by configuration * Display thumbnails if required by configuration

View File

@@ -2,7 +2,10 @@ import {
NgClass, NgClass,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { Community } from '../../../../core/shared/community.model'; import { Community } from '../../../../core/shared/community.model';
@@ -23,13 +26,12 @@ import { SearchResultListElementComponent } from '../search-result-list-element.
* Component representing a community search result in list view * Component representing a community search result in list view
*/ */
@listableObjectComponent(CommunitySearchResult, ViewMode.ListElement) @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement)
export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> { export class CommunitySearchResultListElementComponent extends SearchResultListElementComponent<CommunitySearchResult, Community> implements OnInit {
/** /**
* Display thumbnails if required by configuration * Display thumbnails if required by configuration
*/ */
showThumbnails: boolean; showThumbnails: boolean;
ngOnInit(): void { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
this.showThumbnails = this.showThumbnails ?? this.appConfig.browseBy.showThumbnails; this.showThumbnails = this.showThumbnails ?? this.appConfig.browseBy.showThumbnails;

View File

@@ -4,7 +4,10 @@ import {
NgFor, NgFor,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { Item } from '../../../../../../core/shared/item.model'; import { Item } from '../../../../../../core/shared/item.model';
@@ -30,7 +33,7 @@ import { SearchResultListElementComponent } from '../../../search-result-list-el
/** /**
* The component for displaying a list element for an item search result of the type Publication * The component for displaying a list element for an item search result of the type Publication
*/ */
export class ItemSearchResultListElementComponent extends SearchResultListElementComponent<ItemSearchResult, Item> { export class ItemSearchResultListElementComponent extends SearchResultListElementComponent<ItemSearchResult, Item> implements OnInit {
/** /**
* Route to the item's page * Route to the item's page
*/ */

View File

@@ -3,7 +3,10 @@ import {
NgClass, NgClass,
NgIf, NgIf,
} from '@angular/common'; } from '@angular/common';
import { Component } from '@angular/core'; import {
Component,
OnInit,
} from '@angular/core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { import {
Observable, Observable,
@@ -41,7 +44,7 @@ import { SearchResultListElementComponent } from '../search-result-list-element/
* It displays the name of the parent, title and description of the object. All of which are customizable in the child * It displays the name of the parent, title and description of the object. All of which are customizable in the child
* component by overriding the relevant methods of this component * component by overriding the relevant methods of this component
*/ */
export class SidebarSearchListElementComponent<T extends SearchResult<K>, K extends DSpaceObject> extends SearchResultListElementComponent<T, K> { export class SidebarSearchListElementComponent<T extends SearchResult<K>, K extends DSpaceObject> extends SearchResultListElementComponent<T, K> implements OnInit {
/** /**
* Observable for the title of the parent object (displayed above the object's title) * Observable for the title of the parent object (displayed above the object's title)
*/ */

View File

@@ -7,6 +7,7 @@ import {
ElementRef, ElementRef,
EventEmitter, EventEmitter,
OnDestroy, OnDestroy,
OnInit,
Output, Output,
ViewChild, ViewChild,
} from '@angular/core'; } from '@angular/core';
@@ -65,7 +66,7 @@ export const compareArraysUsingFieldUuids = () =>
selector: 'ds-paginated-drag-drop-abstract', selector: 'ds-paginated-drag-drop-abstract',
template: '', template: '',
}) })
export abstract class AbstractPaginatedDragAndDropListComponent<T extends DSpaceObject> implements OnDestroy { export abstract class AbstractPaginatedDragAndDropListComponent<T extends DSpaceObject> implements OnInit, OnDestroy {
/** /**
* A view on the child pagination component * A view on the child pagination component
*/ */
@@ -142,7 +143,7 @@ export abstract class AbstractPaginatedDragAndDropListComponent<T extends DSpace
/** /**
* Initialize the observables * Initialize the observables
*/ */
ngOnInit() { ngOnInit(): void {
this.initializeObjectsRD(); this.initializeObjectsRD();
this.initializeURL(); this.initializeURL();
this.initializeUpdates(); this.initializeUpdates();

View File

@@ -1,12 +1,14 @@
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { HttpXsrfTokenExtractor } from '@angular/common/http'; import { HttpXsrfTokenExtractor } from '@angular/common/http';
import { import {
AfterViewInit,
ChangeDetectionStrategy, ChangeDetectionStrategy,
ChangeDetectorRef, ChangeDetectorRef,
Component, Component,
EventEmitter, EventEmitter,
HostListener, HostListener,
Input, Input,
OnInit,
Output, Output,
ViewEncapsulation, ViewEncapsulation,
} from '@angular/core'; } from '@angular/core';
@@ -42,7 +44,7 @@ import { UploaderProperties } from './uploader-properties.model';
standalone: true, standalone: true,
imports: [TranslateModule, FileUploadModule, CommonModule], imports: [TranslateModule, FileUploadModule, CommonModule],
}) })
export class UploaderComponent { export class UploaderComponent implements OnInit, AfterViewInit {
/** /**
* The message to show when drag files on the drop zone * The message to show when drag files on the drop zone
@@ -122,7 +124,7 @@ export class UploaderComponent {
/** /**
* Method provided by Angular. Invoked after the constructor. * Method provided by Angular. Invoked after the constructor.
*/ */
ngOnInit() { ngOnInit(): void {
this.uploaderId = 'ds-drag-and-drop-uploader' + uniqueId(); this.uploaderId = 'ds-drag-and-drop-uploader' + uniqueId();
this.checkConfig(this.uploadFilesOptions); this.checkConfig(this.uploadFilesOptions);
this.uploader = new FileUploader({ this.uploader = new FileUploader({
@@ -147,7 +149,7 @@ export class UploaderComponent {
} }
} }
ngAfterViewInit() { ngAfterViewInit(): void {
this.uploader.onAfterAddingAll = ((items) => { this.uploader.onAfterAddingAll = ((items) => {
this.onFileSelected.emit(items); this.onFileSelected.emit(items);
}); });

View File

@@ -5,6 +5,7 @@ import {
EventEmitter, EventEmitter,
Input, Input,
OnChanges, OnChanges,
OnDestroy,
OnInit, OnInit,
Output, Output,
SimpleChanges, SimpleChanges,
@@ -58,7 +59,7 @@ import { SubmissionService } from '../../submission.service';
ThemedCollectionDropdownComponent, ThemedCollectionDropdownComponent,
], ],
}) })
export class SubmissionFormCollectionComponent implements OnChanges, OnInit { export class SubmissionFormCollectionComponent implements OnDestroy, OnChanges, OnInit {
/** /**
* The current collection id this submission belonging to * The current collection id this submission belonging to

View File

@@ -3,6 +3,7 @@ import {
Component, Component,
Input, Input,
OnChanges, OnChanges,
OnDestroy,
} from '@angular/core'; } from '@angular/core';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { import {
@@ -43,7 +44,7 @@ import parseSectionErrors from '../../utils/parseSectionErrors';
], ],
standalone: true, standalone: true,
}) })
export class SubmissionUploadFilesComponent implements OnChanges { export class SubmissionUploadFilesComponent implements OnChanges, OnDestroy {
/** /**
* The collection id this submission belonging to * The collection id this submission belonging to

View File

@@ -7,6 +7,7 @@ import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
Inject, Inject,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { import {
TranslateModule, TranslateModule,
@@ -48,7 +49,7 @@ import { SectionsService } from '../sections.service';
standalone: true, standalone: true,
}) })
export class SubmissionSectionDuplicatesComponent extends SectionModelComponent { export class SubmissionSectionDuplicatesComponent extends SectionModelComponent implements OnInit {
protected readonly Metadata = Metadata; protected readonly Metadata = Metadata;
/** /**
* The Alert categories. * The Alert categories.

View File

@@ -7,6 +7,7 @@ import {
ChangeDetectionStrategy, ChangeDetectionStrategy,
Component, Component,
Inject, Inject,
OnInit,
} from '@angular/core'; } from '@angular/core';
import { import {
TranslateModule, TranslateModule,
@@ -47,7 +48,7 @@ import { SectionsService } from '../sections.service';
standalone: true, standalone: true,
}) })
export class SubmissionSectionIdentifiersComponent extends SectionModelComponent { export class SubmissionSectionIdentifiersComponent extends SectionModelComponent implements OnInit {
/** /**
* The Alert categories. * The Alert categories.
* @type {AlertType} * @type {AlertType}
@@ -76,7 +77,6 @@ export class SubmissionSectionIdentifiersComponent extends SectionModelComponent
/** /**
* Initialize instance variables. * Initialize instance variables.
* *
* @param {PaginationService} paginationService
* @param {TranslateService} translate * @param {TranslateService} translate
* @param {SectionsService} sectionService * @param {SectionsService} sectionService
* @param {SubmissionService} submissionService * @param {SubmissionService} submissionService
@@ -93,7 +93,7 @@ export class SubmissionSectionIdentifiersComponent extends SectionModelComponent
super(injectedCollectionId, injectedSectionData, injectedSubmissionId); super(injectedCollectionId, injectedSectionData, injectedSubmissionId);
} }
ngOnInit() { ngOnInit(): void {
super.ngOnInit(); super.ngOnInit();
} }