From 9ad05c699bf634ca6ee0800ac96638529433aae0 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Mon, 8 Aug 2011 16:46:16 +0530 Subject: [PATCH 01/11] [IMP]Implement shortcut functionality. bzr revid: vme@tinyerp.com-20110808111616-2qi3d6hfebix0uho --- addons/base/controllers/main.py | 6 +- addons/base/static/src/css/base.css | 54 ++++++++++++++++++ addons/base/static/src/img/add-shortcut.png | Bin 0 -> 395 bytes .../base/static/src/img/remove-shortcut.png | Bin 0 -> 559 bytes addons/base/static/src/js/chrome.js | 35 +++++++++++- addons/base/static/src/js/search.js | 32 ++++++++++- addons/base/static/src/xml/base.xml | 11 +++- 7 files changed, 130 insertions(+), 8 deletions(-) create mode 100644 addons/base/static/src/img/add-shortcut.png create mode 100644 addons/base/static/src/img/remove-shortcut.png diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index aaf89853cad..4fd848f1957 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -259,9 +259,9 @@ class Session(openerpweb.Controller): @openerpweb.jsonrequest def sc_list(self, req): - return req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", - req.session.eval_context(req.context)) - + return sorted(req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", + req.session.eval_context(req.context)), key=lambda k: k['id']) + @openerpweb.jsonrequest def get_lang_list(self, req): try: diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index 7f670be071f..15e8979a985 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -1180,3 +1180,57 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ -webkit-box-shadow: none; box-shadow: none; } +/* Shortcuts*/ +#shortcut_add_remove { + height: 20px; + padding: 0; + width: 24px; + cursor: pointer; + display: inline; /*IE7 */ + display: inline-block; +} +.shortcut-add { + background: url(../img/add-shortcut.png) no-repeat; + background-position: bottom; +} +.shortcut-remove{ + background: url(../img/remove-shortcut.png) no-repeat; + background-position: bottom; +} +/* ================ */ +#shortcuts { + position: absolute; + + margin: 0; + padding: 6px 5px; + top: 37px; + left: 197px; + right: 0; + height: 17px; + line-height: 1.2; +} +#shortcuts ul { + display: block; + overflow: hidden; + list-style: none; + white-space: nowrap; + padding: 0; + margin: 0; +} +#shortcuts li { + cursor: pointer; + display: -moz-inline-stack; + display: inline-block; + display: inline; /*IE7 */ + color: #fff; + text-align: center; + border-left: 1px solid #909090; + padding-left: 4px; + font-size: 90%; + font-weight: normal; +} +#shortcuts li:first-child, +#shortcuts li.first { + border-left: none; + padding-left: 0; +} diff --git a/addons/base/static/src/img/add-shortcut.png b/addons/base/static/src/img/add-shortcut.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc0a09eb45dacebcc267e9afdecbb513417b31b GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!6#=yXs@#Xw?Acwug)7O>#7P|sMQAR|ROS_(hZsfHSL$jNa`YN^1ZZ%`DZZXP{pQ&{TYqcpOG$q=JO8Mv#o%|~l7Ww&@w!BbYg;4wgM*|BPc3XTNjk3SYmpXpsB!z6 z&pOQkt7qvah&+htUVm!C`*_m>mIdEbIYMfWdp6`a^Iv%PXzsQ|84sLt1D2es_ zw-4e;u4!i`6)eB!YOX!&Z20VJaa~sg3ofRJ*PN_WdFOi8`bUu;BTMuFnHvR{CMWto zJ@}7#!&0-1pfAyU{hZTR|6?g^Uss*;O0!C!Ir#HAhJ)|;8`))RuWgk5S@Oc@*cQ%v n$2w~DAEkr_d|G?@_)msE-)HLi~m% zGp!Pd#X>}=C2iwZ1DVWZUNU)eJOk}QmN*U)##+S)Xvw~mfW)*!`K)K({v*Hy{Hx0T>+c`bhHD z(!;$Dx#OWlTu3P+X1Z5MYlcAs#HnqZ4sONZ1A;dmj_d*tkA8k~(DH4KL4%NgCx}Vf zXW={ZD84vik#nq*z~vvtfbi`(W}JtpY7ko*Yw#L=BZKwAg(f-4NCCFy*`JjWc-CXA zEe?ykmZ%0;HHJjneue7yOCaZYqyT&TyOcd7^P1XV;LTtj0?@ueG)mdS?SK<15DW}I xifig>mUe&0@9Z~pH4|_GZd48W!iOfB^ADG-*}e8}F~R@<002ovPDHLkV1h063mE_a literal 0 HcmV?d00001 diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index fd5fae7727d..876482f2b8d 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -25,6 +25,9 @@ openerp.base.Session = openerp.base.Widget.extend( /** @lends openerp.base.Sessi this.module_list = []; this.module_loaded = {"base": true}; this.context = {}; + this.sc_list ={}; + this.active_id = ""; + this.active_menu_name = ""; }, start: function() { this.session_restore(); @@ -858,8 +861,36 @@ openerp.base.Header = openerp.base.Widget.extend({ do_update: function() { this.$element.html(QWeb.render("Header", this)); this.$element.find(".logout").click(this.on_logout); + this.shortcut_load(); + }, + shortcut_load :function(){ + var self = this; + this.rpc('/base/session/sc_list', {}, function(sc_list_data){ + self.session.sc_list = sc_list_data + self.$element.find('#shortcuts').html(QWeb.render('Shortcuts', {'shortcuts_pass': sc_list_data})); + self.shortcut_menu_load(); + }); + }, + + shortcut_menu_load :function(){ + var self = this + this.$element.find('#shortcuts ul li').click(function(ev, id){ + self.session.active_id = this.id; + self.rpc('/base/menu/action', {'menu_id':this.id},function(ir_menu_data){ + if (ir_menu_data.action.length){ + this.action_manager = new openerp.base.ActionManager(self, "oe_app"); + this.action_manager.do_action(ir_menu_data.action[0][2]); + self.session.active_menu_name = ir_menu_data.action[0][2]['name']; + } + }); + }); + }, + on_logout: function() { + this.remove(); + }, + remove:function(){ + this.$element.find('#shortcuts').html(QWeb.render('Shortcuts', {'shortcuts_pass': {}})); }, - on_logout: function() {} }); openerp.base.Menu = openerp.base.Widget.extend({ @@ -921,6 +952,7 @@ openerp.base.Menu = openerp.base.Widget.extend({ $secondary.show(); if (id) { + this.session.active_id = id; this.rpc('/base/menu/action', {'menu_id': id}, this.on_menu_action_loaded); } @@ -935,6 +967,7 @@ openerp.base.Menu = openerp.base.Widget.extend({ on_menu_action_loaded: function(data) { var self = this; if (data.action.length) { + this.session.active_menu_name = data.action[0][2]['name']; var action = data.action[0][2]; self.on_action(action); } diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 0a1f2396123..aeadfa66008 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -144,7 +144,7 @@ openerp.base.SearchView = openerp.base.Widget.extend({ $.when.apply(null, widget_starts).then(function () { self.ready.resolve(); }); - + this.shortcut_check(); this.reload_managed_filters(); }, reload_managed_filters: function() { @@ -344,7 +344,34 @@ openerp.base.SearchView = openerp.base.Widget.extend({ // triggers refresh this.$element.find('form').submit(); } - } + }, + shortcut_check: function(){ + var img = "shortcut-add"; + for(var list_shortcut=0; list_shortcut +
+
+ + +
    +
  • + +
  • +
@@ -867,7 +876,7 @@ -

+

From f17f4bbd481ec40b66a122a8c694675994e19603 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Fri, 12 Aug 2011 12:42:48 +0530 Subject: [PATCH 02/11] [IMP]checked that shortcut are from either ir.ui.menu or it is tree view bzr revid: vme@tinyerp.com-20110812071248-y9oqa8t1wx61xciu --- addons/base/controllers/main.py | 2 +- addons/base/static/src/css/base.css | 4 +-- addons/base/static/src/js/chrome.js | 29 ++++++++-------- addons/base/static/src/js/search.js | 28 --------------- addons/base/static/src/js/views.js | 53 +++++++++++++++++++++++++++-- addons/base/static/src/xml/base.xml | 8 +++-- 6 files changed, 75 insertions(+), 49 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 4fd848f1957..c5ca4730856 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -259,7 +259,7 @@ class Session(openerpweb.Controller): @openerpweb.jsonrequest def sc_list(self, req): - return sorted(req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", + return sorted(req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", req.session.eval_context(req.context)), key=lambda k: k['id']) @openerpweb.jsonrequest diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index 15e8979a985..b99dcd5a077 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -1190,11 +1190,11 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ display: inline-block; } .shortcut-add { - background: url(../img/add-shortcut.png) no-repeat; + background: url(/base/static/src/img/add-shortcut.png) no-repeat; background-position: bottom; } .shortcut-remove{ - background: url(../img/remove-shortcut.png) no-repeat; + background: url(/base/static/src/img/remove-shortcut.png) no-repeat; background-position: bottom; } /* ================ */ diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 876482f2b8d..9c46251d54e 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -27,7 +27,6 @@ openerp.base.Session = openerp.base.Widget.extend( /** @lends openerp.base.Sessi this.context = {}; this.sc_list ={}; this.active_id = ""; - this.active_menu_name = ""; }, start: function() { this.session_restore(); @@ -860,37 +859,37 @@ openerp.base.Header = openerp.base.Widget.extend({ }, do_update: function() { this.$element.html(QWeb.render("Header", this)); - this.$element.find(".logout").click(this.on_logout); this.shortcut_load(); + this.shortcut_menu_load(); + this.$element.find(".logout").click(this.on_logout); }, shortcut_load :function(){ var self = this; this.rpc('/base/session/sc_list', {}, function(sc_list_data){ - self.session.sc_list = sc_list_data + self.session.sc_list = sc_list_data; self.$element.find('#shortcuts').html(QWeb.render('Shortcuts', {'shortcuts_pass': sc_list_data})); - self.shortcut_menu_load(); + }); }, shortcut_menu_load :function(){ - var self = this + var self = this; this.$element.find('#shortcuts ul li').click(function(ev, id){ self.session.active_id = this.id; + self.active_shortcut = "ir.ui.menu"; self.rpc('/base/menu/action', {'menu_id':this.id},function(ir_menu_data){ if (ir_menu_data.action.length){ - this.action_manager = new openerp.base.ActionManager(self, "oe_app"); - this.action_manager.do_action(ir_menu_data.action[0][2]); - self.session.active_menu_name = ir_menu_data.action[0][2]['name']; + self.on_action(ir_menu_data.action[0][2]); } }); }); }, + on_action: function(action) { + }, + on_logout: function() { - this.remove(); - }, - remove:function(){ - this.$element.find('#shortcuts').html(QWeb.render('Shortcuts', {'shortcuts_pass': {}})); - }, + this.$element.find('#shortcuts ul li').remove(); + } }); openerp.base.Menu = openerp.base.Widget.extend({ @@ -953,6 +952,7 @@ openerp.base.Menu = openerp.base.Widget.extend({ if (id) { this.session.active_id = id; + this.active_shortcut = "ir.ui.menu"; this.rpc('/base/menu/action', {'menu_id': id}, this.on_menu_action_loaded); } @@ -967,7 +967,6 @@ openerp.base.Menu = openerp.base.Widget.extend({ on_menu_action_loaded: function(data) { var self = this; if (data.action.length) { - this.session.active_menu_name = data.action[0][2]['name']; var action = data.action[0][2]; self.on_action(action); } @@ -1014,6 +1013,8 @@ openerp.base.WebClient = openerp.base.Widget.extend({ this.menu = new openerp.base.Menu(this, "oe_menu", "oe_secondary_menu"); this.menu.on_action.add(this.on_menu_action); + this.header.on_action.add(this.on_menu_action); + }, start: function() { diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index aeadfa66008..96781b46307 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -144,7 +144,6 @@ openerp.base.SearchView = openerp.base.Widget.extend({ $.when.apply(null, widget_starts).then(function () { self.ready.resolve(); }); - this.shortcut_check(); this.reload_managed_filters(); }, reload_managed_filters: function() { @@ -345,33 +344,6 @@ openerp.base.SearchView = openerp.base.Widget.extend({ this.$element.find('form').submit(); } }, - shortcut_check: function(){ - var img = "shortcut-add"; - for(var list_shortcut=0; list_shortcut
  • - +
+
@@ -419,6 +420,9 @@
+ + +
-

+

From 5f0eb9e11b9c530937f50acbdc91b570484ae797 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Fri, 12 Aug 2011 18:05:59 +0530 Subject: [PATCH 03/11] [IMP] imporve code and re implement shortcut check functionality bzr revid: vme@tinyerp.com-20110812123559-va1fumifmld75tdc --- addons/base/static/src/js/chrome.js | 3 +- addons/base/static/src/js/views.js | 73 +++++++++++++---------------- 2 files changed, 33 insertions(+), 43 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 9c46251d54e..740fe7412c0 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -860,7 +860,6 @@ openerp.base.Header = openerp.base.Widget.extend({ do_update: function() { this.$element.html(QWeb.render("Header", this)); this.shortcut_load(); - this.shortcut_menu_load(); this.$element.find(".logout").click(this.on_logout); }, shortcut_load :function(){ @@ -868,7 +867,7 @@ openerp.base.Header = openerp.base.Widget.extend({ this.rpc('/base/session/sc_list', {}, function(sc_list_data){ self.session.sc_list = sc_list_data; self.$element.find('#shortcuts').html(QWeb.render('Shortcuts', {'shortcuts_pass': sc_list_data})); - + self.shortcut_menu_load(); }); }, diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index b5b69f0cbec..7158a254df5 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -15,7 +15,6 @@ openerp.base.ActionManager = openerp.base.Widget.extend({ // Will use parent to find it when implementation will be done. this.session.action_manager = this; }, - do_action: function(action, on_closed) { action.flags = _.extend({ sidebar : action.target != 'new', @@ -88,7 +87,7 @@ openerp.base.ActionManager = openerp.base.Widget.extend({ this.current_dialog.stop(); this.current_dialog = null; } - }, + } }); openerp.base.ActionDialog = openerp.base.Dialog.extend({ @@ -127,10 +126,12 @@ openerp.base.ViewManager = openerp.base.Widget.extend({ this._super(); var self = this; this.dataset.start(); + this.$element.html(QWeb.render("ViewManager", {"prefix": this.element_id, views: this.views_src})); this.$element.find('.oe_vm_switch button').click(function() { self.on_mode_switch($(this).data('view-type')); }); + _.each(this.views_src, function(view) { self.views[view.view_type] = $.extend({}, view, { controller : null, @@ -168,7 +169,7 @@ openerp.base.ViewManager = openerp.base.Widget.extend({ if (view.embedded_view) { controller.set_embedded_view(view.embedded_view); } - if (view_type === 'list' && this.flags.search_view === false && this.action && this.action['auto_search']) { + if (view_type === 'list' && this.flags.search_view === false && this.action && this.action['auto_search']) { // In case the search view is not instantiated: manually call ListView#search var domains = !_(self.action.domain).isEmpty() ? [self.action.domain] : [], @@ -272,51 +273,43 @@ openerp.base.ViewManager = openerp.base.Widget.extend({ contexts: function () { return []; }, - shortcut_check: function(view_id,view_type){ - var self = this; - $('#shortcut_add_remove').show(); - if (view_type == "tree" || typeof view_id != "boolean" && this.views_src[0].view_id == view_id - //to check view is either from menu or it is tree view... - { + shortcut_check : function(view_id,view_type){ + main_view = this.session.action_manager.viewmanager.views_src[0]; + if (view_type == "tree" || main_view.view_id == view_id && main_view.view_type == view_type && + this.element_id == "oe_app"){ + $('#shortcut_add_remove').show(); var img = "shortcut-add"; - for(var list_shortcut=0; list_shortcut Date: Tue, 16 Aug 2011 12:11:10 +0200 Subject: [PATCH 04/11] [FIX] don't re-sort shortcuts based on whatever, just display them as returned by get_sc bzr revid: xmo@openerp.com-20110816101110-3n6hc9ttxrx8pfwu --- addons/base/controllers/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index c5ca4730856..6526c81b4a8 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -259,9 +259,9 @@ class Session(openerpweb.Controller): @openerpweb.jsonrequest def sc_list(self, req): - return sorted(req.session.model('ir.ui.view_sc').get_sc(req.session._uid, "ir.ui.menu", - req.session.eval_context(req.context)), key=lambda k: k['id']) - + return req.session.model('ir.ui.view_sc').get_sc( + req.session._uid, "ir.ui.menu", req.session.eval_context(req.context)) + @openerpweb.jsonrequest def get_lang_list(self, req): try: From b1e8671583108397dc95c185bb281b69947f4295 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 16 Aug 2011 12:26:20 +0200 Subject: [PATCH 05/11] [IMP] remove some dead code, simplify shortcuts template, replace shortcut id by class bzr revid: xmo@openerp.com-20110816102620-b7zodiqoi91rz0m1 --- addons/base/static/src/css/base.css | 10 ++++---- addons/base/static/src/js/chrome.js | 36 ++++++++++++----------------- addons/base/static/src/xml/base.xml | 16 ++++++------- 3 files changed, 27 insertions(+), 35 deletions(-) diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index b99dcd5a077..2b85cedd6a9 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -1198,7 +1198,7 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ background-position: bottom; } /* ================ */ -#shortcuts { +.oe-shortcuts { position: absolute; margin: 0; @@ -1209,7 +1209,7 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ height: 17px; line-height: 1.2; } -#shortcuts ul { +.oe-shortcuts ul { display: block; overflow: hidden; list-style: none; @@ -1217,7 +1217,7 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ padding: 0; margin: 0; } -#shortcuts li { +.oe-shortcuts li { cursor: pointer; display: -moz-inline-stack; display: inline-block; @@ -1229,8 +1229,8 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ font-size: 90%; font-weight: normal; } -#shortcuts li:first-child, -#shortcuts li.first { +.oe-shortcuts li:first-child, +.oe-shortcuts li.first { border-left: none; padding-left: 0; } diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 740fe7412c0..e071a71b23d 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -855,33 +855,28 @@ openerp.base.Header = openerp.base.Widget.extend({ this._super(parent, element_id); }, start: function() { - this.do_update(); + return this.do_update(); }, - do_update: function() { + do_update: function () { this.$element.html(QWeb.render("Header", this)); - this.shortcut_load(); this.$element.find(".logout").click(this.on_logout); + return this.shortcut_load(); }, shortcut_load :function(){ var self = this; - this.rpc('/base/session/sc_list', {}, function(sc_list_data){ - self.session.sc_list = sc_list_data; - self.$element.find('#shortcuts').html(QWeb.render('Shortcuts', {'shortcuts_pass': sc_list_data})); - self.shortcut_menu_load(); + return this.rpc('/base/session/sc_list', {}, function(shortcuts) { + self.session.sc_list = shortcuts; + self.$element.find('.oe-shortcuts') + .html(QWeb.render('Shortcuts', {'shortcuts': shortcuts})) + .delegate('li', 'click', function() { + self.session.active_id = this.id; + self.rpc('/base/menu/action', {'menu_id':this.id}, function(ir_menu_data) { + if (ir_menu_data.action.length){ + self.on_action(ir_menu_data.action[0][2]); + } + }); + }); }); - }, - - shortcut_menu_load :function(){ - var self = this; - this.$element.find('#shortcuts ul li').click(function(ev, id){ - self.session.active_id = this.id; - self.active_shortcut = "ir.ui.menu"; - self.rpc('/base/menu/action', {'menu_id':this.id},function(ir_menu_data){ - if (ir_menu_data.action.length){ - self.on_action(ir_menu_data.action[0][2]); - } - }); - }); }, on_action: function(action) { }, @@ -951,7 +946,6 @@ openerp.base.Menu = openerp.base.Widget.extend({ if (id) { this.session.active_id = id; - this.active_shortcut = "ir.ui.menu"; this.rpc('/base/menu/action', {'menu_id': id}, this.on_menu_action_loaded); } diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 3004e9ef408..c41952785de 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -360,16 +360,14 @@
-
-
- - -
    -
  • - -
  • -
+
+
    +
  • +
From 840f25e1436c64faedf8c5f18e7c22c015edf0c8 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 16 Aug 2011 13:17:46 +0200 Subject: [PATCH 06/11] [FIX] remove events during re-render, so they're not registered multiple times bzr revid: xmo@openerp.com-20110816111746-hiv9699dfjss6njv --- addons/base/static/src/js/chrome.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index e071a71b23d..922ba876504 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -868,7 +868,9 @@ openerp.base.Header = openerp.base.Widget.extend({ self.session.sc_list = shortcuts; self.$element.find('.oe-shortcuts') .html(QWeb.render('Shortcuts', {'shortcuts': shortcuts})) - .delegate('li', 'click', function() { + .undelegate('li', 'click') + .delegate('li', 'click', function(e) { + e.stopPropagation(); self.session.active_id = this.id; self.rpc('/base/menu/action', {'menu_id':this.id}, function(ir_menu_data) { if (ir_menu_data.action.length){ From 1d5f8506c8aa1677a13b89509a5f0d4903db085a Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 16 Aug 2011 14:35:10 +0200 Subject: [PATCH 07/11] [IMP] cleanup shortcuts toggle code bzr revid: xmo@openerp.com-20110816123510-gcx0dk8b2sgox5oi --- addons/base/static/src/css/base.css | 12 ++--- addons/base/static/src/js/views.js | 80 +++++++++++++++-------------- addons/base/static/src/xml/base.xml | 6 +-- 3 files changed, 48 insertions(+), 50 deletions(-) diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index 2b85cedd6a9..11fa3015f01 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -1181,21 +1181,17 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ box-shadow: none; } /* Shortcuts*/ -#shortcut_add_remove { +.oe-shortcut-toggle { height: 20px; padding: 0; width: 24px; cursor: pointer; display: inline; /*IE7 */ display: inline-block; + background: url(/base/static/src/img/add-shortcut.png) no-repeat bottom; } -.shortcut-add { - background: url(/base/static/src/img/add-shortcut.png) no-repeat; - background-position: bottom; -} -.shortcut-remove{ - background: url(/base/static/src/img/remove-shortcut.png) no-repeat; - background-position: bottom; +.oe-shortcut-remove{ + background: url(/base/static/src/img/remove-shortcut.png) no-repeat bottom; } /* ================ */ .oe-shortcuts { diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index 7158a254df5..4df26c60ae8 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -160,7 +160,6 @@ openerp.base.ViewManager = openerp.base.Widget.extend({ view_promise; this.active_view = view_type; var view = this.views[view_type]; - this.shortcut_check(view.view_id,view_type); if (!view.controller) { // Lazy loading of views var controllerclass = this.registry.get_object(view_type); @@ -272,44 +271,7 @@ openerp.base.ViewManager = openerp.base.Widget.extend({ */ contexts: function () { return []; - }, - shortcut_check : function(view_id,view_type){ - main_view = this.session.action_manager.viewmanager.views_src[0]; - if (view_type == "tree" || main_view.view_id == view_id && main_view.view_type == view_type && - this.element_id == "oe_app"){ - $('#shortcut_add_remove').show(); - var img = "shortcut-add"; - for(var list_shortcut=0; list_shortcut
- - - - +