From 00cf1d03e4ba447e9ea6f4a3583923a4390c309e Mon Sep 17 00:00:00 2001 From: Mathias Markl Date: Mon, 5 Dec 2022 02:42:39 +0100 Subject: [PATCH] publish muk_web_theme 16.0.1.0.1 --- muk_web_theme/__manifest__.py | 2 +- muk_web_theme/models/ir_http.py | 5 + muk_web_theme/static/src/core/pager/pager.js | 120 ++++++++++++++++++ .../static/src/core/pager/pager.scss | 48 +++++++ muk_web_theme/static/src/core/pager/pager.xml | 33 ++++- .../src/views/fields/many2one/many2one.scss | 45 +++++++ muk_web_theme/static/src/views/form/form.scss | 6 +- 7 files changed, 249 insertions(+), 10 deletions(-) create mode 100644 muk_web_theme/static/src/core/pager/pager.js create mode 100644 muk_web_theme/static/src/core/pager/pager.scss create mode 100644 muk_web_theme/static/src/views/fields/many2one/many2one.scss diff --git a/muk_web_theme/__manifest__.py b/muk_web_theme/__manifest__.py index 9f6d248..a12b7a5 100644 --- a/muk_web_theme/__manifest__.py +++ b/muk_web_theme/__manifest__.py @@ -43,7 +43,7 @@ { 'name': 'MuK Backend Theme', 'summary': 'Odoo Community Backend Theme', - 'version': '16.0.1.0.0', + 'version': '16.0.1.0.1', 'category': 'Themes/Backend', 'license': 'LGPL-3', 'author': 'MuK IT', diff --git a/muk_web_theme/models/ir_http.py b/muk_web_theme/models/ir_http.py index 51a4d22..17d80ae 100644 --- a/muk_web_theme/models/ir_http.py +++ b/muk_web_theme/models/ir_http.py @@ -59,4 +59,9 @@ class IrHttp(models.AbstractModel): result['user_companies']['allowed_companies'][company.id].update({ 'has_background_image': bool(company.background_image), }) + result['pager_autoload_interval'] = int( + self.env['ir.config_parameter'].sudo().get_param( + 'muk_web_theme.autoload', default=30000 + ) + ) return result diff --git a/muk_web_theme/static/src/core/pager/pager.js b/muk_web_theme/static/src/core/pager/pager.js new file mode 100644 index 0000000..81bba96 --- /dev/null +++ b/muk_web_theme/static/src/core/pager/pager.js @@ -0,0 +1,120 @@ +/** @odoo-module */ + +/********************************************************************************** +* +* Copyright (c) 2017-today MuK IT GmbH. +* +* This file is part of MuK Backend Theme +* (see https://mukit.at). +* +* MuK Proprietary License v1.0 +* +* This software and associated files (the "Software") may only be used +* (executed, modified, executed after modifications) if you have +* purchased a valid license from MuK IT GmbH. +* +* The above permissions are granted for a single database per purchased +* license. Furthermore, with a valid license it is permitted to use the +* software on other databases as long as the usage is limited to a testing +* or development environment. +* +* You may develop modules based on the Software or that use the Software +* as a library (typically by depending on it, importing it and using its +* resources), but without copying any source code or material from the +* Software. You may distribute those modules under the license of your +* choice, provided that this license is compatible with the terms of the +* MuK Proprietary License (For example: LGPL, MIT, or proprietary licenses +* similar to this one). +* +* It is forbidden to publish, distribute, sublicense, or sell copies of +* the Software or modified copies of the Software. +* +* The above copyright notice and this permission notice must be included +* in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +* DEALINGS IN THE SOFTWARE. +* +**********************************************************************************/ + +import { useState, onWillUnmount } from "@odoo/owl"; +import { browser } from "@web/core/browser/browser"; +import { patch } from '@web/core/utils/patch'; +import { session } from "@web/session"; + +import { Pager } from '@web/core/pager/pager'; + +patch(Pager.prototype, 'muk_web_theme.Pager', { + setup() { + this._super(...arguments); + const autoLoad = browser.localStorage.getItem( + this.getAutoLoadStorageKey() + ) + this.autoLoadInterval = false; + this.autoLoadState = useState({ + active: autoLoad, + }); + if (autoLoad) { + this.setAutoLoad(); + } + onWillUnmount(() => { + this.clearAutoLoad(); + }); + }, + checkAutoLoadAvailability() { + return ['kanban', 'list'].includes( + this.env.config.viewType + ); + }, + getAutoLoadStorageKey() { + return ( + 'pager_autoload:' + + this.env.config.actionId + + ',' + + this.env.config.viewId + ); + }, + getAutoLoadIntervalTimeout() { + return session.pager_autoload_interval || 30000; + }, + getAutoloadTooltip() { + return JSON.stringify({ + active: this.autoLoadState.active, + interval: this.getAutoLoadIntervalTimeout() / 1000, + autoload: this.checkAutoLoadAvailability(), + }); + }, + setAutoLoad() { + this.autoLoadInterval = browser.setInterval( + () => { this.navigate(0); }, + this.getAutoLoadIntervalTimeout() + ); + if (this.env.config.actionId) { + browser.localStorage.setItem( + this.getAutoLoadStorageKey(), true + ); + } + }, + clearAutoLoad() { + if (this.autoLoadInterval) { + browser.clearInterval(this.autoLoadInterval); + } + }, + toggleAutoLoad() { + this.clearAutoLoad(); + browser.localStorage.removeItem( + this.getAutoLoadStorageKey() + ); + if (this.checkAutoLoadAvailability()) { + this.autoLoadState.active = !this.autoLoadState.active; + if (this.autoLoadState.active) { + this.setAutoLoad(); + } + } + }, +}); diff --git a/muk_web_theme/static/src/core/pager/pager.scss b/muk_web_theme/static/src/core/pager/pager.scss new file mode 100644 index 0000000..7be1a30 --- /dev/null +++ b/muk_web_theme/static/src/core/pager/pager.scss @@ -0,0 +1,48 @@ +/********************************************************************************** +* +* Copyright (c) 2017-today MuK IT GmbH. +* +* This file is part of MuK Backend Theme +* (see https://mukit.at). +* +* MuK Proprietary License v1.0 +* +* This software and associated files (the "Software") may only be used +* (executed, modified, executed after modifications) if you have +* purchased a valid license from MuK IT GmbH. +* +* The above permissions are granted for a single database per purchased +* license. Furthermore, with a valid license it is permitted to use the +* software on other databases as long as the usage is limited to a testing +* or development environment. +* +* You may develop modules based on the Software or that use the Software +* as a library (typically by depending on it, importing it and using its +* resources), but without copying any source code or material from the +* Software. You may distribute those modules under the license of your +* choice, provided that this license is compatible with the terms of the +* MuK Proprietary License (For example: LGPL, MIT, or proprietary licenses +* similar to this one). +* +* It is forbidden to publish, distribute, sublicense, or sell copies of +* the Software or modified copies of the Software. +* +* The above copyright notice and this permission notice must be included +* in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +* DEALINGS IN THE SOFTWARE. +* +**********************************************************************************/ + +.mk_pager_refresh { + color: $gray-700; + &.mk_active_autoload{ + color: $success; + } +} \ No newline at end of file diff --git a/muk_web_theme/static/src/core/pager/pager.xml b/muk_web_theme/static/src/core/pager/pager.xml index d37a351..a0539b3 100644 --- a/muk_web_theme/static/src/core/pager/pager.xml +++ b/muk_web_theme/static/src/core/pager/pager.xml @@ -1,4 +1,4 @@ - +