From 07c4f41e31fa29cc8bc17ae818a5be60e64c6ca9 Mon Sep 17 00:00:00 2001 From: kbh Date: Thu, 4 Aug 2011 16:39:22 +0530 Subject: [PATCH 1/4] [FIX] Implemented Clear button for search view. bzr revid: kbh@bde-desktop-20110804110922-chcld5vyoovumzha --- addons/base/static/src/js/search.js | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 0a1f2396123..76cfb5864e8 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -315,10 +315,26 @@ openerp.base.SearchView = openerp.base.Widget.extend({ on_invalid: function (errors) { this.notification.notify("Invalid Search", "triggered from search view"); }, - do_clear: function (e) { - if (e && e.preventDefault) { e.preventDefault(); } - this.on_clear(); - }, + do_clear: function () { + this.$element.find(':input').each(function(){ + switch(this.type) { + case 'text': + case 'string': + $(this).val(''); + break; + } + }); + var string = ($("div.expanded").not("#oe_app_search table:first-child .expanded")); + if (string){ + $(string).removeClass('expanded'); + $(string).addClass('folded'); + } + $('#oe_app_search table:last').css('display', 'none'); + $('.searchview_extended_groups_list').empty(); + $('.filter_label').removeClass('enabled'); + this.$element.find('form').submit(); + + }, /** * Triggered when the search view gets cleared * From 081b7d77d60f583cb184f034b3424bb1a620c610 Mon Sep 17 00:00:00 2001 From: kbh Date: Fri, 12 Aug 2011 11:33:06 +0530 Subject: [PATCH 2/4] [FIX] Fixed clear option. bzr revid: kbh@bde-desktop-20110812060306-ozmfx36vvz1uy1h0 --- addons/base/static/src/js/search.js | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 76cfb5864e8..8a4f542f1c7 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -316,24 +316,13 @@ openerp.base.SearchView = openerp.base.Widget.extend({ this.notification.notify("Invalid Search", "triggered from search view"); }, do_clear: function () { - this.$element.find(':input').each(function(){ - switch(this.type) { - case 'text': - case 'string': - $(this).val(''); - break; - } - }); - var string = ($("div.expanded").not("#oe_app_search table:first-child .expanded")); - if (string){ - $(string).removeClass('expanded'); - $(string).addClass('folded'); - } - $('#oe_app_search table:last').css('display', 'none'); + var string = $('a.searchview_group_string'); + _.each(string, function(str){ + $(str).closest('div.searchview_group').removeClass("expanded").addClass('folded'); + }); + this.$element.find('table:last').hide(); $('.searchview_extended_groups_list').empty(); $('.filter_label').removeClass('enabled'); - this.$element.find('form').submit(); - }, /** * Triggered when the search view gets cleared @@ -475,7 +464,7 @@ openerp.base.search.FilterGroup = openerp.base.search.Widget.extend({ }); openerp.base.search.add_expand_listener = function($root) { $root.find('a.searchview_group_string').click(function (e) { - $root.toggleClass('folded expanded'); + $root.toggleClass('folded expanded'); e.stopPropagation(); e.preventDefault(); }); From bb00369ecc8a2d6dd09967864a67206d7782bfaf Mon Sep 17 00:00:00 2001 From: vishmita Date: Mon, 29 Aug 2011 17:49:43 +0530 Subject: [PATCH 3/4] [FIX] Need to reload searchview after Clear . bzr revid: vja@vja-desktop-20110829121943-nqakojh56mn4rezy --- addons/base/static/src/js/search.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 00481fdf992..902217bbbda 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -315,14 +315,24 @@ openerp.base.SearchView = openerp.base.Widget.extend({ this.notification.notify("Invalid Search", "triggered from search view"); }, do_clear: function () { + this.$element.find(':input').each(function(){ + switch(this.type) { + case 'text': + case 'select-one': + $(this).val(''); + break; + } + }); + $('.filter_label').removeClass('enabled'); var string = $('a.searchview_group_string'); _.each(string, function(str){ $(str).closest('div.searchview_group').removeClass("expanded").addClass('folded'); }); this.$element.find('table:last').hide(); + $('.searchview_extended_groups_list').empty(); - $('.filter_label').removeClass('enabled'); - }, + this.do_search(); + }, /** * Triggered when the search view gets cleared * From 567d2dc341aa4fcc8d24d508a3c32c4fde6ea732 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 1 Sep 2011 16:41:59 +0200 Subject: [PATCH 4/4] [IMP] remove explicit clearing of search form fields (let form's native event do that), delay do_search triggering so the native event has the time to execute bzr revid: xmo@openerp.com-20110901144159-tdj037g27635dkfu --- addons/base/static/src/js/search.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 902217bbbda..24edb59a811 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -315,23 +315,17 @@ openerp.base.SearchView = openerp.base.Widget.extend({ this.notification.notify("Invalid Search", "triggered from search view"); }, do_clear: function () { - this.$element.find(':input').each(function(){ - switch(this.type) { - case 'text': - case 'select-one': - $(this).val(''); - break; - } - }); $('.filter_label').removeClass('enabled'); - var string = $('a.searchview_group_string'); + var string = $('a.searchview_group_string'), self = this; _.each(string, function(str){ $(str).closest('div.searchview_group').removeClass("expanded").addClass('folded'); }); this.$element.find('table:last').hide(); $('.searchview_extended_groups_list').empty(); - this.do_search(); + setTimeout(function () { + self.do_search(); + }); }, /** * Triggered when the search view gets cleared