update: allow opening nm drawer from menu

This commit is contained in:
Daniel
2025-11-22 01:17:09 +01:00
committed by Nicolás Hatcher Andrés
parent 294a651ae5
commit 126e62957a
3 changed files with 22 additions and 2 deletions

View File

@@ -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}
>
<CellBarAddress $active={isMenuOpen}>{cellAddress}</CellBarAddress>
<MenuButton $active={isMenuOpen}>

View File

@@ -11,6 +11,8 @@ type FormulaBarMenuProps = {
onExited?: () => void;
onMenuOpenChange?: (isOpen: boolean) => void;
anchorOrigin?: ComponentProps<typeof Menu>["anchorOrigin"];
openDrawer: () => void;
canEdit: boolean;
};
const FormulaBarMenu = (properties: FormulaBarMenuProps) => {
@@ -53,7 +55,15 @@ const FormulaBarMenu = (properties: FormulaBarMenuProps) => {
<MenuItemExample>$Sheet1!$A$1:$B$2</MenuItemExample>
</MenuItemWrapper>
<MenuDivider />
<MenuItemWrapper disableRipple>
<MenuItemWrapper
$pressed={false}
onClick={() => {
properties.openDrawer();
handleMenuClose();
}}
disabled={!properties.canEdit}
disableRipple
>
<MenuItemText>{t("formula_bar.manage_named_ranges")}</MenuItemText>
</MenuItemWrapper>
</StyledMenu>
@@ -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;

View File

@@ -682,6 +682,10 @@ const Workbook = (props: { model: Model; workbookState: WorkbookState }) => {
}}
model={model}
workbookState={workbookState}
openDrawer={() => {
setDrawerOpen(true);
}}
canEdit={true}
/>
<Worksheet
model={model}