diff --git a/src/app/submission/submission.module.ts b/src/app/submission/submission.module.ts deleted file mode 100644 index 59305dd60e..0000000000 --- a/src/app/submission/submission.module.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { - NgbAccordionModule, - NgbCollapseModule, - NgbModalModule, -} from '@ng-bootstrap/ng-bootstrap'; -import { EffectsModule } from '@ngrx/effects'; -import { - Action, - StoreConfig, - StoreModule, -} from '@ngrx/store'; - -import { storeModuleConfig } from '../app.reducer'; -import { SubmissionAccessesConfigDataService } from '../core/config/submission-accesses-config-data.service'; -import { SubmissionUploadsConfigDataService } from '../core/config/submission-uploads-config-data.service'; -import { SubmissionEditComponent } from './edit/submission-edit.component'; -import { ThemedSubmissionEditComponent } from './edit/themed-submission-edit.component'; -import { SubmissionFormCollectionComponent } from './form/collection/submission-form-collection.component'; -import { SubmissionFormFooterComponent } from './form/footer/submission-form-footer.component'; -import { ThemedSubmissionFormFooterComponent } from './form/footer/themed-submission-form-footer.component'; -import { SubmissionFormSectionAddComponent } from './form/section-add/submission-form-section-add.component'; -import { SubmissionFormComponent } from './form/submission-form.component'; -import { SubmissionUploadFilesComponent } from './form/submission-upload-files/submission-upload-files.component'; -import { ThemedSubmissionFormComponent } from './form/themed-submission-form.component'; -import { SubmissionImportExternalCollectionComponent } from './import-external/import-external-collection/submission-import-external-collection.component'; -import { SubmissionImportExternalPreviewComponent } from './import-external/import-external-preview/submission-import-external-preview.component'; -import { SubmissionImportExternalSearchbarComponent } from './import-external/import-external-searchbar/submission-import-external-searchbar.component'; -import { SubmissionImportExternalComponent } from './import-external/submission-import-external.component'; -import { ThemedSubmissionImportExternalComponent } from './import-external/themed-submission-import-external.component'; -import { SubmissionSectionAccessesComponent } from './sections/accesses/section-accesses.component'; -import { SectionAccessesService } from './sections/accesses/section-accesses.service'; -import { SubmissionSectionCcLicensesComponent } from './sections/cc-license/submission-section-cc-licenses.component'; -import { SubmissionSectionContainerComponent } from './sections/container/section-container.component'; -import { ThemedSubmissionSectionContainerComponent } from './sections/container/themed-section-container.component'; -import { SubmissionSectionFormComponent } from './sections/form/section-form.component'; -import { SectionFormOperationsService } from './sections/form/section-form-operations.service'; -import { SubmissionSectionIdentifiersComponent } from './sections/identifiers/section-identifiers.component'; -import { SubmissionSectionLicenseComponent } from './sections/license/section-license.component'; -import { SectionsDirective } from './sections/sections.directive'; -import { SectionsService } from './sections/sections.service'; -import { ContentAccordionComponent } from './sections/sherpa-policies/content-accordion/content-accordion.component'; -import { MetadataInformationComponent } from './sections/sherpa-policies/metadata-information/metadata-information.component'; -import { PublicationInformationComponent } from './sections/sherpa-policies/publication-information/publication-information.component'; -import { PublisherPolicyComponent } from './sections/sherpa-policies/publisher-policy/publisher-policy.component'; -import { SubmissionSectionSherpaPoliciesComponent } from './sections/sherpa-policies/section-sherpa-policies.component'; -import { SubmissionSectionUploadAccessConditionsComponent } from './sections/upload/accessConditions/submission-section-upload-access-conditions.component'; -import { SubmissionSectionUploadFileEditComponent } from './sections/upload/file/edit/section-upload-file-edit.component'; -import { SubmissionSectionUploadFileComponent } from './sections/upload/file/section-upload-file.component'; -import { ThemedSubmissionSectionUploadFileComponent } from './sections/upload/file/themed-section-upload-file.component'; -import { SubmissionSectionUploadFileViewComponent } from './sections/upload/file/view/section-upload-file-view.component'; -import { SubmissionSectionUploadComponent } from './sections/upload/section-upload.component'; -import { SectionUploadService } from './sections/upload/section-upload.service'; -import { submissionEffects } from './submission.effects'; -import { - submissionReducers, - SubmissionState, -} from './submission.reducers'; -import { SubmissionSubmitComponent } from './submit/submission-submit.component'; -import { ThemedSubmissionSubmitComponent } from './submit/themed-submission-submit.component'; - -const ENTRY_COMPONENTS = [ - // put only entry components that use custom decorator - SubmissionSectionUploadComponent, - SubmissionSectionFormComponent, - SubmissionSectionLicenseComponent, - SubmissionSectionCcLicensesComponent, - SubmissionSectionAccessesComponent, - SubmissionSectionSherpaPoliciesComponent, -]; - -const DECLARATIONS = [ - ...ENTRY_COMPONENTS, - SectionsDirective, - SubmissionEditComponent, - ThemedSubmissionEditComponent, - SubmissionFormSectionAddComponent, - SubmissionFormCollectionComponent, - SubmissionFormComponent, - SubmissionFormFooterComponent, - SubmissionSubmitComponent, - ThemedSubmissionSubmitComponent, - SubmissionUploadFilesComponent, - SubmissionSectionContainerComponent, - SubmissionSectionUploadAccessConditionsComponent, - SubmissionSectionUploadFileComponent, - SubmissionSectionUploadFileEditComponent, - SubmissionSectionUploadFileViewComponent, - SubmissionSectionIdentifiersComponent, - SubmissionImportExternalComponent, - ThemedSubmissionImportExternalComponent, - SubmissionImportExternalSearchbarComponent, - SubmissionImportExternalPreviewComponent, - SubmissionImportExternalCollectionComponent, - ContentAccordionComponent, - PublisherPolicyComponent, - PublicationInformationComponent, - MetadataInformationComponent, - ThemedSubmissionSectionUploadFileComponent, - ThemedSubmissionSectionContainerComponent, - ThemedSubmissionFormFooterComponent, - ThemedSubmissionFormComponent, -]; - -@NgModule({ - imports: [ - CommonModule, - StoreModule.forFeature('submission', submissionReducers, storeModuleConfig as StoreConfig), - EffectsModule.forFeature(submissionEffects), - NgbModalModule, - NgbCollapseModule, - NgbAccordionModule, - ], - declarations: DECLARATIONS, - exports: [ - ...DECLARATIONS, - ], - providers: [ - SectionUploadService, - SectionsService, - SubmissionUploadsConfigDataService, - SubmissionAccessesConfigDataService, - SectionAccessesService, - SectionFormOperationsService, - ], -}) - -/** - * This module handles all components that are necessary for the submission process - */ -export class SubmissionModule { - /** - * NOTE: this method allows to resolve issue with components that using a custom decorator - * which are not loaded during SSR otherwise - */ - static withEntryComponents() { - return { - ngModule: SubmissionModule, - providers: ENTRY_COMPONENTS.map((component) => ({ provide: component })), - }; - } -} diff --git a/src/themes/custom/app/submission/form/footer/submission-form-footer.component.ts b/src/themes/custom/app/submission/form/footer/submission-form-footer.component.ts index c1deceecfa..350a6204f3 100644 --- a/src/themes/custom/app/submission/form/footer/submission-form-footer.component.ts +++ b/src/themes/custom/app/submission/form/footer/submission-form-footer.component.ts @@ -1,5 +1,9 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; +import { BtnDisabledDirective } from '../../../../../../app/shared/btn-disabled.directive'; +import { BrowserOnlyPipe } from '../../../../../../app/shared/utils/browser-only.pipe'; import { SubmissionFormFooterComponent as BaseComponent } from '../../../../../../app/submission/form/footer/submission-form-footer.component'; @Component({ @@ -9,6 +13,7 @@ import { SubmissionFormFooterComponent as BaseComponent } from '../../../../../. // templateUrl: './submission-form-footer.component.html' templateUrl: '../../../../../../app/submission/form/footer/submission-form-footer.component.html', standalone: true, + imports: [CommonModule, BrowserOnlyPipe, TranslateModule, BtnDisabledDirective], }) export class SubmissionFormFooterComponent extends BaseComponent { diff --git a/src/themes/custom/app/submission/form/submission-form.component.ts b/src/themes/custom/app/submission/form/submission-form.component.ts index 1c2cf07d09..d175b7b9c9 100644 --- a/src/themes/custom/app/submission/form/submission-form.component.ts +++ b/src/themes/custom/app/submission/form/submission-form.component.ts @@ -1,6 +1,13 @@ +import { CommonModule } from '@angular/common'; import { Component } from '@angular/core'; +import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; +import { SubmissionFormCollectionComponent } from '../../../../../app/submission/form/collection/submission-form-collection.component'; +import { ThemedSubmissionFormFooterComponent } from '../../../../../app/submission/form/footer/themed-submission-form-footer.component'; +import { SubmissionFormSectionAddComponent } from '../../../../../app/submission/form/section-add/submission-form-section-add.component'; import { SubmissionFormComponent as BaseComponent } from '../../../../../app/submission/form/submission-form.component'; +import { ThemedSubmissionUploadFilesComponent } from '../../../../../app/submission/form/submission-upload-files/themed-submission-upload-files.component'; +import { ThemedSubmissionSectionContainerComponent } from '../../../../../app/submission/sections/container/themed-section-container.component'; @Component({ selector: 'ds-themed-submission-form', @@ -9,6 +16,15 @@ import { SubmissionFormComponent as BaseComponent } from '../../../../../app/sub // templateUrl: './submission-form.component.html' templateUrl: '../../../../../app/submission/form/submission-form.component.html', standalone: true, + imports: [ + CommonModule, + ThemedLoadingComponent, + ThemedSubmissionSectionContainerComponent, + ThemedSubmissionFormFooterComponent, + ThemedSubmissionUploadFilesComponent, + SubmissionFormCollectionComponent, + SubmissionFormSectionAddComponent, + ], }) export class SubmissionFormComponent extends BaseComponent { diff --git a/src/themes/custom/app/submission/sections/container/section-container.component.ts b/src/themes/custom/app/submission/sections/container/section-container.component.ts index f24d679fb9..0dfe51946c 100644 --- a/src/themes/custom/app/submission/sections/container/section-container.component.ts +++ b/src/themes/custom/app/submission/sections/container/section-container.component.ts @@ -1,6 +1,15 @@ +import { + AsyncPipe, + NgClass, + NgComponentOutlet, +} from '@angular/common'; import { Component } from '@angular/core'; +import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { AlertComponent } from '../../../../../../app/shared/alert/alert.component'; import { SubmissionSectionContainerComponent as BaseComponent } from '../../../../../../app/submission/sections/container/section-container.component'; +import { SectionsDirective } from '../../../../../../app/submission/sections/sections.directive'; @Component({ selector: 'ds-themed-submission-upload-section-file', @@ -9,6 +18,15 @@ import { SubmissionSectionContainerComponent as BaseComponent } from '../../../. // templateUrl: './section-container.component.html' templateUrl: '../../../../../../app/submission/sections/container/section-container.component.html', standalone: true, + imports: [ + AlertComponent, + NgbAccordionModule, + NgComponentOutlet, + TranslateModule, + NgClass, + AsyncPipe, + SectionsDirective, + ], }) export class SubmissionSectionContainerComponent extends BaseComponent {