diff --git a/addons/board/static/src/css/dashboard.css b/addons/board/static/src/css/dashboard.css index f3d300add2e..6907b4271a0 100644 --- a/addons/board/static/src/css/dashboard.css +++ b/addons/board/static/src/css/dashboard.css @@ -50,6 +50,13 @@ content: "+"; margin-left: 4px; } +.openerp .oe_dashboard .oe_action .oe_header .oe_header_text { + visibility: hidden; + cursor: text; +} +.openerp .oe_dashboard .oe_action .oe_header span { + cursor: pointer; +} .openerp .oe_dashboard .oe_action .oe_header_empty { padding-top: 0; padding-bottom: 2px; diff --git a/addons/board/static/src/css/dashboard.sass b/addons/board/static/src/css/dashboard.sass index dd4d144e918..4bacc7bd892 100644 --- a/addons/board/static/src/css/dashboard.sass +++ b/addons/board/static/src/css/dashboard.sass @@ -49,6 +49,11 @@ .oe_maximize:after content: "+" margin-left: 4px + .oe_header_text + visibility: hidden + cursor: text + span + cursor: pointer .oe_header_empty padding-top: 0 padding-bottom: 2px diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js index b9df81bf868..02f6afba442 100644 --- a/addons/board/static/src/js/dashboard.js +++ b/addons/board/static/src/js/dashboard.js @@ -22,12 +22,15 @@ instance.web.form.DashBoard = instance.web.form.FormWidget.extend({ connectWith: '.oe_dashboard_column', handle: '.oe_header', scroll: false - }).disableSelection().bind('sortstop', self.do_save_dashboard); + }).bind('sortstop', self.do_save_dashboard); // Events this.$element.find('.oe_dashboard_link_reset').click(this.on_reset); this.$element.find('.oe_dashboard_link_change_layout').click(this.on_change_layout); - + this.$element.find('h2.oe_header span:first').click(function(ev){ + if(ev.target === ev.currentTarget) + self.on_header_string($(ev.target).parent()); + }); this.$element.delegate('.oe_dashboard_column .oe_fold', 'click', this.on_fold_action); this.$element.delegate('.oe_dashboard_column .oe_close', 'click', this.on_close_action); @@ -46,6 +49,30 @@ instance.web.form.DashBoard = instance.web.form.FormWidget.extend({ }); }); }, + on_header_string:function(h2){ + var self = this; + var span = h2.find('span:first').hide(); + var input = h2.find('.oe_header_text').css('visibility','visible'); + var attr = h2.closest(".oe_action").data('action_attrs'); + var change_string = function(new_name){ + attr['string'] = new_name; + span.text(new_name).show(); + input.css('visibility','hidden'); + self.do_save_dashboard(); + } + input.unbind() + .val(span.text()) + .change(function(event){ + change_string($(this).val()); + }) + .keyup(function(event){ + if(event.keyCode == 27){ + //esc key to cancel changes + input.css('visibility','hidden'); + span.show(); + } + }); + }, on_reset: function() { this.rpc('/web/view/undo_custom', { view_id: this.view.fields_view.view_id, diff --git a/addons/board/static/src/xml/board.xml b/addons/board/static/src/xml/board.xml index 13d81d11f8d..caa20ce8a3f 100644 --- a/addons/board/static/src/xml/board.xml +++ b/addons/board/static/src/xml/board.xml @@ -23,13 +23,15 @@

- + +  

+