odoo/o-spreadsheet#7029

Created by BI, Adrien Minne (adrm)

Blocked

label
odoo:master-carousel-tabs-adrm
head
6fe2dc35d3b9b006b853b9bd906ba087d5443122
odoo/o-spreadsheet
19.0 #7029 missing r+
master

Master carousel tabs adrm

[IMP] carousels: add dropdown when too many tabs

This commit hide the carousel tabs to prevent them from overflowing
outside of the figure, and adds the hidden tabs in a dropdown menu.

[IMP] figures: add drag threshold

When clicking on a figure, a very small mouse movement between the
mousedown and mouseup events could trigger a drag and drop operation,
canceling the click event. This is particularly annoying when trying
to interact with carousels, as they have a lot of clickable areas.

Most applications use a drag threshold, allowing small mouse movements
to be ignored. This commit adds a drag threshold for figures.

Also fixed some test that checked for the o-dragging class on figure.
That class does not exist for figures.

[IMP] test: add expect.toHaveStyle jest matcher

This commit adds a custom jest matcher toHaveStyle to check if a DOM
element has a specific CSS style properties applied.

Task: 5059476

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