Browse Source

[IMP] Make web_environment_ribbon more generic

By creating the ribbon div on the fly, this module doesn't depend
anymore on the webclient structure.
pull/424/head
Sylvain GARANCHER 8 years ago
parent
commit
142db4b9c9
  1. 5
      web_environment_ribbon/static/src/css/ribbon.css
  2. 50
      web_environment_ribbon/static/src/js/ribbon.js
  3. 8
      web_environment_ribbon/view/base_view.xml

5
web_environment_ribbon/static/src/css/ribbon.css

@ -3,7 +3,7 @@
.test-ribbon{ .test-ribbon{
width: 200px; width: 200px;
top: 50px;
top: 25px;
left: -50px; left: -50px;
text-align: center; text-align: center;
line-height: 50px; line-height: 50px;
@ -14,10 +14,11 @@
-moz-transform: rotate(-45deg); -moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg); -o-transform: rotate(-45deg);
transform: rotate(-45deg); transform: rotate(-45deg);
z-index: 1000;
z-index: 9999;
position: fixed; position: fixed;
box-shadow: 0 0 3px rgba(0,0,0,.3); box-shadow: 0 0 3px rgba(0,0,0,.3);
background: rgba(255,0,0,.6); background: rgba(255,0,0,.6);
pointer-events: none;
} }
.test-ribbon b { .test-ribbon b {

50
web_environment_ribbon/static/src/js/ribbon.js

@ -27,35 +27,33 @@ function validStrColour(strToTest) {
} }
core.bus.on('web_client_ready', null, function () { core.bus.on('web_client_ready', null, function () {
var ribbon = $('.test-ribbon');
// If ribbon is found in DOM
if (ribbon.length) {
ribbon.hide();
model.call('get_param', ['ribbon.name']).then(
function (name) {
if (name && name != 'False') {
ribbon.html(name);
ribbon.show();
}
var ribbon = $('<div class="test-ribbon"/>');
$('body').append(ribbon);
ribbon.hide();
model.call('get_param', ['ribbon.name']).then(
function (name) {
if (name && name != 'False') {
ribbon.html(name);
ribbon.show();
} }
);
// Get ribbon color from system parameters
model.call('get_param', ['ribbon.color']).then(
function (strColor) {
if (strColor && validStrColour(strColor)) {
ribbon.css('color', strColor);
}
}
);
// Get ribbon color from system parameters
model.call('get_param', ['ribbon.color']).then(
function (strColor) {
if (strColor && validStrColour(strColor)) {
ribbon.css('color', strColor);
} }
);
// Get ribbon background color from system parameters
model.call('get_param', ['ribbon.background.color']).then(
function (strBackgroundColor) {
if (strBackgroundColor && validStrColour(strBackgroundColor)) {
ribbon.css('background-color', strBackgroundColor);
}
}
);
// Get ribbon background color from system parameters
model.call('get_param', ['ribbon.background.color']).then(
function (strBackgroundColor) {
if (strBackgroundColor && validStrColour(strBackgroundColor)) {
ribbon.css('background-color', strBackgroundColor);
} }
);
}
}
);
}); });
}); // odoo.define }); // odoo.define

8
web_environment_ribbon/view/base_view.xml

@ -15,12 +15,4 @@
</xpath> </xpath>
</template> </template>
<!-- Add ribbon to page -->
<template id="body_with_ribbon_test" name="ribbon_test web.webclient_bootstrap"
inherit_id="web.webclient_bootstrap">
<xpath expr="//div[@class='openerp openerp_webclient_container oe_webclient']" position="before">
<div class="test-ribbon"/>
</xpath>
</template>
</odoo> </odoo>
Loading…
Cancel
Save