[AAE-8554] - Fix linked dropdown values are displayed but not submitted (#7590)

* [AAE-8554] - Fix dropdown values are displayed but not submitted

* Make eslint allow ternary
This commit is contained in:
arditdomi
2022-04-21 17:25:38 +01:00
committed by GitHub
parent 3d19b79699
commit 6fcac9f5f9
3 changed files with 14 additions and 8 deletions

View File

@@ -592,13 +592,15 @@ describe('DropdownCloudWidgetComponent', () => {
entries: mockConditionalEntries
}
});
const updateFormSpy = spyOn(widget.field, 'updateForm');
const mockParentDropdown = { id: 'parentDropdown', value: 'IT' };
const updateFormSpy = spyOn(widget.field, 'updateForm').and.callThrough();
const mockParentDropdown = { id: 'parentDropdown', value: 'IT', validate: (): boolean => true };
spyOn(widget.field.form, 'getFormFields').and.returnValue([mockParentDropdown]);
widget.field.value = 'MI';
fixture.detectChanges();
expect(updateFormSpy).toHaveBeenCalled();
expect(widget.field.options).toEqual(mockConditionalEntries[1].options);
expect(widget.field.form.values).toEqual({ 'child-dropdown-id': { id: 'MI', name: 'MILAN' }});
});
it('should load the selection of a rest type linked dropdown', () => {

View File

@@ -135,11 +135,7 @@ export class DropdownCloudWidgetComponent extends WidgetComponent implements OnI
private parentValueChanged(value: string) {
if (value && !this.isDefaultValue(value)) {
if (this.isValidRestType()) {
this.persistFieldOptionsFromRestApi();
} else {
this.persistFieldOptionsFromManualList(value);
}
this.isValidRestType() ? this.persistFieldOptionsFromRestApi() : this.persistFieldOptionsFromManualList(value);
} else if (this.isDefaultValue(value)) {
this.resetRestApiErrorMessage();
this.addDefaultOption();
@@ -165,6 +161,7 @@ export class DropdownCloudWidgetComponent extends WidgetComponent implements OnI
if (ruleEntry.key === value) {
this.field.options = ruleEntry.options;
this.resetInvalidValue();
this.field.updateForm();
}
});
}