diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 7aea1cdd5e3..e49e9ce1cbd 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -822,8 +822,8 @@ instance.web.UserMenu = instance.web.Widget.extend({ {text: _t("Change password"), click: function(){ self.change_password(); }}, {text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }}, {text: _t("Save"), click: function(){ - var inner_viewmanager = action_manager.inner_viewmanager; - inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save() + var inner_widget = action_manager.inner_widget; + inner_widget.views[inner_widget.active_view].controller.do_save() .then(function() { self.dialog.destroy(); // needs to refresh interface in case language changed diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js index 8733a191b21..7c333dccbfc 100644 --- a/addons/web/static/src/js/view_editor.js +++ b/addons/web/static/src/js/view_editor.js @@ -53,7 +53,7 @@ instance.web.ViewEditor = instance.web.OldWidget.extend({ this.main_view_id = this.parent.fields_view.view_id; this.action_manager = new instance.web.ActionManager(this); $.when(this.action_manager.do_action(action)).then(function() { - var viewmanager = self.action_manager.inner_viewmanager, + var viewmanager = self.action_manager.inner_widget, controller = viewmanager.views[viewmanager.active_view].controller; self.action_manager.appendTo(self.view_edit_dialog.$element); self.action_manager.renderElement(self.view_edit_dialog); @@ -88,7 +88,7 @@ instance.web.ViewEditor = instance.web.OldWidget.extend({ } else { $.when(self.do_save_view(view_values)).then(function() { self.create_view_dialog.close(); - var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller; + var controller = self.action_manager.inner_widget.views[self.action_manager.inner_widget.active_view].controller; controller.reload_content(); }); } @@ -167,7 +167,7 @@ instance.web.ViewEditor = instance.web.OldWidget.extend({ do_delete_view: function() { var self = this; if (confirm(_t("Do you really want to remove this view?"))) { - var controller = this.action_manager.inner_viewmanager.views[this.action_manager.inner_viewmanager.active_view].controller; + var controller = this.action_manager.inner_widget.views[this.action_manager.inner_widget.active_view].controller; this.dataset.unlink([this.main_view_id]).then(function() { controller.reload_content(); self.main_view_id = self.parent.fields_view.view_id; @@ -397,7 +397,7 @@ instance.web.ViewEditor = instance.web.OldWidget.extend({ action_manager.do_action(action); }}, {text: _t("Close"), click: function(){ - self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller.reload_content(); + self.action_manager.inner_widget.views[self.action_manager.inner_widget.active_view].controller.reload_content(); self.edit_xml_dialog.close(); }} ] diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 3b5f3466cf1..640044e1742 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -10,10 +10,9 @@ instance.web.ActionManager = instance.web.Widget.extend({ init: function(parent) { this._super(parent); this.inner_action = null; - this.inner_viewmanager = null; + this.inner_widget = null; this.dialog = null; this.dialog_viewmanager = null; - this.client_widget = null; }, start: function() { this._super.apply(this, arguments); @@ -28,14 +27,9 @@ instance.web.ActionManager = instance.web.Widget.extend({ } }, content_stop: function () { - // TODO: problem with bread crumb here. Check if those references are needed - if (this.inner_viewmanager) { - this.inner_viewmanager.destroy(); - this.inner_viewmanager = null; - } - if (this.client_widget) { - this.client_widget.destroy(); - this.client_widget = null; + if (this.inner_widget) { + this.inner_widget.destroy(); + this.inner_widget = null; } }, do_push_state: function(state) { @@ -54,7 +48,7 @@ instance.web.ActionManager = instance.web.Widget.extend({ var self = this, action_loaded; if (state.action_id) { - var run_action = (!this.inner_viewmanager) || this.inner_viewmanager.action.id !== state.action_id; + var run_action = (!this.inner_widget && !this.inner_widget.action) || this.inner_widget.action.id !== state.action_id; if (run_action) { this.null_action(); action_loaded = this.do_action(state.action_id); @@ -94,8 +88,8 @@ instance.web.ActionManager = instance.web.Widget.extend({ } $.when(action_loaded || null).then(function() { - if (self.inner_viewmanager) { - self.inner_viewmanager.do_load_state(state, warm); + if (self.inner_widget && self.inner_widget.do_load_state) { + self.inner_widget.do_load_state(state, warm); } }); }, @@ -164,10 +158,10 @@ instance.web.ActionManager = instance.web.Widget.extend({ }); } this.inner_action = action; - var inner_viewmanager = this.inner_viewmanager = new instance.web.ViewManagerAction(this, action); - this.breadcrumb.push_viewmanager(inner_viewmanager); - this.inner_viewmanager.appendTo(this.$element); - this.inner_viewmanager.$element.addClass("oe_view_manager_" + (action.target || 'current')); + var inner_widget = this.inner_widget = new instance.web.ViewManagerAction(this, action); + this.breadcrumb.push_viewmanager(inner_widget); + this.inner_widget.appendTo(this.$element); + this.inner_widget.$element.addClass("oe_view_manager_" + (action.target || 'current')); } }, ir_actions_act_window_close: function (action, on_closed) { @@ -190,12 +184,12 @@ instance.web.ActionManager = instance.web.Widget.extend({ this.dialog_stop(); this.breadcrumb.hide_items(); var ClientWidget = instance.web.client_actions.get_object(action.tag); - this.client_widget = new ClientWidget(this, action.params); + this.inner_widget = new ClientWidget(this, action.params); this.breadcrumb.push({ - widget: this.client_widget, + widget: this.inner_widget, title: action.name }); - this.client_widget.appendTo(this.$element); + this.inner_widget.appendTo(this.$element); }, ir_actions_report_xml: function(action, on_closed) { var self = this; diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index 651c3808c2f..0754bfd7e2b 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -209,8 +209,8 @@ instance.web.form.DashBoard = instance.web.form.FormWidget.extend({ } }); } - if (am.inner_viewmanager) { - am.inner_viewmanager.on_mode_switch.add(function(mode) { + if (am.inner_widget) { + am.inner_widget.on_mode_switch.add(function(mode) { var new_views = []; _.each(action_orig.views, function(view) { new_views[view[1] === mode ? 'unshift' : 'push'](view); @@ -219,7 +219,7 @@ instance.web.form.DashBoard = instance.web.form.FormWidget.extend({ new_views.unshift([false, mode]); } action_orig.views = new_views; - action_orig.res_id = am.inner_viewmanager.dataset.ids[am.inner_viewmanager.dataset.index]; + action_orig.res_id = am.inner_widget.dataset.ids[am.inner_widget.dataset.index]; self.do_action(action_orig); }); } diff --git a/addons/web_process/static/src/js/process.js b/addons/web_process/static/src/js/process.js index 2a2e13ca196..bb32d300be8 100644 --- a/addons/web_process/static/src/js/process.js +++ b/addons/web_process/static/src/js/process.js @@ -260,7 +260,7 @@ openerp.web_process = function (instance) { buttons : [ {text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }}, {text: _t("Save"), click: function() { - var form_view = action_manager.inner_viewmanager.views.form.controller; + var form_view = action_manager.inner_widget.views.form.controller; form_view.do_save(function() { self.initialize_process_view();