[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:
Mohammed Shekha
2017-02-09 10:45:27 +01:00
committed by Yannick Tivisse
parent 87d186d8d3
commit 90c5430ab6
2 changed files with 17 additions and 6 deletions
+15 -5
View File
@@ -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();
}
});
},
+2 -1
View File
@@ -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>