mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 10:34:15 +00:00
fixes for multiple fields
This commit is contained in:
@@ -317,6 +317,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
|
||||
const modalComp = this.modalRef.componentInstance;
|
||||
if (hasValue(this.model.value)) {
|
||||
modalComp.query = this.model.value.value;
|
||||
modalComp.selectEvent.pipe(take(1)).subscribe(() => this.model.setValue(undefined))
|
||||
}
|
||||
modalComp.repeatable = this.model.repeatable;
|
||||
modalComp.listId = this.listId;
|
||||
@@ -324,6 +325,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
|
||||
modalComp.metadataFields = this.model.metadataFields;
|
||||
modalComp.item = this.item;
|
||||
modalComp.submissionId = this.model.submissionId;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -15,7 +15,6 @@
|
||||
<button type="button" class="close float-left drag-button" cdkDragHandle>
|
||||
<i class="fas fa-grip-vertical fa-fw"></i>
|
||||
</button>
|
||||
{{idx}}
|
||||
<ng-container *ngTemplateOutlet="startTemplate?.templateRef; context: groupModel"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="controlContainer; context: {$implicit: idx}"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="endTemplate?.templateRef; context: groupModel"></ng-container>
|
||||
|
@@ -82,7 +82,7 @@ export class DsDynamicFormArrayComponent extends DynamicFormArrayComponent imple
|
||||
)
|
||||
).subscribe((item) => this.submissionItem = item);
|
||||
|
||||
// this.updateReorderables();
|
||||
this.updateReorderables();
|
||||
}
|
||||
|
||||
private updateReorderables(): void {
|
||||
@@ -185,12 +185,12 @@ export class DsDynamicFormArrayComponent extends DynamicFormArrayComponent imple
|
||||
|
||||
onChange($event) {
|
||||
let event = $event;
|
||||
// if (hasNoValue($event.context)) {
|
||||
// const context = Object.assign({}, $event.context, { index: this.reorderables.length });
|
||||
// event = Object.assign({}, $event, { context });
|
||||
// } else {
|
||||
// this.updateReorderables();
|
||||
// }
|
||||
if (hasNoValue($event.context)) {
|
||||
const context = Object.assign({}, $event.context, { index: this.reorderables.length });
|
||||
event = Object.assign({}, $event, { context });
|
||||
} else {
|
||||
this.updateReorderables();
|
||||
}
|
||||
super.onChange(event);
|
||||
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';
|
||||
import { Component, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core';
|
||||
import { combineLatest, Observable, Subscription } from 'rxjs';
|
||||
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { hasValue } from '../../../../empty.util';
|
||||
@@ -34,6 +34,7 @@ import { Context } from '../../../../../core/shared/context.model';
|
||||
* Represents a modal where the submitter can select items to be added as a certain relationship type to the object being submitted
|
||||
*/
|
||||
export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy {
|
||||
@Output() selectEvent: EventEmitter<ListableObject[]> = new EventEmitter<ListableObject[]>();
|
||||
relationshipOptions: RelationshipOptions;
|
||||
listId: string;
|
||||
item;
|
||||
@@ -74,6 +75,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy
|
||||
}
|
||||
|
||||
select(...selectableObjects: Array<SearchResult<Item>>) {
|
||||
this.selectEvent.emit(selectableObjects);
|
||||
this.zone.runOutsideAngular(
|
||||
() => {
|
||||
const obs: Observable<any[]> = combineLatest(...selectableObjects.map((sri: SearchResult<Item>) => {
|
||||
|
@@ -11,8 +11,6 @@
|
||||
(dfChange)="onChange($event)"
|
||||
(dfFocus)="onFocus($event)">
|
||||
<ng-template modelType="ARRAY" let-group let-index="index" let-context="context">
|
||||
{{group.index}}-{{index}}
|
||||
|
||||
<!--Array with repeatable items-->
|
||||
<div *ngIf="!context.notRepeatable && index < 1"
|
||||
class="col-xs-2 d-flex flex-column justify-content-sm-start align-items-end">
|
||||
|
@@ -302,7 +302,9 @@ export class FormComponent implements OnDestroy, OnInit {
|
||||
insertItem($event, arrayContext: DynamicFormArrayModel, index: number): void {
|
||||
const formArrayControl = this.formGroup.get(this.formBuilderService.getPath(arrayContext)) as FormArray;
|
||||
this.formBuilderService.addFormArrayGroup(formArrayControl, arrayContext);
|
||||
this.formBuilderService.moveFormArrayGroup(0, formArrayControl.length - 1, formArrayControl, arrayContext);
|
||||
const value = formArrayControl.controls[index].value;
|
||||
formArrayControl.controls[formArrayControl.length - 1].setValue(value);
|
||||
formArrayControl.controls[index].reset();
|
||||
this.addArrayItem.emit(this.getEvent($event, arrayContext, index, 'add'));
|
||||
this.formService.changeForm(this.formId, this.formModel);
|
||||
}
|
||||
|
Reference in New Issue
Block a user