diff --git a/src/app/features/preprints/components/submit-steps/metadata/metadata.component.html b/src/app/features/preprints/components/submit-steps/metadata/metadata.component.html
index 9c8bc9aac..682a46bb2 100644
--- a/src/app/features/preprints/components/submit-steps/metadata/metadata.component.html
+++ b/src/app/features/preprints/components/submit-steps/metadata/metadata.component.html
@@ -33,6 +33,16 @@
Publication DOI
+
+
+
Tags (optional)
+
+
+
+
+
+
+
Publication Date (optional)
@@ -69,7 +79,8 @@ Publication Citation (optional)
label="Next"
[pTooltip]="metadataForm.invalid ? 'Fill in \'Required\' fields to continue' : ''"
tooltipPosition="top"
- [disabled]="metadataForm.invalid"
+ [disabled]="metadataForm.invalid || !createdPreprint()?.licenseId"
+ [loading]="isUpdatingPreprint()"
(click)="nextButtonClicked()"
/>
diff --git a/src/app/features/preprints/components/submit-steps/metadata/metadata.component.ts b/src/app/features/preprints/components/submit-steps/metadata/metadata.component.ts
index 53f574891..c82bb1e9a 100644
--- a/src/app/features/preprints/components/submit-steps/metadata/metadata.component.ts
+++ b/src/app/features/preprints/components/submit-steps/metadata/metadata.component.ts
@@ -21,7 +21,7 @@ import {
SubmitPreprintSelectors,
UpdatePreprint,
} from '@osf/features/preprints/store/submit-preprint';
-import { IconComponent, LicenseComponent, TextInputComponent } from '@shared/components';
+import { IconComponent, LicenseComponent, TagsInputComponent, TextInputComponent } from '@shared/components';
import { INPUT_VALIDATION_MESSAGES } from '@shared/constants';
import { License, LicenseOptions } from '@shared/models';
import { CustomValidators, findChangedFields } from '@shared/utils';
@@ -43,6 +43,7 @@ import { ContributorsComponent } from './contributors/contributors.component';
TextInputComponent,
Tooltip,
LicenseComponent,
+ TagsInputComponent,
],
templateUrl: './metadata.component.html',
styleUrl: './metadata.component.scss',
@@ -62,6 +63,8 @@ export class MetadataComponent implements OnInit {
licences = select(SubmitPreprintSelectors.getLicenses);
createdPreprint = select(SubmitPreprintSelectors.getCreatedPreprint);
+ isUpdatingPreprint = select(SubmitPreprintSelectors.isPreprintSubmitting);
+
nextClicked = output();
ngOnInit() {
@@ -84,6 +87,10 @@ export class MetadataComponent implements OnInit {
nonNullable: false,
validators: [Validators.maxLength(this.inputLimits.citation.maxLength)],
}),
+ tags: new FormControl(this.createdPreprint()?.tags || [], {
+ nonNullable: true,
+ validators: [],
+ }),
});
}
@@ -116,4 +123,10 @@ export class MetadataComponent implements OnInit {
selectLicense(license: License) {
this.actions.saveLicense(license.id);
}
+
+ updateTags(updatedTags: string[]) {
+ this.metadataForm.patchValue({
+ tags: updatedTags,
+ });
+ }
}
diff --git a/src/app/features/preprints/models/submit-preprint-form.models.ts b/src/app/features/preprints/models/submit-preprint-form.models.ts
index 4c2a128db..d85d06705 100644
--- a/src/app/features/preprints/models/submit-preprint-form.models.ts
+++ b/src/app/features/preprints/models/submit-preprint-form.models.ts
@@ -11,4 +11,5 @@ export interface MetadataForm {
doi: FormControl;
originalPublicationDate: FormControl;
customPublicationCitation: FormControl;
+ tags: FormControl;
}
diff --git a/src/app/features/preprints/services/preprints.service.ts b/src/app/features/preprints/services/preprints.service.ts
index a5e146bd0..adc0e74b4 100644
--- a/src/app/features/preprints/services/preprints.service.ts
+++ b/src/app/features/preprints/services/preprints.service.ts
@@ -36,6 +36,7 @@ export class PreprintsService {
originalPublicationDate: 'original_publication_date',
doi: 'doi',
customPublicationCitation: 'custom_publication_citation',
+ tags: 'tags',
};
getPreprintProviderById(id: string): Observable {
diff --git a/src/app/features/preprints/store/submit-preprint/submit-preprint.state.ts b/src/app/features/preprints/store/submit-preprint/submit-preprint.state.ts
index 7addc2a61..10f98cf1c 100644
--- a/src/app/features/preprints/store/submit-preprint/submit-preprint.state.ts
+++ b/src/app/features/preprints/store/submit-preprint/submit-preprint.state.ts
@@ -42,7 +42,7 @@ import {
defaults: {
selectedProviderId: null,
createdPreprint: {
- data: { id: '6s4jg_v1' } as Preprint, // Temporary default value for testing
+ data: null,
isLoading: false,
error: null,
isSubmitting: false,