fix #I947G2 17版本的app_odoo_customize优化,debug菜单

This commit is contained in:
Chill
2024-02-29 17:50:18 +08:00
parent 620059d05c
commit 556a48f9d9
4 changed files with 54 additions and 50 deletions

View File

@@ -23,7 +23,7 @@
{ {
'name': 'odoo17 Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data,Development Enhance', 'name': 'odoo17 Tweak,Ai Employee,Boost,Customize All in One. Customize,UI,Boost,Security,Data,Development Enhance',
'version': '24.02.28', 'version': '24.02.29',
'author': 'odooai.cn', 'author': 'odooai.cn',
'category': 'Extra Tools', 'category': 'Extra Tools',
'website': 'https://www.odooai.cn', 'website': 'https://www.odooai.cn',
@@ -71,11 +71,10 @@
'app_odoo_customize/static/src/scss/app.scss', 'app_odoo_customize/static/src/scss/app.scss',
'app_odoo_customize/static/src/scss/ribbon.scss', 'app_odoo_customize/static/src/scss/ribbon.scss',
'app_odoo_customize/static/src/scss/dialog.scss', 'app_odoo_customize/static/src/scss/dialog.scss',
# todo: fix使用 owl 的 service
'app_odoo_customize/static/src/js/user_menu.js', 'app_odoo_customize/static/src/js/user_menu.js',
# 'app_odoo_customize/static/src/js/ribbon.js', 'app_odoo_customize/static/src/js/ribbon.js',
# 'app_odoo_customize/static/src/js/dialog.js', 'app_odoo_customize/static/src/js/dialog.js',
# 'app_odoo_customize/static/src/webclient/*.js', 'app_odoo_customize/static/src/webclient/*.js',
'app_odoo_customize/static/src/webclient/*.xml', 'app_odoo_customize/static/src/webclient/*.xml',
'app_odoo_customize/static/src/xml/res_config_edition.xml', 'app_odoo_customize/static/src/xml/res_config_edition.xml',
], ],

View File

@@ -4,21 +4,12 @@ import { Dialog } from "@web/core/dialog/dialog";
import { patch } from "@web/core/utils/patch"; import { patch } from "@web/core/utils/patch";
import { session } from "@web/session"; import { session } from "@web/session";
patch(Dialog.prototype, "app_odoo_customize.Dialog", { patch(Dialog.prototype, {
setup() { setup() {
this._super.apply(this, arguments); super.setup();
const app_system_name = session.app_system_name || "odooApp"; const app_system_name = session.app_system_name || "odooApp";
this.title = app_system_name; this.title = app_system_name;
owl.onMounted(() => {
this.setDrag();
});
},
setDrag() {
var $dl = $('#' + this.id + ' .modal-dialog .modal-content');
if ($dl)
$dl.draggable({
handle: ".modal-header"
});
}, },
}); });

View File

@@ -1,3 +1,4 @@
/** @odoo-module **/
/* Copyright 2015 Sylvain Calador <sylvain.calador@akretion.com> /* Copyright 2015 Sylvain Calador <sylvain.calador@akretion.com>
Copyright 2015 Javi Melendez <javi.melendez@algios.com> Copyright 2015 Javi Melendez <javi.melendez@algios.com>
Copyright 2016 Antonio Espinosa <antonio.espinosa@tecnativa.com> Copyright 2016 Antonio Espinosa <antonio.espinosa@tecnativa.com>
@@ -5,13 +6,20 @@
Copyright 2017 Xavier Jiménez <xavier.jimenez@qubiq.es> Copyright 2017 Xavier Jiménez <xavier.jimenez@qubiq.es>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). */
odoo.define("web_environment_ribbon.ribbon", function (require) {
"use strict";
var rpc = require("web.rpc"); import {Component, xml} from "@odoo/owl";
var core = require("web.core"); import {useBus, useService} from "@web/core/utils/hooks";
import {registry} from "@web/core/registry";
export class WebEnvironmentRibbon extends Component {
setup() {
this.orm = useService("orm");
useBus(this.env.bus, "WEB_CLIENT_READY", this.showRibbon.bind(this));
}
// Code from: http://jsfiddle.net/WK_of_Angmar/xgA5C/ // Code from: http://jsfiddle.net/WK_of_Angmar/xgA5C/
function validStrColour(strToTest) { validStrColour(strToTest) {
if (strToTest === "") { if (strToTest === "") {
return false; return false;
} }
@@ -21,7 +29,7 @@ odoo.define("web_environment_ribbon.ribbon", function (require) {
if (strToTest === "transparent") { if (strToTest === "transparent") {
return true; return true;
} }
var image = document.createElement("img"); const image = document.createElement("img");
image.style.color = "rgb(0, 0, 0)"; image.style.color = "rgb(0, 0, 0)";
image.style.color = strToTest; image.style.color = strToTest;
if (image.style.color !== "rgb(0, 0, 0)") { if (image.style.color !== "rgb(0, 0, 0)") {
@@ -32,31 +40,37 @@ odoo.define("web_environment_ribbon.ribbon", function (require) {
return image.style.color !== "rgb(255, 255, 255)"; return image.style.color !== "rgb(255, 255, 255)";
} }
core.bus.on("web_client_ready", null, function () { showRibbon() {
var ribbon = $('<div class="test-ribbon hidden"/>'); const ribbon = $(".test-ribbon");
$("body").append(ribbon); const self = this;
ribbon.hide(); ribbon.hide();
// Get ribbon data from backend // Get ribbon data from backend
rpc.query({ self.orm
model: "web.environment.ribbon.backend", .call("web.environment.ribbon.backend", "get_environment_ribbon")
method: "get_environment_ribbon", .then(function (ribbon_data) {
}).then(function (ribbon_data) { // Ribbon name
// Ribbon name if (ribbon_data.name && ribbon_data.name !== "False") {
if (ribbon_data.name && ribbon_data.name !== "False") { ribbon.show();
ribbon.html(ribbon_data.name); ribbon.html(ribbon_data.name);
ribbon.show(); }
} // Ribbon color
// Ribbon color if (ribbon_data.color && self.validStrColour(ribbon_data.color)) {
if (ribbon_data.color && validStrColour(ribbon_data.color)) { ribbon.css("color", ribbon_data.color);
ribbon.css("color", ribbon_data.color); }
} // Ribbon background color
// Ribbon background color if (
if ( ribbon_data.background_color &&
ribbon_data.background_color && self.validStrColour(ribbon_data.background_color)
validStrColour(ribbon_data.background_color) ) {
) { ribbon.css("background-color", ribbon_data.background_color);
ribbon.css("background-color", ribbon_data.background_color); }
} });
}); }
}); }
WebEnvironmentRibbon.props = {};
WebEnvironmentRibbon.template = xml`<div class="test-ribbon" />`;
registry.category("main_components").add("WebEnvironmentRibbon", {
Component: WebEnvironmentRibbon,
}); });

View File

@@ -4,11 +4,11 @@ import { WebClient } from "@web/webclient/webclient";
import { patch } from "@web/core/utils/patch"; import { patch } from "@web/core/utils/patch";
import { session } from "@web/session"; import { session } from "@web/session";
patch(WebClient.prototype, "app_odoo_customize.WebClient", { patch(WebClient.prototype, {
setup() { setup() {
// 处理 navbar 全局可配置位置 // 处理 navbar 全局可配置位置
var self = this; var self = this;
self._super.apply(this, arguments); super.setup();
this.state.navbar_pos_pc = session.app_navbar_pos_pc || 'top'; this.state.navbar_pos_pc = session.app_navbar_pos_pc || 'top';
this.state.navbar_pos_mobile = session.app_navbar_pos_mobile || 'top'; this.state.navbar_pos_mobile = session.app_navbar_pos_mobile || 'top';
if (self.env.isSmall) if (self.env.isSmall)