Skip to content

Conversation

@matho-odoo
Copy link

@matho-odoo matho-odoo commented Dec 2, 2025

Description:

[Data filter] Trim whitespace and don't bother of caps vs low case when filtering

Task: 5375214

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

@robodoo
Copy link
Collaborator

robodoo commented Dec 2, 2025

Pull request status dashboard

@matho-odoo matho-odoo changed the title [Data filter] Trim whitespace and don't bother of caps vs low case when filtering [Data filter] Trim whitespace Dec 2, 2025
@matho-odoo matho-odoo force-pushed the master-filter-with-whitespace-matho branch from 1b52dee to a52fd15 Compare December 2, 2025 15:13
Copy link
Contributor

@hokolomopo hokolomopo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👋

The values shown in the filter menu are now correct, but the values actually filtered when selecting a trimmed value are not. You should apply the same normalization in the evaluation of filters 🙂

(also tests are missing)

[Data filter] Trim whitespace and don't bother of caps vs low case when filtering
Changes done in the filters by values and by criterion

Task:5375214
@matho-odoo matho-odoo force-pushed the master-filter-with-whitespace-matho branch from a52fd15 to e48889f Compare December 8, 2025 10:37
const cellValues = cells.map((val) => val.cellValue);
const filterValues = filterValue?.filterType === "values" ? filterValue.hiddenValues : [];
const normalizedFilteredValues = new Set(filterValues.map(toLowerCase));
const normalizedFilteredValues = new Set(filterValues.map(normalize));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about this, but maybe we can store the normalized values in filterValue.hiddenValues instead of applying the normalize function each time we reevaluate a filter ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants