diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 75c3bbd766f..cf1c5e06520 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -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", diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index adaf568ddcc..5077db3901b 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -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; } diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index ca2d5ee2e29..d1d59a88f69 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -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 > "%:p:r.css" // vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker: + diff --git a/addons/web/static/src/css/base_old.css b/addons/web/static/src/css/base_old.css index a4307146e9c..04733e9b660 100644 --- a/addons/web/static/src/css/base_old.css +++ b/addons/web/static/src/css/base_old.css @@ -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, diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 6e703baaec7..da31153ec26 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -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 = ''; -} - -/** 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 = ''; +} + +/** 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(); diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 39d375dfd8b..bf79f6adabb 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -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 = { }; diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index f8fafc3b07a..b6386bbf938 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -863,8 +863,8 @@ -
-
    +
    +