diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index eaf3d671874..2fa9a38a82b 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -103,11 +103,12 @@ html_template = """ - + """ @@ -270,7 +271,6 @@ class WebClient(openerpweb.Controller): 'js': js, 'css': css, 'modules': simplejson.dumps(self.server_wide_modules(req)), - 'init': 'new s.web.WebClient().start();', } return r diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 2a27e61eb3d..324cc3fb108 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1,7 +1,8 @@ -body.openerp { +body { padding: 0; margin: 0; overflow-y: scroll; + height: 100%; } .openerp { padding: 0; diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index ba31ec81846..558631c6f13 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -45,6 +45,12 @@ openerp.web.Notification = openerp.web.OldWidget.extend(/** @lends openerp.web. }); +openerp.web.dialog = function(element) { + var result = element.dialog.apply(element, _.rest(_.toArray(arguments))); + result.dialog("widget").addClass("openerp"); + return result; +} + openerp.web.Dialog = openerp.web.OldWidget.extend(/** @lends openerp.web.Dialog# */{ dialog_title: "", /** @@ -86,7 +92,7 @@ openerp.web.Dialog = openerp.web.OldWidget.extend(/** @lends openerp.web.Dialog# if (this.dialog_options.autoOpen) { this.open(); } else { - this.$element.dialog(this.get_options()); + openerp.web.dialog(this.$element, this.get_options()); } }, get_options: function(options) { @@ -125,7 +131,7 @@ openerp.web.Dialog = openerp.web.OldWidget.extend(/** @lends openerp.web.Dialog# this.$element.html(this.render()); } var o = this.get_options(options); - this.$element.dialog(o).dialog('open'); + openerp.web.dialog(this.$element, o).dialog('open'); if (o.height === 'auto' && o.max_height) { this.$element.css({ 'max-height': o.max_height, 'overflow-y': 'auto' }); } @@ -166,7 +172,7 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({ } }, on_managed_error: function(error) { - $('
' + QWeb.render('CrashManagerWarning', {error: error}) + '
').dialog({ + openerp.web.dialog($('
' + QWeb.render('CrashManagerWarning', {error: error}) + '
'), { title: "OpenERP " + _.str.capitalize(error.type), buttons: [ {text: _t("Ok"), click: function() { $(this).dialog("close"); }} @@ -407,7 +413,7 @@ openerp.web.Database = openerp.web.OldWidget.extend(/** @lends openerp.web.Datab * @param {String} error.error message of the error dialog */ display_error: function (error) { - return $('
').dialog({ + return openerp.web.dialog($('
'), { modal: true, title: error.title, buttons: [ @@ -704,7 +710,7 @@ openerp.web.Header = openerp.web.OldWidget.extend(/** @lends openerp.web.Header window.location = $.param.querystring( window.location.href, 'debug'); }); - $help.dialog({autoOpen: true, + openerp.web.dialog($help, {autoOpen: true, modal: true, width: 960, title: _t("About")}); }); }, @@ -828,7 +834,7 @@ openerp.web.Header = openerp.web.OldWidget.extend(/** @lends openerp.web.Header }); }, display_error: function (error) { - return $('
').dialog({ + return openerp.web.dialog($('
'), { modal: true, title: error.title, buttons: [ @@ -1073,9 +1079,11 @@ openerp.web.WebClient = openerp.web.OldWidget.extend(/** @lends openerp.web.WebC this._current_state = null; }, + render_element: function() { + this.$element.addClass("openerp"); + }, start: function() { var self = this; - this.$element = $(document.body); if (jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { this.$element.addClass("kitten-mode-activated"); this.$element.delegate('img.oe-record-edit-link-img', 'hover', function(e) { diff --git a/addons/web/static/src/js/data_import.js b/addons/web/static/src/js/data_import.js index 83eea2cccbb..e88ba765200 100644 --- a/addons/web/static/src/js/data_import.js +++ b/addons/web/static/src/js/data_import.js @@ -151,7 +151,7 @@ openerp.web.DataImport = openerp.web.Dialog.extend({ }); }, toggle_import_button: function (newstate) { - this.$element.dialog('widget') + openerp.web.dialog(this.$element, 'widget') .find('.oe-dialog-import-button') .button('option', 'disabled', !newstate); }, diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 74ae65785f9..9cd3aca19f4 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -232,7 +232,7 @@ openerp.web.SearchView = openerp.web.OldWidget.extend(/** @lends openerp.web.Sea context.add({"group_by": groupbys}); var dial_html = QWeb.render("SearchView.managed-filters.add"); var $dial = $(dial_html); - $dial.dialog({ + openerp.web.dialog($dial, { modal: true, title: _t("Filter Entry"), buttons: [ @@ -281,7 +281,7 @@ openerp.web.SearchView = openerp.web.OldWidget.extend(/** @lends openerp.web.Sea selected_menu_id : menu.$element.find('a.active').data('menu') })); $dialog.find('input').val(this.fields_view.name); - $dialog.dialog({ + openerp.web.dialog($dialog, { modal: true, title: _t("Add to Dashboard"), buttons: [ diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 3f576089e5b..fc641521e3d 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -422,7 +422,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# this.on_form_changed(); } if (!_.isEmpty(result.warning)) { - $(QWeb.render("CrashManagerWarning", result.warning)).dialog({ + openerp.web.dialog($(QWeb.render("CrashManagerWarning", result.warning)), { modal: true, buttons: [ {text: _t("Ok"), click: function() { $(this).dialog("close"); }} @@ -1249,7 +1249,7 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ var exec_action = function() { if (self.node.attrs.confirm) { var def = $.Deferred(); - var dialog = $('
' + self.node.attrs.confirm + '
').dialog({ + var dialog = openerp.web.dialog($('
' + self.node.attrs.confirm + '
'), { title: _t('Confirm'), modal: true, buttons: [ @@ -2043,6 +2043,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ minLength: 0, delay: 0 }); + this.$input.autocomplete("widget").addClass("openerp"); // used to correct a bug when selecting an element by pushing 'enter' in an editable list this.$input.keyup(function(e) { if (e.which === 13) { @@ -3026,7 +3027,7 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp this.context = context || {}; this.options = _.defaults(options || {}, {"auto_write": true}); this.render_element(); - this.$element.dialog({ + openerp.web.dialog(this.$element, { title: options.title || '', modal: true, width: 960, diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 56997190bc1..534f940b56d 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -916,7 +916,7 @@ session.web.Sidebar = session.web.OldWidget.extend({ var ids = self.widget_parent.get_selected_ids(); if (ids.length == 0) { //TODO: make prettier warning? - $("
").text(_t("You must choose at least one record.")).dialog({ + openerp.web.dialog($("
").text(_t("You must choose at least one record.")), { title: _t("Warning"), modal: true });