mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-10 11:33:04 +00:00
added workspace item to fieldparsers
This commit is contained in:
@@ -15,7 +15,10 @@ import { hasValue, isNotEmpty, isUndefined } from '../../../shared/empty.util';
|
||||
import { ConfigData } from '../../../core/config/config-data';
|
||||
import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner';
|
||||
import { SubmissionFormsModel } from '../../../core/config/models/config-submission-forms.model';
|
||||
import { SubmissionSectionError, SubmissionSectionObject } from '../../objects/submission-objects.reducer';
|
||||
import {
|
||||
SubmissionSectionError,
|
||||
SubmissionSectionObject
|
||||
} from '../../objects/submission-objects.reducer';
|
||||
import { FormFieldPreviousValueObject } from '../../../shared/form/builder/models/form-field-previous-value-object';
|
||||
import { GLOBAL_CONFIG } from '../../../../config';
|
||||
import { GlobalConfig } from '../../../../config/global-config.interface';
|
||||
@@ -28,6 +31,11 @@ import { NotificationsService } from '../../../shared/notifications/notification
|
||||
import { SectionsService } from '../sections.service';
|
||||
import { difference } from '../../../shared/object.util';
|
||||
import { WorkspaceitemSectionFormObject } from '../../../core/submission/models/workspaceitem-section-form.model';
|
||||
import { Workspaceitem } from '../../../core/submission/models/workspaceitem.model';
|
||||
import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service';
|
||||
import { combineLatest as combineLatestObservable } from 'rxjs';
|
||||
import { getSucceededRemoteData } from '../../../core/shared/operators';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
|
||||
/**
|
||||
* This component represents a section that contains a Form.
|
||||
@@ -94,6 +102,7 @@ export class SubmissionSectionformComponent extends SectionModelComponent {
|
||||
*/
|
||||
protected subs: Subscription[] = [];
|
||||
|
||||
protected workspaceItem;
|
||||
/**
|
||||
* The FormComponent reference
|
||||
*/
|
||||
@@ -125,6 +134,7 @@ export class SubmissionSectionformComponent extends SectionModelComponent {
|
||||
protected sectionService: SectionsService,
|
||||
protected submissionService: SubmissionService,
|
||||
protected translate: TranslateService,
|
||||
protected workspaceItemDataService: WorkspaceitemDataService,
|
||||
@Inject(GLOBAL_CONFIG) protected EnvConfig: GlobalConfig,
|
||||
@Inject('collectionIdProvider') public injectedCollectionId: string,
|
||||
@Inject('sectionDataProvider') public injectedSectionData: SectionDataObject,
|
||||
@@ -138,16 +148,20 @@ export class SubmissionSectionformComponent extends SectionModelComponent {
|
||||
onSectionInit() {
|
||||
this.pathCombiner = new JsonPatchOperationPathCombiner('sections', this.sectionData.id);
|
||||
this.formId = this.formService.getUniqueId(this.sectionData.id);
|
||||
|
||||
this.formConfigService.getConfigByHref(this.sectionData.config).pipe(
|
||||
map((configData: ConfigData) => configData.payload),
|
||||
tap((config: SubmissionFormsModel) => this.formConfig = config),
|
||||
flatMap(() => this.sectionService.getSectionData(this.submissionId, this.sectionData.id)),
|
||||
flatMap(() =>
|
||||
combineLatestObservable(
|
||||
this.sectionService.getSectionData(this.submissionId, this.sectionData.id),
|
||||
this.workspaceItemDataService.findById(this.submissionId).pipe(getSucceededRemoteData())
|
||||
)),
|
||||
take(1))
|
||||
.subscribe((sectionData: WorkspaceitemSectionFormObject) => {
|
||||
.subscribe(([sectionData, workspaceItem]: [WorkspaceitemSectionFormObject, RemoteData<Workspaceitem>]) => {
|
||||
if (isUndefined(this.formModel)) {
|
||||
this.sectionData.errors = [];
|
||||
// Is the first loading so init form
|
||||
this.workspaceItem = workspaceItem;
|
||||
this.initForm(sectionData);
|
||||
this.sectionData.data = sectionData;
|
||||
this.subscriptions();
|
||||
@@ -212,7 +226,9 @@ export class SubmissionSectionformComponent extends SectionModelComponent {
|
||||
this.formConfig,
|
||||
this.collectionId,
|
||||
sectionData,
|
||||
this.submissionService.getSubmissionScope());
|
||||
this.workspaceItem,
|
||||
this.submissionService.getSubmissionScope()
|
||||
);
|
||||
} catch (e) {
|
||||
const msg: string = this.translate.instant('error.submission.sections.init-form-error') + e.toString();
|
||||
const sectionError: SubmissionSectionError = {
|
||||
|
Reference in New Issue
Block a user