odoo/o-spreadsheet#6286
Created by BI, Adrien Minne (adrm)
- label
- odoo:master-data-filter-huge-dataset-adrm
- head
- 4e47bc9b9b8f0a916ba24754c36906264a36d927
odoo/o-spreadsheet | |
---|---|
master | #6286 missing r+ |
[IMP] filter: fix horrible performances with huge data filters
On a spreadsheet with 10,000 rows, opening the filter menu and filtering all the values is really slow.
This commit improves the performance of the existing functions, and adds a load more
button in the filter menu to avoid creating 10000 owl components and DOM elements.
On a data filter with 10,000 rows:
- getFilterHiddenValues
(when opening filter menu): ~1000ms => ~70ms
- updateHiddenRows
(when filtering all values): ~543ms => ~8ms
Task: 4658998
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