Browse Source

publish muk_web_theme 16.0.1.0.1

16.0
Mathias Markl 1 year ago
parent
commit
00cf1d03e4
  1. 2
      muk_web_theme/__manifest__.py
  2. 5
      muk_web_theme/models/ir_http.py
  3. 120
      muk_web_theme/static/src/core/pager/pager.js
  4. 48
      muk_web_theme/static/src/core/pager/pager.scss
  5. 33
      muk_web_theme/static/src/core/pager/pager.xml
  6. 45
      muk_web_theme/static/src/views/fields/many2one/many2one.scss
  7. 6
      muk_web_theme/static/src/views/form/form.scss

2
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',

5
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

120
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();
}
}
},
});

48
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;
}
}

33
muk_web_theme/static/src/core/pager/pager.xml

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8" ?>
<!--
@ -45,7 +45,7 @@
<template>
<t
t-name="web_refresher.Pager"
t-name="muk_web_theme.Pager"
t-inherit="web.Pager"
t-inherit-mode="extension"
owl="1"
@ -54,14 +54,35 @@
<button
t-if="props.withAccessKey and !env.isSmall"
type="button"
class="fa fa-refresh btn btn-secondary rounded me-1"
tabindex="-1"
aria-label="Refresh"
title="Refresh"
data-hotkey="r"
tabindex="-1"
class="fa fa-refresh btn btn-secondary rounded me-1 mk_pager_refresh"
t-att-class="this.autoLoadState.active ? 'mk_active_autoload' : ''"
t-att-data-tooltip-info="this.getAutoloadTooltip()"
t-att-data-tooltip-template="'muk_web_theme.RefreshTooltip'"
t-on-click.stop="() => this.navigate(0)"
t-on-dblclick.stop="() => this.toggleAutoLoad()"
/>
</xpath>
</t>
</template>
<t t-name="muk_web_theme.RefreshTooltip" owl="1">
<div>
<p t-if="autoload" class="m-0">
<t t-if="active">
Auto Refresh (<span t-out="interval"/> Seconds)
</t>
<t t-else="">
<p class="m-0">Single Click: Refresh View</li>
<p class="m-0">Double Click: Auto Refresh</li>
</t>
</p>
<p t-else="" class="m-0">
Refresh View
</p>
</div>
</t>
</template>

45
muk_web_theme/static/src/views/fields/many2one/many2one.scss

@ -0,0 +1,45 @@
**********************************************************************************
*
* 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.
*
**********************************************************************************/
.o_field_widget.o_field_many2one .o_external_button {
color: $o-brand-primary;
}

6
muk_web_theme/static/src/views/form/form.scss

@ -1,4 +1,4 @@
/**********************************************************************************
**********************************************************************************
*
* Copyright (c) 2017-today MuK IT GmbH.
*
@ -41,10 +41,10 @@
**********************************************************************************/
.o_form_view {
&:not(.o_field_highlight) .o_field_widget:not(.o_field_invalid) .o_input:not(:hover):not(:focus) {
&:not(.o_field_highlight) .o_field_widget:not(.o_field_invalid):not(.o_field_CopyClipboardChar) .o_input:not(:hover):not(:focus) {
border-color: $gray-200 !important;
}
.o_required_modifier.o_field_widget:not(.o_field_invalid) .o_input:not(:hover):not(:focus) {
&:not(.o_field_highlight) .o_required_modifier.o_field_widget:not(.o_field_invalid):not(.o_field_CopyClipboardChar) .o_input:not(:hover):not(:focus) {
border-color: $gray-600 !important;
}
}
Loading…
Cancel
Save