odoo/o-spreadsheet#5811

Created by fw-bot
Merged at 1c5fa6ac28410ab47dbbfea93b6396ad2176d2f1

Statuses:

label
odoo:master-master-fix-selection-input-reorder-colors-adrm-416262-fw
head
77ed3178129093eba157011d8425df32d187e12f
merged
5 months ago by BI, Rémi Rahir (rar)
odoo/o-spreadsheet
saas-18.2 #5734
saas-18.3
saas-18.4
master #5811

[FW][FIX] selection input: highlight color not sync with range color

Description

After re-ordering the selection inputs of a chart, the highlight colors would not be the same as the range colors.

This was because the store mutator updateColors would not update the store range colors. And store.highlights is based on ranges.colors while store.selectionInputs ignores the colors of store.ranges.

The test update of colors are taken into account was also a bit sketchy. We would modify the props.colors array in place, thus the condition nextProps.colors !== props.colors would never be satisfied, and store.updateColors would never be called.

Task: 4577803

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

Forward-Port-Of: #5734