|
|
@@ -41,8 +41,19 @@ function (angular, app, _) {
|
|
|
filter.options = _.map(results, function(node) {
|
|
|
return { text: node.text, value: node.text };
|
|
|
});
|
|
|
+
|
|
|
if (filter.includeAll) {
|
|
|
- filter.options.unshift({text: 'All', value: '*'});
|
|
|
+ if(endsWithWildcard(filter.query)) {
|
|
|
+ filter.options.unshift({text: 'All', value: '*'});
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ var allExpr = '{';
|
|
|
+ _.each(filter.options, function(option) {
|
|
|
+ allExpr += option.text + ',';
|
|
|
+ });
|
|
|
+ allExpr = allExpr.substring(0, allExpr.length - 1) + '}';
|
|
|
+ filter.options.unshift({text: 'All', value: allExpr});
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
filterSrv.filterOptionSelected(filter, filter.options[0]);
|
|
|
@@ -66,5 +77,13 @@ function (angular, app, _) {
|
|
|
$rootScope.$broadcast('render');
|
|
|
};
|
|
|
|
|
|
+ function endsWithWildcard(query) {
|
|
|
+ if (query.length === 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ return query[query.length - 1] === '*';
|
|
|
+ }
|
|
|
+
|
|
|
});
|
|
|
});
|