From 51333adefe6d152fa11081887f4f7e2cc81f8c43 Mon Sep 17 00:00:00 2001 From: William Braeckman Date: Wed, 14 Sep 2022 11:52:21 +0000 Subject: [PATCH] [IMP] web: extract progress bar parsing code The progress bar parsing code was inside a big block of code making it impossible to override to add custom behaviour. It is not in a separated function. Part-of: odoo/odoo#98837 --- .../src/views/kanban/kanban_arch_parser.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/addons/web/static/src/views/kanban/kanban_arch_parser.js b/addons/web/static/src/views/kanban/kanban_arch_parser.js index 4219c476baf..e0328de8922 100644 --- a/addons/web/static/src/views/kanban/kanban_arch_parser.js +++ b/addons/web/static/src/views/kanban/kanban_arch_parser.js @@ -104,13 +104,7 @@ export class KanbanArchParser extends XMLParser { let progressAttributes = false; const progressBar = xmlDoc.querySelector("progressbar"); if (progressBar) { - const attrs = extractAttributes(progressBar, ["field", "colors", "sum_field", "help"]); - progressAttributes = { - fieldName: attrs.field, - colors: JSON.parse(attrs.colors), - sumField: fields[attrs.sum_field] || false, - help: attrs.help, - }; + progressAttributes = this.parseProgressBar(progressBar, fields); } // Concrete kanban box elements in the template @@ -158,4 +152,14 @@ export class KanbanArchParser extends XMLParser { __rawArch: arch, }; } + + parseProgressBar(progressBar, fields) { + const attrs = extractAttributes(progressBar, ["field", "colors", "sum_field", "help"]); + return { + fieldName: attrs.field, + colors: JSON.parse(attrs.colors), + sumField: fields[attrs.sum_field] || false, + help: attrs.help, + }; + } }