Skip to content
4 changes: 4 additions & 0 deletions src/app/submission/edit/submission-edit.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ describe('SubmissionEditComponent Component', () => {
});

afterEach(() => {
if (fixture) {
// Ensure Angular cleans up the component properly
fixture.destroy();
}
comp = null;
fixture = null;
router = null;
Expand Down
4 changes: 2 additions & 2 deletions src/app/submission/edit/submission-edit.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import {
isNotNull,
} from '../../shared/empty.util';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { SubmissionFormComponent } from '../form/submission-form.component';
import { ThemedSubmissionFormComponent } from '../form/themed-submission-form.component';
import { SubmissionError } from '../objects/submission-error.model';
import { SubmissionService } from '../submission.service';
import parseSectionErrors from '../utils/parseSectionErrors';
Expand All @@ -50,7 +50,7 @@ import parseSectionErrors from '../utils/parseSectionErrors';
templateUrl: './submission-edit.component.html',
standalone: true,
imports: [
SubmissionFormComponent,
ThemedSubmissionFormComponent,
],
})
export class SubmissionEditComponent implements OnDestroy, OnInit {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { SubmissionService } from '../../submission.service';
* This component represents submission form footer bar.
*/
@Component({
selector: 'ds-submission-form-footer',
selector: 'ds-base-submission-form-footer',
styleUrls: ['./submission-form-footer.component.scss'],
templateUrl: './submission-form-footer.component.html',
standalone: true,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import {
Component,
Input,
} from '@angular/core';

import { ThemedComponent } from '../../../shared/theme-support/themed.component';
import { SubmissionFormFooterComponent } from './submission-form-footer.component';

@Component({
selector: 'ds-submission-form-footer',
styleUrls: [],
templateUrl: '../../../shared/theme-support/themed.component.html',
standalone: true,
imports: [SubmissionFormFooterComponent],
})
export class ThemedSubmissionFormFooterComponent extends ThemedComponent<SubmissionFormFooterComponent> {
@Input() submissionId: string;

protected inAndOutputNames: (keyof SubmissionFormFooterComponent & keyof this)[] = ['submissionId'];

Check warning on line 19 in src/app/submission/form/footer/themed-submission-form-footer.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/form/footer/themed-submission-form-footer.component.ts#L19

Added line #L19 was not covered by tests

protected getComponentName(): string {
return 'SubmissionFormFooterComponent';

Check warning on line 22 in src/app/submission/form/footer/themed-submission-form-footer.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/form/footer/themed-submission-form-footer.component.ts#L22

Added line #L22 was not covered by tests
}

protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../themes/${themeName}/app/submission/form/footer/submission-form-footer.component`);

Check warning on line 26 in src/app/submission/form/footer/themed-submission-form-footer.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/form/footer/themed-submission-form-footer.component.ts#L26

Added line #L26 was not covered by tests
}

protected importUnthemedComponent(): Promise<any> {
return import(`./submission-form-footer.component`);

Check warning on line 30 in src/app/submission/form/footer/themed-submission-form-footer.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/form/footer/themed-submission-form-footer.component.ts#L30

Added line #L30 was not covered by tests
}

}
8 changes: 4 additions & 4 deletions src/app/submission/form/submission-form.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-servic
import { SubmissionServiceStub } from '../../shared/testing/submission-service.stub';
import { createTestComponent } from '../../shared/testing/utils.test';
import { ThemeService } from '../../shared/theme-support/theme.service';
import { SubmissionSectionContainerComponent } from '../sections/container/section-container.component';
import { ThemedSubmissionSectionContainerComponent } from '../sections/container/themed-section-container.component';
import { SectionsService } from '../sections/sections.service';
import { VisibilityType } from '../sections/visibility-type';
import { SubmissionService } from '../submission.service';
import { SubmissionFormCollectionComponent } from './collection/submission-form-collection.component';
import { SubmissionFormFooterComponent } from './footer/submission-form-footer.component';
import { ThemedSubmissionFormFooterComponent } from './footer/themed-submission-form-footer.component';
import { SubmissionFormSectionAddComponent } from './section-add/submission-form-section-add.component';
import { SubmissionFormComponent } from './submission-form.component';
import { ThemedSubmissionUploadFilesComponent } from './submission-upload-files/themed-submission-upload-files.component';
Expand Down Expand Up @@ -84,8 +84,8 @@ describe('SubmissionFormComponent Component', () => {
remove: {
imports: [
ThemedLoadingComponent,
SubmissionSectionContainerComponent,
SubmissionFormFooterComponent,
ThemedSubmissionSectionContainerComponent,
ThemedSubmissionFormFooterComponent,
ThemedSubmissionUploadFilesComponent,
SubmissionFormCollectionComponent,
SubmissionFormSectionAddComponent,
Expand Down
10 changes: 5 additions & 5 deletions src/app/submission/form/submission-form.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,29 +38,29 @@ import { UploaderOptions } from '../../shared/upload/uploader/uploader-options.m
import { SectionVisibility } from '../objects/section-visibility.model';
import { SubmissionError } from '../objects/submission-error.model';
import { SubmissionObjectEntry } from '../objects/submission-objects.reducer';
import { SubmissionSectionContainerComponent } from '../sections/container/section-container.component';
import { ThemedSubmissionSectionContainerComponent } from '../sections/container/themed-section-container.component';
import { SectionDataObject } from '../sections/models/section-data.model';
import { SectionsService } from '../sections/sections.service';
import { SectionsType } from '../sections/sections-type';
import { VisibilityType } from '../sections/visibility-type';
import { SubmissionService } from '../submission.service';
import { SubmissionFormCollectionComponent } from './collection/submission-form-collection.component';
import { SubmissionFormFooterComponent } from './footer/submission-form-footer.component';
import { ThemedSubmissionFormFooterComponent } from './footer/themed-submission-form-footer.component';
import { SubmissionFormSectionAddComponent } from './section-add/submission-form-section-add.component';
import { ThemedSubmissionUploadFilesComponent } from './submission-upload-files/themed-submission-upload-files.component';

/**
* This component represents the submission form.
*/
@Component({
selector: 'ds-submission-form',
selector: 'ds-base-submission-form',
styleUrls: ['./submission-form.component.scss'],
templateUrl: './submission-form.component.html',
imports: [
CommonModule,
ThemedLoadingComponent,
SubmissionSectionContainerComponent,
SubmissionFormFooterComponent,
ThemedSubmissionSectionContainerComponent,
ThemedSubmissionFormFooterComponent,
ThemedSubmissionUploadFilesComponent,
SubmissionFormCollectionComponent,
SubmissionFormSectionAddComponent,
Expand Down
50 changes: 50 additions & 0 deletions src/app/submission/form/themed-submission-form.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import {
Component,
Input,
} from '@angular/core';

import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model';
import { Item } from '../../core/shared/item.model';
import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model';
import { ThemedComponent } from '../../shared/theme-support/themed.component';
import { SubmissionError } from '../objects/submission-error.model';
import { SubmissionFormComponent } from './submission-form.component';

@Component({
selector: 'ds-submission-form',
styleUrls: [],
templateUrl: '../../shared/theme-support/themed.component.html',
standalone: true,
imports: [SubmissionFormComponent],
})
export class ThemedSubmissionFormComponent extends ThemedComponent<SubmissionFormComponent> {
@Input() collectionId: string;

@Input() item: Item;

@Input() collectionModifiable: boolean | null;

@Input() sections: WorkspaceitemSectionsObject;

@Input() submissionErrors: SubmissionError;

@Input() selfUrl: string;

@Input() submissionDefinition: SubmissionDefinitionsModel;

@Input() submissionId: string;

protected inAndOutputNames: (keyof SubmissionFormComponent & keyof this)[] = ['collectionId', 'item', 'collectionModifiable', 'sections', 'submissionErrors', 'selfUrl', 'submissionDefinition', 'submissionId'];

protected getComponentName(): string {
return 'SubmissionFormComponent';

Check warning on line 40 in src/app/submission/form/themed-submission-form.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/form/themed-submission-form.component.ts#L40

Added line #L40 was not covered by tests
}

protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../themes/${themeName}/app/submission/form/submission-form.component`);
}

protected importUnthemedComponent(): Promise<any> {
return import(`./submission-form.component`);

Check warning on line 48 in src/app/submission/form/themed-submission-form.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/form/themed-submission-form.component.ts#L48

Added line #L48 was not covered by tests
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import { rendersSectionType } from '../sections-decorator';
* This component represents a section that contains the submission license form.
*/
@Component({
selector: 'ds-submission-section-container',
selector: 'ds-base-submission-section-container',
templateUrl: './section-container.component.html',
styleUrls: ['./section-container.component.scss'],
imports: [
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import {
Component,
Input,
} from '@angular/core';

import { ThemedComponent } from '../../../shared/theme-support/themed.component';
import { SectionDataObject } from '../models/section-data.model';
import { SubmissionSectionContainerComponent } from './section-container.component';

@Component({
selector: 'ds-submission-section-container',
styleUrls: [],
templateUrl: '../../../shared/theme-support/themed.component.html',
standalone: true,
imports: [SubmissionSectionContainerComponent],
})
export class ThemedSubmissionSectionContainerComponent extends ThemedComponent<SubmissionSectionContainerComponent> {
@Input() collectionId: string;
@Input() sectionData: SectionDataObject;
@Input() submissionId: string;

protected inAndOutputNames: (keyof SubmissionSectionContainerComponent & keyof this)[] = ['collectionId', 'sectionData', 'submissionId'];

Check warning on line 22 in src/app/submission/sections/container/themed-section-container.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/sections/container/themed-section-container.component.ts#L22

Added line #L22 was not covered by tests

protected getComponentName(): string {
return 'SubmissionSectionContainerComponent';

Check warning on line 25 in src/app/submission/sections/container/themed-section-container.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/sections/container/themed-section-container.component.ts#L25

Added line #L25 was not covered by tests
}

protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../themes/${themeName}/app/submission/sections/container/section-container.component`);

Check warning on line 29 in src/app/submission/sections/container/themed-section-container.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/sections/container/themed-section-container.component.ts#L29

Added line #L29 was not covered by tests
}

protected importUnthemedComponent(): Promise<any> {
return import(`./section-container.component`);

Check warning on line 33 in src/app/submission/sections/container/themed-section-container.component.ts

View check run for this annotation

Codecov / codecov/patch

src/app/submission/sections/container/themed-section-container.component.ts#L33

Added line #L33 was not covered by tests
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Component } from '@angular/core';

import { SubmissionEditComponent as BaseComponent } from '../../../../../app/submission/edit/submission-edit.component';
import { SubmissionFormComponent } from '../../../../../app/submission/form/submission-form.component';
import { ThemedSubmissionFormComponent } from '../../../../../app/submission/form/themed-submission-form.component';

/**
* This component allows to edit an existing workspaceitem/workflowitem.
Expand All @@ -14,7 +14,7 @@ import { SubmissionFormComponent } from '../../../../../app/submission/form/subm
templateUrl: '../../../../../app/submission/edit/submission-edit.component.html',
standalone: true,
imports: [
SubmissionFormComponent,
ThemedSubmissionFormComponent,
],
})
export class SubmissionEditComponent extends BaseComponent {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
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({
selector: 'ds-themed-submission-form-footer',
// styleUrls: ['./submission-form-footer.component.scss'],
styleUrls: ['../../../../../../app/submission/form/footer/submission-form-footer.component.scss'],
// 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 {

}
Empty file.
Empty file.
31 changes: 31 additions & 0 deletions src/themes/custom/app/submission/form/submission-form.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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',
// styleUrls: ['./submission-form.component.scss'],
styleUrls: ['../../../../../app/submission/form/submission-form.component.scss'],
// 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 {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
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-base-submission-section-container',
// styleUrls: ['./section-container.component.scss'],
styleUrls: ['../../../../../../app/submission/sections/container/section-container.component.scss'],
// 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 {

}
7 changes: 6 additions & 1 deletion src/themes/custom/lazy-theme.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,16 +100,18 @@ import { CommunityStatisticsPageComponent } from './app/statistics-page/communit
import { ItemStatisticsPageComponent } from './app/statistics-page/item-statistics-page/item-statistics-page.component';
import { SiteStatisticsPageComponent } from './app/statistics-page/site-statistics-page/site-statistics-page.component';
import { SubmissionEditComponent } from './app/submission/edit/submission-edit.component';
import { SubmissionFormFooterComponent } from './app/submission/form/footer/submission-form-footer.component';
import { SubmissionFormComponent } from './app/submission/form/submission-form.component';
import { SubmissionUploadFilesComponent } from './app/submission/form/submission-upload-files/submission-upload-files.component';
import { SubmissionImportExternalComponent } from './app/submission/import-external/submission-import-external.component';
import { SubmissionSectionContainerComponent } from './app/submission/sections/container/section-container.component';
import { SubmissionSectionUploadFileComponent } from './app/submission/sections/upload/file/section-upload-file.component';
import { SubmissionSubmitComponent } from './app/submission/submit/submission-submit.component';
import { ThumbnailComponent } from './app/thumbnail/thumbnail.component';
import { WorkflowItemDeleteComponent } from './app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component';
import { WorkflowItemSendBackComponent } from './app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component';
import { WorkspaceItemsDeletePageComponent } from './app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component';


const DECLARATIONS = [
FileSectionComponent,
HomePageComponent,
Expand Down Expand Up @@ -204,6 +206,9 @@ const DECLARATIONS = [
AdminSearchPageComponent,
AdminWorkflowPageComponent,
SearchResultsSkeletonComponent,
SubmissionSectionContainerComponent,
SubmissionFormFooterComponent,
SubmissionFormComponent,
];

@NgModule({
Expand Down
Loading