From c7cfbb5b6c6a85a2f0129afe57186f0d319e9b0c Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Mon, 9 Sep 2024 08:19:35 -0700 Subject: [PATCH] Fix service advanced options UI (#21925) --- src/components/ha-service-control.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/components/ha-service-control.ts b/src/components/ha-service-control.ts index 4fc02aeacc..481160fd78 100644 --- a/src/components/ha-service-control.ts +++ b/src/components/ha-service-control.ts @@ -240,12 +240,24 @@ export class HaServiceControl extends LitElement { ...value, selector: value.selector as Selector | undefined, })); + + const hasSelector: string[] = []; + fields.forEach((field) => { + if ((field as any).fields) { + Object.entries((field as any).fields).forEach(([key, subField]) => { + if ((subField as any).selector) { + hasSelector.push(key); + } + }); + } else if (field.selector) { + hasSelector.push(field.key); + } + }); + return { ...serviceDomains[domain][serviceName], fields, - hasSelector: fields.length - ? fields.filter((field) => field.selector).map((field) => field.key) - : [], + hasSelector, }; } );