[IMP] web: Separate personal and shared favorite filters in search view
Purpose ======= When there are lots of shared filters then its difficult to differentiate personal and shared filters Specification ========== - Show all personal filters first as user will prefer his own filters to come first in list - Show all shared filters after personal filter in list - Add separator line between personal and shared filter
This commit is contained in:
committed by
Yannick Tivisse
parent
87d186d8d3
commit
90c5430ab6
@@ -45,7 +45,8 @@ return Widget.extend({
|
||||
this.$save_search = this.$('.o_save_search');
|
||||
this.$save_name = this.$('.o_save_name');
|
||||
this.$inputs = this.$save_name.find('input');
|
||||
this.$divider = this.$('.divider');
|
||||
this.$user_divider = this.$('.divider.user_filter');
|
||||
this.$shared_divider = this.$('.divider.shared_filter');
|
||||
this.$inputs.eq(0).val(this.searchview.get_title());
|
||||
var $shared_filter = this.$inputs.eq(1),
|
||||
$default_filter = this.$inputs.eq(2);
|
||||
@@ -204,7 +205,11 @@ return Widget.extend({
|
||||
var self = this;
|
||||
var key = this.key_for(filter);
|
||||
|
||||
this.$divider.show();
|
||||
if (filter.user_id) {
|
||||
this.$user_divider.show();
|
||||
} else {
|
||||
this.$shared_divider.show();
|
||||
}
|
||||
if (!(key in this.$filters)) {
|
||||
var $filter = $('<li>')
|
||||
.addClass(filter.user_id ? 'o-searchview-custom-private'
|
||||
@@ -219,7 +224,7 @@ return Widget.extend({
|
||||
},
|
||||
},
|
||||
}))
|
||||
.insertBefore(this.$divider);
|
||||
.insertBefore(filter.user_id ? this.$user_divider : this.$shared_divider);
|
||||
this.$filters[key] = $filter;
|
||||
}
|
||||
this.$filters[key].unbind('click').click(function () {
|
||||
@@ -252,8 +257,13 @@ return Widget.extend({
|
||||
$filter.remove();
|
||||
delete self.$filters[key];
|
||||
delete self.filters[key];
|
||||
if (_.isEmpty(self.filters)) {
|
||||
self.$divider.hide();
|
||||
var has_user_filter = _.find(self.filters, function(filter) { return filter.user_id; });
|
||||
var has_shared_filer = _.find(self.filters, function(filter) { return !filter.user_id; });
|
||||
if (!has_user_filter) {
|
||||
self.$user_divider.hide();
|
||||
}
|
||||
if (!has_shared_filer) {
|
||||
self.$shared_divider.hide();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -1216,7 +1216,8 @@
|
||||
<span class="fa fa-star"/> Favorites <span class="caret"/>
|
||||
</button>
|
||||
<ul class="dropdown-menu o_favorites_menu" role="menu">
|
||||
<li class="divider"/>
|
||||
<li class="divider user_filter"/>
|
||||
<li class="divider shared_filter"/>
|
||||
<li class="o_save_search o_closed_menu">
|
||||
<a href="#">Save current search</a>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user