notebook styling
bzr revid: al@openerp.com-20120401215507-yxxvpphhm788fq8f
This commit is contained in:
parent
9a9b9e76bd
commit
a5aa1bc1a7
|
@ -57,7 +57,7 @@
|
||||||
],
|
],
|
||||||
'css' : [
|
'css' : [
|
||||||
"static/lib/jquery.superfish/css/superfish.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.timepicker/css/jquery-ui-timepicker-addon.css",
|
||||||
"static/lib/jquery.ui.notify/css/ui.notify.css",
|
"static/lib/jquery.ui.notify/css/ui.notify.css",
|
||||||
"static/lib/jquery.tipsy/tipsy.css",
|
"static/lib/jquery.tipsy/tipsy.css",
|
||||||
|
|
|
@ -600,6 +600,56 @@
|
||||||
.openerp2 .oe_layout_debug_cell {
|
.openerp2 .oe_layout_debug_cell {
|
||||||
display: none;
|
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] {
|
.openerp2 .oe_form_label_help[for], .openerp2 .oe_form_label[for] {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
|
@ -509,7 +509,44 @@ $colour4: #8a89ba
|
||||||
.oe_layout_debug_cell
|
.oe_layout_debug_cell
|
||||||
display: none
|
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 {{{
|
// FormView Widgets {{{
|
||||||
|
@ -530,3 +567,4 @@ $colour4: #8a89ba
|
||||||
|
|
||||||
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
|
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
|
||||||
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
|
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
|
||||||
|
|
||||||
|
|
|
@ -807,39 +807,6 @@ label.error {
|
||||||
border-bottom-right-radius: 4px;
|
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 */
|
/* Unedit Form */
|
||||||
.openerp .oe_form_group_cell > .oe_form_field_many2one,
|
.openerp .oe_form_group_cell > .oe_form_field_many2one,
|
||||||
.openerp .oe_form_group_cell > .oe_form_field_many2one input,
|
.openerp .oe_form_group_cell > .oe_form_field_many2one input,
|
||||||
|
@ -894,10 +861,6 @@ label.error {
|
||||||
.openerp fieldset.oe_group_box legend {
|
.openerp fieldset.oe_group_box legend {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
.openerp td.oe_form_group_cell {
|
|
||||||
padding: 2px;
|
|
||||||
height: 25px;
|
|
||||||
}
|
|
||||||
.openerp .oe_form_field_translatable,
|
.openerp .oe_form_field_translatable,
|
||||||
.openerp .oe_form_field_many2one,
|
.openerp .oe_form_field_many2one,
|
||||||
.openerp .oe_form_field_date,
|
.openerp .oe_form_field_date,
|
||||||
|
|
|
@ -13,6 +13,8 @@ openerp.web.core = function(openerp) {
|
||||||
|
|
||||||
// a function to override the "extend()" method of JR's inheritance, allowing
|
// a function to override the "extend()" method of JR's inheritance, allowing
|
||||||
// the usage of "include()"
|
// 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){
|
oe_override_class = function(claz){
|
||||||
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ?
|
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ?
|
||||||
/\b_super\b/ : /.*/;
|
/\b_super\b/ : /.*/;
|
||||||
|
@ -93,6 +95,7 @@ oe_override_class = function(claz){
|
||||||
return Class;
|
return Class;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
oe_override_class(nova.Class);
|
oe_override_class(nova.Class);
|
||||||
oe_override_class(nova.Widget);
|
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 */
|
/** Configure default qweb */
|
||||||
openerp.web._t = new openerp.web.TranslationDataBase().build_translation_function();
|
openerp.web._t = new openerp.web.TranslationDataBase().build_translation_function();
|
||||||
/**
|
/**
|
||||||
|
@ -1440,22 +1425,23 @@ openerp.web.qweb.preprocess_node = function() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** Configure blockui */
|
||||||
* A small utility function to check if a class implements correctly an interface, assuming that
|
if ($.blockUI) {
|
||||||
* interface is simply specified using a dictionary containing methods and attributes with the
|
$.blockUI.defaults.baseZ = 1100;
|
||||||
* correct type. It only performs the check when in debug mode and the only effect of an invalid
|
$.blockUI.defaults.message = '<img src="/web/static/src/img/throbber2.gif">';
|
||||||
* check is messages in the console.
|
}
|
||||||
*/
|
|
||||||
openerp.web.check_interface = function(_class, _interface) {
|
/** Custom jQuery plugins */
|
||||||
if (! openerp.web.check_interface.debug)
|
$.fn.getAttributes = function() {
|
||||||
return;
|
var o = {};
|
||||||
for (var member in _interface) {
|
if (this.length) {
|
||||||
if ( (typeof _class.prototype[member] != typeof _interface[member]) ) {
|
for (var attr, i = 0, attrs = this[0].attributes, l = attrs.length; i < l; i++) {
|
||||||
console.error("class failed to implement interface member '" + member + "'");
|
attr = attrs.item(i)
|
||||||
|
o[attr.nodeName] = attr.nodeValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return o;
|
||||||
}
|
}
|
||||||
openerp.web.check_interface.debug = ($.deparam($.param.querystring()).debug != undefined);
|
|
||||||
|
|
||||||
/** Jquery extentions */
|
/** Jquery extentions */
|
||||||
$.Mutex = (function() {
|
$.Mutex = (function() {
|
||||||
|
@ -1478,7 +1464,6 @@ $.Mutex = (function() {
|
||||||
openerp.connection = new openerp.web.Connection();
|
openerp.connection = new openerp.web.Connection();
|
||||||
openerp.web.qweb.default_dict['__debug__'] = openerp.connection.debug;
|
openerp.web.qweb.default_dict['__debug__'] = openerp.connection.debug;
|
||||||
|
|
||||||
|
|
||||||
$.async_when = function() {
|
$.async_when = function() {
|
||||||
var async = false;
|
var async = false;
|
||||||
var def = $.Deferred();
|
var def = $.Deferred();
|
||||||
|
|
|
@ -983,12 +983,12 @@ openerp.web.FormRenderingEngine = nova.Class.extend({
|
||||||
var self = this;
|
var self = this;
|
||||||
var pages = [];
|
var pages = [];
|
||||||
$notebook.find('> page').each(function() {
|
$notebook.find('> page').each(function() {
|
||||||
var $page = $(this),
|
var $page = $(this);
|
||||||
page_attrs = $page.getAttributes();
|
var page_attrs = $page.getAttributes();
|
||||||
page_attrs.id = _.uniqueId('notebook_page_');
|
page_attrs.id = _.uniqueId('notebook_page_');
|
||||||
pages.push(page_attrs);
|
pages.push(page_attrs);
|
||||||
var $new_page = self.render_element('FormRenderingNotebookPage', page_attrs),
|
var $new_page = self.render_element('FormRenderingNotebookPage', page_attrs);
|
||||||
$dst = self.legacy_mode ? $new_page.find('group:first') : $new_page;
|
var $dst = self.legacy_mode ? $new_page.find('group:first') : $new_page;
|
||||||
$page.children().appendTo($dst);
|
$page.children().appendTo($dst);
|
||||||
$page.before($new_page).remove();
|
$page.before($new_page).remove();
|
||||||
self.handle_common_properties($new_page, $page);
|
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# */
|
openerp.web.form.Widget = openerp.web.Widget.extend(_.extend({}, openerp.web.form.InvisibilityChangerMixin, {
|
||||||
_.extend({}, openerp.web.form.InvisibilityChangerMixin, {
|
|
||||||
/**
|
/**
|
||||||
* @constructs openerp.web.form.Widget
|
* @constructs openerp.web.form.Widget
|
||||||
* @extends openerp.web.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
|
* - view_content_has_changed : when the values of the fields have changed. When
|
||||||
* this event is triggered all fields should reprocess their modifiers.
|
* this event is triggered all fields should reprocess their modifiers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
openerp.web.form.FieldManagerInterface = {
|
openerp.web.form.FieldManagerInterface = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -863,8 +863,8 @@
|
||||||
</t>
|
</t>
|
||||||
</t>
|
</t>
|
||||||
<t t-name="FormRenderingNotebook">
|
<t t-name="FormRenderingNotebook">
|
||||||
<div class="oe_form_notebook">
|
<div>
|
||||||
<ul>
|
<ul class="oe_form_notebook">
|
||||||
<li t-foreach="pages" t-as="page">
|
<li t-foreach="pages" t-as="page">
|
||||||
<a t-attf-href="##{page.id}">
|
<a t-attf-href="##{page.id}">
|
||||||
<t t-esc="page.string"/>
|
<t t-esc="page.string"/>
|
||||||
|
|
Loading…
Reference in New Issue