notebook styling

bzr revid: al@openerp.com-20120401215507-yxxvpphhm788fq8f
This commit is contained in:
Antony Lesuisse 2012-04-01 23:55:07 +02:00
parent 9a9b9e76bd
commit a5aa1bc1a7
7 changed files with 114 additions and 80 deletions

View File

@ -57,7 +57,7 @@
],
'css' : [
"static/lib/jquery.superfish/css/superfish.css",
"static/lib/jquery.ui/css/smoothness/jquery-ui-1.8.17.custom.css",
#"static/lib/jquery.ui/css/smoothness/jquery-ui-1.8.17.custom.css",
"static/lib/jquery.ui.timepicker/css/jquery-ui-timepicker-addon.css",
"static/lib/jquery.ui.notify/css/ui.notify.css",
"static/lib/jquery.tipsy/tipsy.css",

View File

@ -600,6 +600,56 @@
.openerp2 .oe_layout_debug_cell {
display: none;
}
.openerp2 .oe_form_notebook {
margin: 8px 0;
padding: 0 8px;
list-style: none;
zoom: 1;
}
.openerp2 .oe_form_notebook:before, .openerp2 .oe_form_notebook:after {
display: table;
content: "";
zoom: 1;
}
.openerp2 .oe_form_notebook:after {
clear: both;
}
.openerp2 .oe_form_notebook > li {
float: left;
}
.openerp2 .oe_form_notebook > li > a {
display: block;
color: #4c4c4c;
}
.openerp2 .oe_form_notebook {
border-color: #dddddd;
border-style: solid;
border-width: 0 0 1px;
}
.openerp2 .oe_form_notebook > li {
position: relative;
margin-bottom: -1px;
}
.openerp2 .oe_form_notebook > li > a {
padding: 0 12px;
margin-right: 2px;
line-height: 30px;
border: 1px solid transparent;
-moz-border-radius: 4px 4px 0 0;
-webkit-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.openerp2 .oe_form_notebook > li > a:hover {
text-decoration: none;
background-color: #eeeeee;
border-color: #eeeeee #eeeeee #dddddd;
}
.openerp2 .oe_form_notebook > li.ui-state-active > a, .openerp2 .oe_form_notebook > li.ui-state-active > a:hover {
background-color: white;
border: 1px solid #dddddd;
border-bottom-color: transparent;
cursor: default;
}
.openerp2 .oe_form_label_help[for], .openerp2 .oe_form_label[for] {
white-space: nowrap;
}

View File

@ -509,7 +509,44 @@ $colour4: #8a89ba
.oe_layout_debug_cell
display: none
.oe_form_notebook
margin: 8px 0
padding: 0 8px
list-style: none
zoom: 1
.oe_form_notebook:before, .oe_form_notebook:after
display: table
content: ""
zoom: 1
.oe_form_notebook:after
clear: both
.oe_form_notebook > li
float: left
.oe_form_notebook > li > a
display: block
color: #4c4c4c
.oe_form_notebook
border-color: #ddd
border-style: solid
border-width: 0 0 1px
.oe_form_notebook > li
position: relative
margin-bottom: -1px
.oe_form_notebook > li > a
padding: 0 12px
margin-right: 2px
line-height: 30px
border: 1px solid transparent
@include radius(4px 4px 0 0)
.oe_form_notebook > li > a:hover
text-decoration: none
background-color: #eee
border-color: #eee #eee #ddd
.oe_form_notebook > li.ui-state-active > a, .oe_form_notebook > li.ui-state-active > a:hover
background-color: #ffffff
border: 1px solid #ddd
border-bottom-color: transparent
cursor: default
// }}}
// FormView Widgets {{{
@ -530,3 +567,4 @@ $colour4: #8a89ba
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:

View File

@ -807,39 +807,6 @@ label.error {
border-bottom-right-radius: 4px;
}
/* Notebook */
.openerp .oe_form_notebook {
padding: 0;
background: none;
border-width: 0;
}
.openerp .oe_form_notebook .ui-tabs-panel {
padding: 4px;
-moz-border-radius-topright: 4px;
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
}
.openerp .oe_form_notebook ul.ui-tabs-nav {
padding-left: 0;
background: transparent;
border-width: 0;
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
line-height: 0.8em;
font-size: 95%;
color: #555;
}
.openerp .oe_form_notebook ul.ui-tabs-nav li {
font-weight: bold;
}
.openerp .oe_form_notebook .ui-tabs-panel {
background: #f9f9f9;
border-width: 1px;
}
.openerp .oe_form_notebook .ui-tabs-selected {
background: #f9f9f9;
}
/* Unedit Form */
.openerp .oe_form_group_cell > .oe_form_field_many2one,
.openerp .oe_form_group_cell > .oe_form_field_many2one input,
@ -894,10 +861,6 @@ label.error {
.openerp fieldset.oe_group_box legend {
font-weight: bold;
}
.openerp td.oe_form_group_cell {
padding: 2px;
height: 25px;
}
.openerp .oe_form_field_translatable,
.openerp .oe_form_field_many2one,
.openerp .oe_form_field_date,

View File

@ -13,6 +13,8 @@ openerp.web.core = function(openerp) {
// a function to override the "extend()" method of JR's inheritance, allowing
// the usage of "include()"
// al: Either move it into novajs or make sure we dont use include, i dont want 2 diff implementations of 'extend'
oe_override_class = function(claz){
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ?
/\b_super\b/ : /.*/;
@ -93,6 +95,7 @@ oe_override_class = function(claz){
return Class;
};
};
oe_override_class(nova.Class);
oe_override_class(nova.Widget);
@ -1370,24 +1373,6 @@ openerp.web.TranslationDataBase = openerp.web.Class.extend(/** @lends openerp.we
}
});
/** Configure blockui */
if ($.blockUI) {
$.blockUI.defaults.baseZ = 1100;
$.blockUI.defaults.message = '<img src="/web/static/src/img/throbber2.gif">';
}
/** Custom jQuery plugins */
$.fn.getAttributes = function() {
var o = {};
if (this.length) {
for (var attr, i = 0, attrs = this[0].attributes, l = attrs.length; i < l; i++) {
attr = attrs.item(i)
o[attr.nodeName] = attr.nodeValue;
}
}
return o;
}
/** Configure default qweb */
openerp.web._t = new openerp.web.TranslationDataBase().build_translation_function();
/**
@ -1440,22 +1425,23 @@ openerp.web.qweb.preprocess_node = function() {
}
};
/**
* A small utility function to check if a class implements correctly an interface, assuming that
* interface is simply specified using a dictionary containing methods and attributes with the
* correct type. It only performs the check when in debug mode and the only effect of an invalid
* check is messages in the console.
*/
openerp.web.check_interface = function(_class, _interface) {
if (! openerp.web.check_interface.debug)
return;
for (var member in _interface) {
if ( (typeof _class.prototype[member] != typeof _interface[member]) ) {
console.error("class failed to implement interface member '" + member + "'");
/** Configure blockui */
if ($.blockUI) {
$.blockUI.defaults.baseZ = 1100;
$.blockUI.defaults.message = '<img src="/web/static/src/img/throbber2.gif">';
}
/** Custom jQuery plugins */
$.fn.getAttributes = function() {
var o = {};
if (this.length) {
for (var attr, i = 0, attrs = this[0].attributes, l = attrs.length; i < l; i++) {
attr = attrs.item(i)
o[attr.nodeName] = attr.nodeValue;
}
}
return o;
}
openerp.web.check_interface.debug = ($.deparam($.param.querystring()).debug != undefined);
/** Jquery extentions */
$.Mutex = (function() {
@ -1478,7 +1464,6 @@ $.Mutex = (function() {
openerp.connection = new openerp.web.Connection();
openerp.web.qweb.default_dict['__debug__'] = openerp.connection.debug;
$.async_when = function() {
var async = false;
var def = $.Deferred();

View File

@ -983,12 +983,12 @@ openerp.web.FormRenderingEngine = nova.Class.extend({
var self = this;
var pages = [];
$notebook.find('> page').each(function() {
var $page = $(this),
page_attrs = $page.getAttributes();
var $page = $(this);
var page_attrs = $page.getAttributes();
page_attrs.id = _.uniqueId('notebook_page_');
pages.push(page_attrs);
var $new_page = self.render_element('FormRenderingNotebookPage', page_attrs),
$dst = self.legacy_mode ? $new_page.find('group:first') : $new_page;
var $new_page = self.render_element('FormRenderingNotebookPage', page_attrs);
var $dst = self.legacy_mode ? $new_page.find('group:first') : $new_page;
$page.children().appendTo($dst);
$page.before($new_page).remove();
self.handle_common_properties($new_page, $page);
@ -1243,8 +1243,7 @@ openerp.web.form.InvisibilityChanger = nova.Class.extend(_.extend({}, nova.Gette
},
}));
openerp.web.form.Widget = openerp.web.Widget.extend(/** @lends openerp.web.form.Widget# */
_.extend({}, openerp.web.form.InvisibilityChangerMixin, {
openerp.web.form.Widget = openerp.web.Widget.extend(_.extend({}, openerp.web.form.InvisibilityChangerMixin, {
/**
* @constructs openerp.web.form.Widget
* @extends openerp.web.Widget
@ -1455,7 +1454,6 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({
* - view_content_has_changed : when the values of the fields have changed. When
* this event is triggered all fields should reprocess their modifiers.
*/
openerp.web.form.FieldManagerInterface = {
};

View File

@ -863,8 +863,8 @@
</t>
</t>
<t t-name="FormRenderingNotebook">
<div class="oe_form_notebook">
<ul>
<div>
<ul class="oe_form_notebook">
<li t-foreach="pages" t-as="page">
<a t-attf-href="##{page.id}">
<t t-esc="page.string"/>