Skip to content

Commit

Permalink
fix(material/form-builder): choices origins are not correctly saved
Browse files Browse the repository at this point in the history
  • Loading branch information
trik committed Jan 16, 2020
1 parent 9b50c84 commit 96ce906
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 24 deletions.
26 changes: 4 additions & 22 deletions src/material/form-builder/form-builder-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -620,17 +620,10 @@ export class AjfFormBuilderService {
this._saveNodeEntryEvent
.pipe(
withLatestFrom(this.editedNodeEntry, this.choicesOrigins, this.attachmentsOrigins),
filter((r) => r[1] != null),
map((r:
[
any, AjfFormBuilderNodeEntry|null, AjfChoicesOrigin<any>[],
AjfAttachmentsOrigin<any>[]
]) => {
filter(([_, nodeEntry]) => nodeEntry != null),
map(([properties, nodeEntry]) => {
this._beforeNodesUpdate.emit();
const properties = r[0];
const nodeEntry = r[1]!;
const choicesOrigins = r[2];
// const attachmentsOrigins = r[3];
nodeEntry = nodeEntry!;
const origNode = nodeEntry.node;
const node = deepCopy(origNode);
node.id = nodeEntry.node.id;
Expand Down Expand Up @@ -729,18 +722,7 @@ export class AjfFormBuilderService {

if (isFieldWithChoices(field)) {
const fwc = <AjfFieldWithChoices<any>>field;
let choicesOrigin: AjfChoicesOrigin<any>|null = null;
let coIdx = 0;
const coNum: number = choicesOrigins.length;
while (choicesOrigin == null && coIdx < coNum) {
if (choicesOrigins[coIdx].name === properties.choicesOrigin) {
choicesOrigin = choicesOrigins[coIdx];
}
coIdx++;
}
if (choicesOrigin != null) {
fwc.choicesOrigin = choicesOrigin;
}
(fwc as any).choicesOriginRef = properties.choicesOriginRef;
fwc.forceExpanded = properties.forceExpanded;
fwc.forceNarrow = properties.forceNarrow;
fwc.triggerConditions = (properties.triggerConditions ||
Expand Down
2 changes: 1 addition & 1 deletion src/material/form-builder/node-properties.html
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ <h3 translate>Properties</h3>
<div class="ajf-prop">
<mat-form-field>
<mat-label translate>Choices origins</mat-label>
<mat-select formControlName="choicesOrigin" [placeholder]="'Choices' | translate">
<mat-select formControlName="choicesOriginRef" [placeholder]="'Choices' | translate">
<mat-option *ngFor="let choicesOrigin of choicesOrigins" [value]="choicesOrigin.name">
{{ choicesOrigin.label || choicesOrigin.name }}
</mat-option>
Expand Down
2 changes: 1 addition & 1 deletion src/material/form-builder/node-properties.ts
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ export class AjfFbNodeProperties implements OnDestroy {
let triggerConditions: string[] = (fieldWithChoices.triggerConditions || [])
.map((c) => c.condition);

controls.choicesOrigin = fieldWithChoices.choicesOrigin.name;
controls.choicesOriginRef = (fieldWithChoices as any).choicesOriginRef;
controls.choicesFilter = fieldWithChoices.choicesFilter != null ?
fieldWithChoices.choicesFilter.formula : null;
controls.forceExpanded = fieldWithChoices.forceExpanded;
Expand Down

0 comments on commit 96ce906

Please sign in to comment.