[DURACOM-191] fix item submission

This commit is contained in:
Andrea Barbasso
2024-01-12 15:52:35 +01:00
parent 6313d42937
commit 061ff519d7
8 changed files with 23 additions and 11 deletions

View File

@@ -36,6 +36,7 @@ import { metadataRepresentations } from './core/provide-metadata-representation'
import { renderStartsWith } from './core/provide-render-starts-with';
import { renderBrowseBy } from './core/provide-render-browse-by';
import { renderAuthMethod } from './core/provide-render-auth-method';
import { NgxMaskModule } from 'ngx-mask';
export function getConfig() {
return environment;
@@ -119,6 +120,7 @@ const PROVIDERS = [
imports: [
BrowserModule.withServerTransition({appId: 'dspace-angular'}),
...IMPORTS,
NgxMaskModule.forRoot(),
ThemedRootComponent
],
providers: [

View File

@@ -24,7 +24,7 @@ import { DYNAMIC_FORM_CONTROL_TYPE_RELATION_GROUP } from './ds-dynamic-form-cons
* Service to manage type binding for submission input fields
* Any form component with the typeBindRelations DynamicFormControlRelation property can be controlled this way
*/
@Injectable()
@Injectable({providedIn: 'root'})
export class DsDynamicTypeBindRelationService {
constructor(@Optional() @Inject(DYNAMIC_MATCHERS) private dynamicMatchers: DynamicFormControlMatcher[],

View File

@@ -30,7 +30,8 @@ import { DsDynamicFormControlContainerComponent } from '../../ds-dynamic-form-co
CdkDrag,
CdkDragHandle,
forwardRef(() => DsDynamicFormControlContainerComponent),
NgTemplateOutlet
NgTemplateOutlet,
DsDynamicFormControlContainerComponent
],
standalone: true
})
@@ -82,7 +83,7 @@ export class DsDynamicFormArrayComponent extends DynamicFormArrayComponent {
update(event: any, index: number) {
const $event = Object.assign({}, event, {
context: { index: index - 1}
context: {index: index - 1}
});
this.onChange($event);

View File

@@ -43,7 +43,7 @@
[type]="AlertTypeEnum.Error" (close)="sectionRef.removeError(i)"></ds-alert>
</div>
<div id="sectionContent_{{sectionData.id}}" (click)="sectionRef.setFocus($event)">
<ng-container *ngComponentOutlet="getSectionContent(); injector: objectInjector;"></ng-container>
<ng-container *ngComponentOutlet="(getSectionContent() | async); injector: objectInjector;"></ng-container>
</div>
</ng-template>
</ngb-panel>

View File

@@ -103,7 +103,7 @@ export class SubmissionSectionContainerComponent implements OnInit {
/**
* Find the correct component based on the section's type
*/
getSectionContent(): string {
getSectionContent() {
return rendersSectionType(this.sectionData.sectionType);
}
}

View File

@@ -30,7 +30,7 @@ import { DynamicRowArrayModel } from '../../../shared/form/builder/ds-dynamic-fo
/**
* The service handling all form section operations
*/
@Injectable()
@Injectable({providedIn: 'root'})
export class SectionFormOperationsService {
/**

View File

@@ -1,16 +1,25 @@
import { SectionsType } from './sections-type';
import { defer } from 'rxjs';
const submissionSectionsMap = new Map();
const submissionSectionsMap = {
[SectionsType.AccessesCondition]: defer(() => import('./accesses/section-accesses.component').then(m => m.SubmissionSectionAccessesComponent)),
[SectionsType.License]: defer(() => import('./license/section-license.component').then(m => m.SubmissionSectionLicenseComponent)),
[SectionsType.CcLicense]: defer(() => import('./cc-license/submission-section-cc-licenses.component').then(m => m.SubmissionSectionCcLicensesComponent)),
[SectionsType.SherpaPolicies]: defer(() => import('./sherpa-policies/section-sherpa-policies.component').then(m => m.SubmissionSectionSherpaPoliciesComponent)),
[SectionsType.Upload]: defer(() => import('./upload/file/section-upload-file.component').then(m => m.SubmissionSectionUploadFileComponent)),
[SectionsType.SubmissionForm]: defer(() => import('./form/section-form.component').then(m => m.SubmissionSectionFormComponent)),
[SectionsType.Identifiers]: defer(() => import('./identifiers/section-identifiers.component').then(m => m.SubmissionSectionIdentifiersComponent))
};
export function renderSectionFor(sectionType: SectionsType) {
return function decorator(objectElement: any) {
if (!objectElement) {
return;
}
submissionSectionsMap.set(sectionType, objectElement);
// submissionSectionsMap.set(sectionType, objectElement);
};
}
export function rendersSectionType(sectionType: SectionsType) {
return submissionSectionsMap.get(sectionType);
return submissionSectionsMap[sectionType];
}

View File

@@ -17,7 +17,7 @@ import { WorkspaceitemSectionUploadFileObject } from '../../../core/submission/m
/**
* A service that provides methods to handle submission's bitstream state.
*/
@Injectable()
@Injectable({providedIn: 'root'})
export class SectionUploadService {
/**