From 29582d8d2eb5fe14ae6c76e9eda932e4dcf57523 Mon Sep 17 00:00:00 2001 From: nsemets Date: Fri, 19 Sep 2025 19:36:30 +0300 Subject: [PATCH 1/2] fix(registration): fixed bugs --- src/app/features/metadata/components/index.ts | 1 + .../metadata-registration-doi.component.html | 9 +++++++ ...etadata-registration-doi.component.spec.ts | 24 ++++++++++++++++++ .../metadata-registration-doi.component.ts | 20 +++++++++++++++ .../features/metadata/metadata.component.html | 2 ++ .../features/metadata/metadata.component.ts | 2 ++ .../contributors.component.spec.ts | 22 ---------------- ...ries-affiliated-institution.component.html | 0 ...ries-affiliated-institution.component.scss | 0 ...s-affiliated-institution.component.spec.ts | 0 ...stries-affiliated-institution.component.ts | 0 .../registries-contributors.component.html} | 0 .../registries-contributors.component.scss} | 0 .../registries-contributors.component.spec.ts | 22 ++++++++++++++++ .../registries-contributors.component.ts} | 8 +++--- .../registries-license.component.html | 0 .../registries-license.component.scss | 0 .../registries-license.component.spec.ts | 0 .../registries-license.component.ts | 0 .../registries-metadata-step.component.html} | 19 ++++++++------ .../registries-metadata-step.component.scss} | 0 ...egistries-metadata-step.component.spec.ts} | 19 +++++++------- .../registries-metadata-step.component.ts} | 25 +++++++++++-------- .../registries-subjects.component.html | 0 .../registries-subjects.component.scss | 0 .../registries-subjects.component.spec.ts | 0 .../registries-subjects.component.ts | 0 .../registries-tags.component.html | 0 .../registries-tags.component.scss | 0 .../registries-tags.component.spec.ts | 0 .../registries-tags.component.ts | 0 .../features/registries/registries.routes.ts | 4 ++- .../text-input/text-input.component.html | 4 +-- src/assets/i18n/en.json | 1 + 34 files changed, 126 insertions(+), 56 deletions(-) create mode 100644 src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.html create mode 100644 src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.spec.ts create mode 100644 src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.ts delete mode 100644 src/app/features/registries/components/metadata/contributors/contributors.component.spec.ts rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-affiliated-institution/registries-affiliated-institution.component.html (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-affiliated-institution/registries-affiliated-institution.component.scss (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-affiliated-institution/registries-affiliated-institution.component.spec.ts (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-affiliated-institution/registries-affiliated-institution.component.ts (100%) rename src/app/features/registries/components/{metadata/contributors/contributors.component.html => registries-metadata-step/registries-contributors/registries-contributors.component.html} (100%) rename src/app/features/registries/components/{metadata/contributors/contributors.component.scss => registries-metadata-step/registries-contributors/registries-contributors.component.scss} (100%) create mode 100644 src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.spec.ts rename src/app/features/registries/components/{metadata/contributors/contributors.component.ts => registries-metadata-step/registries-contributors/registries-contributors.component.ts} (96%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-license/registries-license.component.html (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-license/registries-license.component.scss (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-license/registries-license.component.spec.ts (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-license/registries-license.component.ts (100%) rename src/app/features/registries/components/{metadata/metadata.component.html => registries-metadata-step/registries-metadata-step.component.html} (87%) rename src/app/features/registries/components/{metadata/metadata.component.scss => registries-metadata-step/registries-metadata-step.component.scss} (100%) rename src/app/features/registries/components/{metadata/metadata.component.spec.ts => registries-metadata-step/registries-metadata-step.component.spec.ts} (85%) rename src/app/features/registries/components/{metadata/metadata.component.ts => registries-metadata-step/registries-metadata-step.component.ts} (89%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-subjects/registries-subjects.component.html (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-subjects/registries-subjects.component.scss (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-subjects/registries-subjects.component.spec.ts (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-subjects/registries-subjects.component.ts (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-tags/registries-tags.component.html (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-tags/registries-tags.component.scss (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-tags/registries-tags.component.spec.ts (100%) rename src/app/features/registries/components/{metadata => registries-metadata-step}/registries-tags/registries-tags.component.ts (100%) diff --git a/src/app/features/metadata/components/index.ts b/src/app/features/metadata/components/index.ts index 71d65fdb6..657c6797d 100644 --- a/src/app/features/metadata/components/index.ts +++ b/src/app/features/metadata/components/index.ts @@ -6,6 +6,7 @@ export { MetadataDescriptionComponent } from './metadata-description/metadata-de export { MetadataFundingComponent } from './metadata-funding/metadata-funding.component'; export { MetadataLicenseComponent } from './metadata-license/metadata-license.component'; export { MetadataPublicationDoiComponent } from './metadata-publication-doi/metadata-publication-doi.component'; +export { MetadataRegistrationDoiComponent } from './metadata-registration-doi/metadata-registration-doi.component'; export { MetadataResourceInformationComponent } from './metadata-resource-information/metadata-resource-information.component'; export { MetadataSubjectsComponent } from './metadata-subjects/metadata-subjects.component'; export { MetadataTagsComponent } from './metadata-tags/metadata-tags.component'; diff --git a/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.html b/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.html new file mode 100644 index 000000000..ef3915e5f --- /dev/null +++ b/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.html @@ -0,0 +1,9 @@ + +

{{ 'project.overview.metadata.registrationDOI' | translate }}

+ + +
diff --git a/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.spec.ts b/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.spec.ts new file mode 100644 index 000000000..a0e566427 --- /dev/null +++ b/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TranslateServiceMock } from '@osf/shared/mocks'; + +import { MetadataRegistrationDoiComponent } from './metadata-registration-doi.component'; + +describe('MetadataRegistrationDoiComponent', () => { + let component: MetadataRegistrationDoiComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [MetadataRegistrationDoiComponent], + providers: [TranslateServiceMock], + }).compileComponents(); + + fixture = TestBed.createComponent(MetadataRegistrationDoiComponent); + component = fixture.componentInstance; + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.ts b/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.ts new file mode 100644 index 000000000..3b06d0bdb --- /dev/null +++ b/src/app/features/metadata/components/metadata-registration-doi/metadata-registration-doi.component.ts @@ -0,0 +1,20 @@ +import { TranslatePipe } from '@ngx-translate/core'; + +import { Card } from 'primeng/card'; + +import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core'; + +import { Identifier } from '@osf/shared/models'; + +@Component({ + selector: 'osf-metadata-registration-doi', + imports: [Card, TranslatePipe], + templateUrl: './metadata-registration-doi.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class MetadataRegistrationDoiComponent { + identifiers = input([]); + doiHost = 'https://doi.org/'; + + registrationDoi = computed(() => (this.identifiers() ? this.doiHost + this.identifiers()[0]?.value : '')); +} diff --git a/src/app/features/metadata/metadata.component.html b/src/app/features/metadata/metadata.component.html index cefa5d1b1..2408e3d0f 100644 --- a/src/app/features/metadata/metadata.component.html +++ b/src/app/features/metadata/metadata.component.html @@ -60,6 +60,8 @@ [resourceType]="resourceType()" /> + + { - let component: ContributorsComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ContributorsComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(ContributorsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.html b/src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.html similarity index 100% rename from src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.html rename to src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.html diff --git a/src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.scss b/src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.scss similarity index 100% rename from src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.scss rename to src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.scss diff --git a/src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.spec.ts b/src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.spec.ts similarity index 100% rename from src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.spec.ts rename to src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.spec.ts diff --git a/src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.ts b/src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.ts similarity index 100% rename from src/app/features/registries/components/metadata/registries-affiliated-institution/registries-affiliated-institution.component.ts rename to src/app/features/registries/components/registries-metadata-step/registries-affiliated-institution/registries-affiliated-institution.component.ts diff --git a/src/app/features/registries/components/metadata/contributors/contributors.component.html b/src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.html similarity index 100% rename from src/app/features/registries/components/metadata/contributors/contributors.component.html rename to src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.html diff --git a/src/app/features/registries/components/metadata/contributors/contributors.component.scss b/src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.scss similarity index 100% rename from src/app/features/registries/components/metadata/contributors/contributors.component.scss rename to src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.scss diff --git a/src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.spec.ts b/src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.spec.ts new file mode 100644 index 000000000..aed784ee0 --- /dev/null +++ b/src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.spec.ts @@ -0,0 +1,22 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RegistriesContributorsComponent } from './registries-contributors.component'; + +describe('RegistriesContributorsComponent', () => { + let component: RegistriesContributorsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [RegistriesContributorsComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(RegistriesContributorsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/features/registries/components/metadata/contributors/contributors.component.ts b/src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.ts similarity index 96% rename from src/app/features/registries/components/metadata/contributors/contributors.component.ts rename to src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.ts index f985e3c61..0e7909018 100644 --- a/src/app/features/registries/components/metadata/contributors/contributors.component.ts +++ b/src/app/features/registries/components/registries-metadata-step/registries-contributors/registries-contributors.component.ts @@ -43,14 +43,14 @@ import { } from '@osf/shared/stores'; @Component({ - selector: 'osf-contributors', + selector: 'osf-registries-contributors', imports: [FormsModule, TableModule, ContributorsListComponent, TranslatePipe, Card, Button], - templateUrl: './contributors.component.html', - styleUrl: './contributors.component.scss', + templateUrl: './registries-contributors.component.html', + styleUrl: './registries-contributors.component.scss', changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService], }) -export class ContributorsComponent implements OnInit { +export class RegistriesContributorsComponent implements OnInit { control = input.required(); readonly destroyRef = inject(DestroyRef); diff --git a/src/app/features/registries/components/metadata/registries-license/registries-license.component.html b/src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.html similarity index 100% rename from src/app/features/registries/components/metadata/registries-license/registries-license.component.html rename to src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.html diff --git a/src/app/features/registries/components/metadata/registries-license/registries-license.component.scss b/src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.scss similarity index 100% rename from src/app/features/registries/components/metadata/registries-license/registries-license.component.scss rename to src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.scss diff --git a/src/app/features/registries/components/metadata/registries-license/registries-license.component.spec.ts b/src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.spec.ts similarity index 100% rename from src/app/features/registries/components/metadata/registries-license/registries-license.component.spec.ts rename to src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.spec.ts diff --git a/src/app/features/registries/components/metadata/registries-license/registries-license.component.ts b/src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.ts similarity index 100% rename from src/app/features/registries/components/metadata/registries-license/registries-license.component.ts rename to src/app/features/registries/components/registries-metadata-step/registries-license/registries-license.component.ts diff --git a/src/app/features/registries/components/metadata/metadata.component.html b/src/app/features/registries/components/registries-metadata-step/registries-metadata-step.component.html similarity index 87% rename from src/app/features/registries/components/metadata/metadata.component.html rename to src/app/features/registries/components/registries-metadata-step/registries-metadata-step.component.html index 75d6a4897..7f8aa61d1 100644 --- a/src/app/features/registries/components/metadata/metadata.component.html +++ b/src/app/features/registries/components/registries-metadata-step/registries-metadata-step.component.html @@ -3,28 +3,30 @@

{{ 'registries.metadata.title' | translate }}

{{ 'registries.metadata.description' | translate }}

+
+

{{ 'shared.title.description' | translate }}

- + +
+
+

{{ 'shared.description.message' | translate }}

+