From 043914f6c3a3e02f0cbf44887b80c5ab7863ba4b Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 2 Apr 2024 18:30:30 +0200 Subject: [PATCH] fix(Admin UI): generate manual dropdown category id without errors (#2330) fixes #2325 --- .../admin-entity-field.component.spec.ts | 16 ++++++++++++++++ .../admin-entity-field.component.ts | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.spec.ts b/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.spec.ts index fbe703df7e..fb15b40175 100644 --- a/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.spec.ts +++ b/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.spec.ts @@ -161,6 +161,22 @@ describe("AdminEntityFieldComponent", () => { generateIdFromLabel("test label"), ); })); + it("should generate manually created 'additional' value for configurable-enum", fakeAsync(() => { + const dataTypeForm = component.schemaFieldsForm.get("dataType"); + dataTypeForm.setValue(ConfigurableEnumDatatype.dataType); + tick(); + + let newAdditional; + component + .createNewAdditionalOptionAsync("newEnumId") + .then((result) => (newAdditional = result)); + tick(); + + expect(newAdditional).toEqual({ + label: "newEnumId", + value: "newEnumId", + }); + })); it("should init 'additional' options for entity datatypes", fakeAsync(() => { const mockEntityTypes = [Entity, RecurringActivity]; diff --git a/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts b/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts index 6ef6e510d3..7a2278f882 100644 --- a/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts +++ b/src/app/core/admin/admin-entity-details/admin-entity-field/admin-entity-field.component.ts @@ -198,7 +198,7 @@ export class AdminEntityFieldComponent implements OnChanges { objectToValue = (v: SimpleDropdownValue) => v?.value; createNewAdditionalOption: (input: string) => SimpleDropdownValue; createNewAdditionalOptionAsync = async (input) => - this.createNewAdditionalOptionAsync(input); + this.createNewAdditionalOption(input); private updateDataTypeAdditional(dataType: string) { this.resetAdditional();