From e0aabf0748c9d101b6e7352c4dd1e18a3c8add03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com> Date: Thu, 11 Jan 2024 12:47:31 +0100 Subject: [PATCH] [UPD] avoid loading mutliple time js libraries --- __manifest__.py | 5 +--- .../src/js/{canvas.js => operation_chart.js} | 24 ++++++++++++------- templates/operation_templates_page.xml | 6 ++--- 3 files changed, 20 insertions(+), 15 deletions(-) rename static/src/js/{canvas.js => operation_chart.js} (97%) diff --git a/__manifest__.py b/__manifest__.py index e0abd40..7d33905 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -20,10 +20,7 @@ "assets": { "web.assets_frontend": [ "oacc_portal_overview_cdc/static/src/css/style.css", - "web/static/lib/Chart/Chart.js", - "oacc_portal_overview_cdc/static/lib/daterangepicker/daterangepicker.js", - "oacc_portal_overview_cdc/static/src/js/lib/chartjs-plugin-datalabels.min.js", - "oacc_portal_overview_cdc/static/src/js/canvas.js", + "oacc_portal_overview_cdc/static/src/js/operation_chart.js", "oacc_portal_overview_cdc/static/src/js/select2_fr.js", ], }, diff --git a/static/src/js/canvas.js b/static/src/js/operation_chart.js similarity index 97% rename from static/src/js/canvas.js rename to static/src/js/operation_chart.js index 44712b6..950e164 100644 --- a/static/src/js/canvas.js +++ b/static/src/js/operation_chart.js @@ -2,17 +2,14 @@ * @copyright: 2023- Le Filament (<https://le-filament.com>) * @license: AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). */ -odoo.define("oacc_portal_overview_cdc.canvas", function (require) { +odoo.define("oacc_portal_overview_cdc.operation_chart", function (require) { "use strict"; + const { loadJS } = require("@web/core/assets"); var publicWidget = require("web.public.widget"); - publicWidget.registry.oaccPortalOverviewCdc = publicWidget.Widget.extend({ - jsLibs: [ - "/web/static/lib/Chart/Chart.js", - "/oacc_portal_overview_cdc/static/src/js/lib/chartjs-plugin-datalabels.min.js", - ], - selector: ".oe_website_canvas", + publicWidget.registry.OaccOperationChart = publicWidget.Widget.extend({ + selector: ".operation_chart", events: { "click .btn-period": "_onBtnPeriodClick", "click #previous-period": "_onPreviousPeriod", @@ -26,7 +23,7 @@ odoo.define("oacc_portal_overview_cdc.canvas", function (require) { init: function () { this._super.apply(this, arguments); - this.operation = $(".oe_website_canvas").data("id"); + this.operation = $(".operation_chart").data("id"); this.scale = null; this.minDate = null; @@ -65,6 +62,17 @@ odoo.define("oacc_portal_overview_cdc.canvas", function (require) { }); return Promise.all([this._super.apply(this, arguments), def]); }, + + willStart: async function () { + await loadJS("/web/static/lib/Chart/Chart.js"); + await loadJS( + "/oacc_portal_overview_cdc/static/src/js/lib/chartjs-plugin-datalabels.min.js" + ); + await loadJS( + "/oacc_portal_overview_cdc/static/lib/daterangepicker/daterangepicker.js" + ); + }, + /** * @override */ diff --git a/templates/operation_templates_page.xml b/templates/operation_templates_page.xml index 698c9bb..0600025 100644 --- a/templates/operation_templates_page.xml +++ b/templates/operation_templates_page.xml @@ -8,7 +8,7 @@ <t t-call="oacc_portal.layout_op"> <t t-set="type_data" t-value="'pmo'" /> <div - class="oe_website_canvas mb-5" + class="operation_chart mb-5" t-att-data-name="type_data" t-att-data-id="operation.id" > @@ -42,7 +42,7 @@ <t t-call="oacc_portal.layout_op"> <t t-set="type_data" t-value="'cons'" /> <div - class="mb-5 oe_website_canvas" + class="operation_chart mb-5" t-att-data-name="type_data" t-att-data-id="operation.id" > @@ -69,7 +69,7 @@ <t t-call="oacc_portal.layout_op"> <t t-set="type_data" t-value="'prod'" /> <div - class="mb-5 oe_website_canvas" + class="operation_chart mb-5" t-att-data-name="type_data" t-att-data-id="operation.id" > -- GitLab