odoo/o-spreadsheet#5947

Created by BI, Adrien Minne (adrm)
Merged at 3708b201ec3317b897ff0496034d17034a610bc7

Statuses:

label
odoo:master-menu-position-adrm
head
c65ad3aae1ebaaa16a2f954b9b18dd2226434661
merged
4 months ago by BI, Rémi Rahir (rar)
odoo/o-spreadsheet
master #5947

[IMP] menu: more positioning options for `Menu` component

The Menu component was taking a {x,y} props for its positioning.
This is not enough to cover that cases when we want the menu to be
positioned around a rectangle when there is not enough space for the
menu to be displayed at the bottom left.

With this commit:
- the menu of SelectMenu no longer overlap with the select
when the menu is displayed upwards
- the menu of Figure is positioned to the right of the figure and only flip
to the left if there is not enough space
- the menu of LinkEditor is positioned to the right of the menu button instead of a random position

Task: 4655815

review checklist

  • [ ] feature is organized in plugin, or UI components
  • [ ] support of duplicate sheet (deep copy)
  • [ ] in model/core: ranges are Range object, and can be adapted (adaptRanges)
  • [ ] in model/UI: ranges are strings (to show the user)
  • [ ] undo-able commands (uses this.history.update)
  • [ ] multiuser-able commands (has inverse commands and transformations where needed)
  • [ ] new/updated/removed commands are documented
  • [ ] exportable in excel
  • [ ] translations (_t("qmsdf %s", abc))
  • [ ] unit tested
  • [ ] clean commented code
  • [ ] track breaking changes
  • [ ] doc is rebuild (npm run doc)
  • [ ] status is correct in Odoo