[IMP] move responsibility for facet removal (on click) to the facet's view, use Model#destroy for facet removal instead of a convoluted route through SearchView#query
bzr revid: xmo@openerp.com-20120503115608-7dwyj5j9mq82gv73
This commit is contained in:
parent
69af9da2c8
commit
836dfa6aa8
|
@ -149,7 +149,8 @@ my.FacetView = instance.web.Widget.extend({
|
|||
var self = this;
|
||||
this.$element.on('click', function (e) {
|
||||
if ($(e.target).is('.oe_facet_remove')) {
|
||||
return;
|
||||
self.model.destroy();
|
||||
return false;
|
||||
}
|
||||
self.$element.focus();
|
||||
e.stopPropagation();
|
||||
|
@ -159,8 +160,7 @@ my.FacetView = instance.web.Widget.extend({
|
|||
switch (e.which) {
|
||||
case keys.BACKSPACE:
|
||||
case keys.DELETE:
|
||||
self.getParent().query.remove(
|
||||
self.model, {trigger_search: true});
|
||||
self.model.destroy();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
@ -233,14 +233,8 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
|||
|
||||
this.setup_global_completion();
|
||||
this.query = new my.SearchQuery()
|
||||
.on('add change reset', this.proxy('do_search'))
|
||||
.on('add change reset', this.proxy('renderFacets'))
|
||||
.on('remove', function (record, collection, options) {
|
||||
self.renderFacets();
|
||||
if (options.trigger_search) {
|
||||
self.do_search();
|
||||
}
|
||||
});
|
||||
.on('add change reset remove', this.proxy('do_search'))
|
||||
.on('add change reset remove', this.proxy('renderFacets'));
|
||||
|
||||
if (this.hidden) {
|
||||
this.$element.hide();
|
||||
|
@ -269,15 +263,6 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
|
|||
e.stopImmediatePropagation();
|
||||
self.$element.toggleClass('oe_searchview_open_drawer');
|
||||
});
|
||||
this.$element.on('click', '.oe_facet_remove', function (e) {
|
||||
e.stopImmediatePropagation();
|
||||
// get index of clicked facet: number of preceding facet siblings
|
||||
var index = $(this).closest('.oe_searchview_facet')
|
||||
.prevAll('.oe_searchview_facet')
|
||||
.length;
|
||||
self.query.remove(
|
||||
self.query.at(index), {trigger_search: true});
|
||||
});
|
||||
// Focus last input if the view itself is clicked
|
||||
this.$element.on('click', function (e) {
|
||||
if (e.target === self.$element[0]) {
|
||||
|
|
Loading…
Reference in New Issue