126853: Themeable SubmissionSectionContainerComponent and SubmissionFormFooterComponent

This commit is contained in:
Kristof De Langhe
2025-02-20 14:14:03 +01:00
parent 404ccd9b0e
commit 858ec87f2f
11 changed files with 98 additions and 4 deletions

View File

@@ -0,0 +1,27 @@
import { ThemedComponent } from '../../../shared/theme-support/themed.component';
import { SubmissionFormFooterComponent } from './submission-form-footer.component';
import { Component, Input } from '@angular/core';
@Component({
selector: 'ds-themed-submission-form-footer',
styleUrls: [],
templateUrl: '../../../shared/theme-support/themed.component.html',
})
export class ThemedSubmissionFormFooterComponent extends ThemedComponent<SubmissionFormFooterComponent> {
@Input() submissionId: string;
protected inAndOutputNames: (keyof SubmissionFormFooterComponent & keyof this)[] = ['submissionId'];
protected getComponentName(): string {
return 'SubmissionFormFooterComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../themes/${themeName}/app/submission/form/footer/submission-form-footer.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import(`./submission-form-footer.component`);
}
}

View File

@@ -28,12 +28,12 @@
<div class="submission-form-content">
<ds-themed-loading *ngIf="(isLoading() | async)" message="Loading..."></ds-themed-loading>
<ng-container *ngFor="let object of (submissionSections | async)">
<ds-submission-section-container [collectionId]="collectionId"
[submissionId]="submissionId"
[sectionData]="object"></ds-submission-section-container>
<ds-themed-submission-section-container [collectionId]="collectionId"
[submissionId]="submissionId"
[sectionData]="object"></ds-themed-submission-section-container>
</ng-container>
</div>
<div *ngIf="!(isLoading() | async)" class="submission-form-footer mt-3 mb-3 position-sticky">
<ds-submission-form-footer [submissionId]="submissionId"></ds-submission-form-footer>
<ds-themed-submission-form-footer [submissionId]="submissionId"></ds-themed-submission-form-footer>
</div>
</div>

View File

@@ -0,0 +1,29 @@
import { ThemedComponent } from '../../../shared/theme-support/themed.component';
import { SubmissionSectionContainerComponent } from './section-container.component';
import { Component, Input } from '@angular/core';
import { SectionDataObject } from '../models/section-data.model';
@Component({
selector: 'ds-themed-submission-section-container',
styleUrls: [],
templateUrl: '../../../shared/theme-support/themed.component.html',
})
export class ThemedSubmissionSectionContainerComponent extends ThemedComponent<SubmissionSectionContainerComponent> {
@Input() collectionId: string;
@Input() sectionData: SectionDataObject;
@Input() submissionId: string;
protected inAndOutputNames: (keyof SubmissionSectionContainerComponent & keyof this)[] = ['collectionId', 'sectionData', 'submissionId'];
protected getComponentName(): string {
return 'SubmissionSectionContainerComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../themes/${themeName}/app/submission/sections/container/section-container.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import(`./section-container.component`);
}
}

View File

@@ -67,6 +67,8 @@ import {
} from './sections/sherpa-policies/metadata-information/metadata-information.component';
import { SectionFormOperationsService } from './sections/form/section-form-operations.service';
import {SubmissionSectionIdentifiersComponent} from './sections/identifiers/section-identifiers.component';
import { ThemedSubmissionSectionContainerComponent } from './sections/container/themed-section-container.component';
import { ThemedSubmissionFormFooterComponent } from './form/footer/themed-submission-form-footer.component';
const ENTRY_COMPONENTS = [
// put only entry components that use custom decorator
@@ -106,6 +108,8 @@ const DECLARATIONS = [
PublicationInformationComponent,
MetadataInformationComponent,
ThemedSubmissionSectionUploadFileComponent,
ThemedSubmissionSectionContainerComponent,
ThemedSubmissionFormFooterComponent,
];
@NgModule({

View File

@@ -0,0 +1,15 @@
import {
SubmissionFormFooterComponent as BaseComponent
} from '../../../../../../app/submission/form/footer/submission-form-footer.component';
import { Component } from '@angular/core';
@Component({
selector: 'ds-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'
})
export class SubmissionFormFooterComponent extends BaseComponent {
}

View File

@@ -0,0 +1,15 @@
import {
SubmissionSectionContainerComponent as BaseComponent
} from '../../../../../../app/submission/sections/container/section-container.component';
import { Component } from '@angular/core';
@Component({
selector: 'ds-submission-upload-section-file',
// 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'
})
export class SubmissionSectionContainerComponent extends BaseComponent {
}

View File

@@ -156,6 +156,8 @@ import { ItemStatusComponent } from './app/item-page/edit-item-page/item-status/
import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component';
import { FormModule } from '../../app/shared/form/form.module';
import { RequestCopyModule } from 'src/app/request-copy/request-copy.module';
import { SubmissionSectionContainerComponent } from './app/submission/sections/container/section-container.component';
import { SubmissionFormFooterComponent } from './app/submission/form/footer/submission-form-footer.component';
const DECLARATIONS = [
FileSectionComponent,
@@ -239,6 +241,8 @@ const DECLARATIONS = [
SubmissionSectionUploadFileComponent,
ItemStatusComponent,
EditBitstreamPageComponent,
SubmissionSectionContainerComponent,
SubmissionFormFooterComponent,
];
@NgModule({