From 5f1b8643d09ee161dd8607564b61aa77824147b5 Mon Sep 17 00:00:00 2001 From: Carlos Roca Date: Tue, 20 Dec 2022 10:25:26 +0100 Subject: [PATCH] [IMP] web_refresher: Addapt changes to OWL --- web_refresher/README.rst | 7 ++-- web_refresher/__manifest__.py | 8 +++- web_refresher/readme/CONTRIBUTORS.rst | 1 + web_refresher/static/description/index.html | 3 +- .../static/src/js/control_panel.esm.js | 11 +++++ web_refresher/static/src/js/refresher.esm.js | 16 +++++++ web_refresher/static/src/js/refresher.js | 42 ------------------- .../static/src/xml/control_panel.xml | 17 ++++++++ web_refresher/static/src/xml/refresher.xml | 29 +------------ 9 files changed, 58 insertions(+), 76 deletions(-) create mode 100644 web_refresher/static/src/js/control_panel.esm.js create mode 100644 web_refresher/static/src/js/refresher.esm.js delete mode 100644 web_refresher/static/src/js/refresher.js create mode 100644 web_refresher/static/src/xml/control_panel.xml diff --git a/web_refresher/README.rst b/web_refresher/README.rst index 97beb0477..abc113724 100644 --- a/web_refresher/README.rst +++ b/web_refresher/README.rst @@ -19,9 +19,9 @@ Web Refresher .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/web-15-0/web-15-0-web_refresher :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/162/15.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/web&target_branch=15.0 + :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -61,6 +61,7 @@ Contributors * João Marques * Alexandre D. Díaz + * Carlos Roca * Thanakrit Pintana diff --git a/web_refresher/__manifest__.py b/web_refresher/__manifest__.py index c1cb122eb..b65dd5f3f 100644 --- a/web_refresher/__manifest__.py +++ b/web_refresher/__manifest__.py @@ -10,8 +10,12 @@ "assets": { "web.assets_backend": [ "web_refresher/static/src/scss/refresher.scss", - "web_refresher/static/src/js/refresher.js", + "web_refresher/static/src/js/refresher.esm.js", + "web_refresher/static/src/js/control_panel.esm.js", + ], + "web.assets_qweb": [ + "web_refresher/static/src/xml/refresher.xml", + "web_refresher/static/src/xml/control_panel.xml", ], - "web.assets_qweb": ["web_refresher/static/src/xml/pager_button.xml"], }, } diff --git a/web_refresher/readme/CONTRIBUTORS.rst b/web_refresher/readme/CONTRIBUTORS.rst index b4ec52099..b4df9b1fc 100644 --- a/web_refresher/readme/CONTRIBUTORS.rst +++ b/web_refresher/readme/CONTRIBUTORS.rst @@ -3,5 +3,6 @@ * João Marques * Alexandre D. Díaz + * Carlos Roca * Thanakrit Pintana diff --git a/web_refresher/static/description/index.html b/web_refresher/static/description/index.html index 45b1c2112..6cf45d53f 100644 --- a/web_refresher/static/description/index.html +++ b/web_refresher/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

Adds a button next to the pager (in trees/kanban views) to refresh the displayed list.

https://raw.githubusercontent.com/OCA/web/15.0/web_refresher/static/description/refresh.png

Table of contents

@@ -406,6 +406,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
  • Tecnativa:
  • Thanakrit Pintana
  • diff --git a/web_refresher/static/src/js/control_panel.esm.js b/web_refresher/static/src/js/control_panel.esm.js new file mode 100644 index 000000000..8acf25097 --- /dev/null +++ b/web_refresher/static/src/js/control_panel.esm.js @@ -0,0 +1,11 @@ +/** @odoo-module **/ +/* Copyright 2022 Tecnativa - Alexandre D. Díaz + * Copyright 2022 Tecnativa - Carlos Roca + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ +import LegacyControlPanel from "web.ControlPanel"; +import {Refresher} from "./refresher.esm"; + +// Patch control panel to initialize refresher component +LegacyControlPanel.components = Object.assign({}, LegacyControlPanel.components, { + Refresher, +}); diff --git a/web_refresher/static/src/js/refresher.esm.js b/web_refresher/static/src/js/refresher.esm.js new file mode 100644 index 000000000..0d643d99e --- /dev/null +++ b/web_refresher/static/src/js/refresher.esm.js @@ -0,0 +1,16 @@ +/** @odoo-module **/ +/* Copyright 2022 Tecnativa - Alexandre D. Díaz + * Copyright 2022 Tecnativa - Carlos Roca + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ + +const {Component} = owl; + +export class Refresher extends Component { + _doRefresh() { + // Note: here we use the pager props, see xml + const {limit, currentMinimum} = this.props; + this.trigger("pager-changed", {currentMinimum, limit}); + } +} + +Refresher.template = "web_refresher.Button"; diff --git a/web_refresher/static/src/js/refresher.js b/web_refresher/static/src/js/refresher.js deleted file mode 100644 index a3deae68a..000000000 --- a/web_refresher/static/src/js/refresher.js +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright 2022 Tecnativa - Alexandre D. Díaz - * License AGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ -odoo.define("refresher.Refresher", function (require) { - "use strict"; - - const ControlPanel = require("web.ControlPanel"); - - const {Component, hooks} = owl; - const {useRef} = hooks; - - class Refresher extends Component { - _doRefresh() { - // Note: here we use the pager props, see xml - const {limit, currentMinimum} = this.props; - this.trigger("pager-changed", {currentMinimum, limit}); - } - } - Refresher.template = "web_refresher.Button"; - - // Patch control panel to initialize refresher component - ControlPanel.components = Object.assign({}, ControlPanel.components, { - Refresher, - }); - ControlPanel.patch("web_refresher.ControlPanel", (T) => { - class ControlPanelRefresher extends T { - constructor() { - super(...arguments); - if ("cp_content" in this.props) { - const content = this.props.cp_content || {}; - if ("$refresher" in content) { - this.additionalContent.refresher = content.$refresher; - } - } - - this.contentRefs.refresher = useRef("refresher"); - } - } - return ControlPanelRefresher; - }); - - return Refresher; -}); diff --git a/web_refresher/static/src/xml/control_panel.xml b/web_refresher/static/src/xml/control_panel.xml new file mode 100644 index 000000000..723515884 --- /dev/null +++ b/web_refresher/static/src/xml/control_panel.xml @@ -0,0 +1,17 @@ + + + diff --git a/web_refresher/static/src/xml/refresher.xml b/web_refresher/static/src/xml/refresher.xml index 9067dc0a2..5f44c1282 100644 --- a/web_refresher/static/src/xml/refresher.xml +++ b/web_refresher/static/src/xml/refresher.xml @@ -1,34 +1,7 @@ + License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->