From 0f3eeb87811d1c3ebefd4812c513b19a1f2985ef Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Thu, 2 Jul 2026 00:23:38 +0100 Subject: [PATCH] feat: support opening property menu directly on options panel --- .../src/ee/base/components/property/property-menu.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/client/src/ee/base/components/property/property-menu.tsx b/apps/client/src/ee/base/components/property/property-menu.tsx index 0ef1e9c48..492339904 100644 --- a/apps/client/src/ee/base/components/property/property-menu.tsx +++ b/apps/client/src/ee/base/components/property/property-menu.tsx @@ -53,6 +53,7 @@ type PropertyMenuContentProps = { onDirtyChange?: (dirty: boolean) => void; onEditFormula?: () => void; pageId: string; + initialPanel?: "main" | "options"; }; type MenuPanel = @@ -96,9 +97,10 @@ export function PropertyMenuContent({ onDirtyChange, onEditFormula, pageId, + initialPanel, }: PropertyMenuContentProps) { const { t } = useTranslation(); - const [panel, setPanel] = useState("main"); + const [panel, setPanel] = useState(initialPanel ?? "main"); const [renameValue, setRenameValue] = useState(property.name); const renameInputRef = useRef(null); const [optionsDirty, setOptionsDirty] = useState(false); @@ -117,12 +119,12 @@ export function PropertyMenuContent({ useEffect(() => { if (opened) { - setPanel("main"); + setPanel(initialPanel ?? "main"); setRenameValue(property.name); setOptionsDirty(false); setPendingTargetType(null); } - }, [opened, property.name]); + }, [opened, property.name, initialPanel]); useEffect(() => { if (panel === "rename") { @@ -463,7 +465,7 @@ export function PropertyMenuContent({ PropertyMenuContent.displayName = "PropertyMenuContent"; -function MenuItem({ +export function MenuItem({ icon, label, rightIcon,