diff --git a/frontend/src/components/widgets/WidgetLayout.svelte b/frontend/src/components/widgets/WidgetLayout.svelte index dcd265ed13..7e8485ae40 100644 --- a/frontend/src/components/widgets/WidgetLayout.svelte +++ b/frontend/src/components/widgets/WidgetLayout.svelte @@ -1,5 +1,5 @@ diff --git a/frontend/src/components/widgets/WidgetRow.svelte b/frontend/src/components/widgets/WidgetRow.svelte index fb6d099c74..e2820a54eb 100644 --- a/frontend/src/components/widgets/WidgetRow.svelte +++ b/frontend/src/components/widgets/WidgetRow.svelte @@ -138,11 +138,9 @@ {/if} {@const popoverButton = narrowWidgetProps(component.props, "PopoverButton")} {#if popoverButton} - + {popoverButton.header} {popoverButton.text} - - {/if} {@const radioInput = narrowWidgetProps(component.props, "RadioInput")} diff --git a/frontend/src/components/widgets/buttons/PopoverButton.svelte b/frontend/src/components/widgets/buttons/PopoverButton.svelte index bc86a7c42d..553a6a7009 100644 --- a/frontend/src/components/widgets/buttons/PopoverButton.svelte +++ b/frontend/src/components/widgets/buttons/PopoverButton.svelte @@ -1,15 +1,18 @@ - {#if options_widget === undefined} + {#if optionsWidget === undefined} onClick()} icon={icon || "DropdownArrow"} size={16} {tooltip} data-floating-menu-spawner /> {:else} - onClick()} icon={icon || "DropdownArrow"} size={16} {options_widget} data-floating-menu-spawner /> + onClick()} icon={icon || "DropdownArrow"} size={16} options_widget={optionsWidget} data-floating-menu-spawner /> {/if} (open = detail)} type="Popover" direction="Bottom"> diff --git a/frontend/src/wasm-communication/messages.ts b/frontend/src/wasm-communication/messages.ts index 0c6cfab5cf..88d955a01e 100644 --- a/frontend/src/wasm-communication/messages.ts +++ b/frontend/src/wasm-communication/messages.ts @@ -4,6 +4,7 @@ import { Transform, Type, plainToClass } from "class-transformer"; import { type IconName, type IconSize } from "@graphite/utility-functions/icons"; import { type WasmEditorInstance, type WasmRawInstance } from "@graphite/wasm-communication/editor"; +import WidgetLayout from "~src/components/widgets/WidgetLayout.svelte"; export class JsMessage { // The marker provides a way to check if an object is a sub-class constructor for a jsMessage. @@ -932,7 +933,8 @@ export class PopoverButton extends WidgetProps { @Transform(({ value }: { value: string }) => value || undefined) tooltip!: string | undefined; - options_widget: WidgetLayout | undefined; + optionsWidget: WidgetLayout = defaultWidgetLayout(); + layoutTarget: unknown = undefined; } export type RadioEntryData = {