diff --git a/webapp/IronCalc/src/components/FormulaBar/FormulaBar.tsx b/webapp/IronCalc/src/components/FormulaBar/FormulaBar.tsx index 789a094..fb64916 100644 --- a/webapp/IronCalc/src/components/FormulaBar/FormulaBar.tsx +++ b/webapp/IronCalc/src/components/FormulaBar/FormulaBar.tsx @@ -20,6 +20,8 @@ type FormulaBarProps = { workbookState: WorkbookState; onChange: () => void; onTextUpdated: () => void; + openDrawer: () => void; + canEdit: boolean; }; function FormulaBar(properties: FormulaBarProps) { @@ -51,6 +53,8 @@ function FormulaBar(properties: FormulaBarProps) { selectedOption={selectedMenuOption} onChange={handleMenuChange} onMenuOpenChange={handleMenuOpenChange} + openDrawer={properties.openDrawer} + canEdit={properties.canEdit} > {cellAddress} diff --git a/webapp/IronCalc/src/components/FormulaBar/FormulaBarMenu.tsx b/webapp/IronCalc/src/components/FormulaBar/FormulaBarMenu.tsx index 316e4a7..e93da52 100644 --- a/webapp/IronCalc/src/components/FormulaBar/FormulaBarMenu.tsx +++ b/webapp/IronCalc/src/components/FormulaBar/FormulaBarMenu.tsx @@ -11,6 +11,8 @@ type FormulaBarMenuProps = { onExited?: () => void; onMenuOpenChange?: (isOpen: boolean) => void; anchorOrigin?: ComponentProps["anchorOrigin"]; + openDrawer: () => void; + canEdit: boolean; }; const FormulaBarMenu = (properties: FormulaBarMenuProps) => { @@ -53,7 +55,15 @@ const FormulaBarMenu = (properties: FormulaBarMenuProps) => { $Sheet1!$A$1:$B$2 - + { + properties.openDrawer(); + handleMenuClose(); + }} + disabled={!properties.canEdit} + disableRipple + > {t("formula_bar.manage_named_ranges")} @@ -74,7 +84,9 @@ const StyledMenu = styled(Menu)` } `; -const MenuItemWrapper = styled(MenuItem)` +const MenuItemWrapper = styled(MenuItem, { + shouldForwardProp: (prop) => prop !== "$pressed", +})<{ $pressed?: boolean }>` display: flex; align-items: center; justify-content: space-between; diff --git a/webapp/IronCalc/src/components/Workbook/Workbook.tsx b/webapp/IronCalc/src/components/Workbook/Workbook.tsx index aa8e0b9..6c8710a 100644 --- a/webapp/IronCalc/src/components/Workbook/Workbook.tsx +++ b/webapp/IronCalc/src/components/Workbook/Workbook.tsx @@ -682,6 +682,10 @@ const Workbook = (props: { model: Model; workbookState: WorkbookState }) => { }} model={model} workbookState={workbookState} + openDrawer={() => { + setDrawerOpen(true); + }} + canEdit={true} />