diff --git a/frontend/app/scripts/components/organisation/OrgCaseTemplateModalCtrl.js b/frontend/app/scripts/components/organisation/OrgCaseTemplateModalCtrl.js index d0f5afd86a..dca5e3ee17 100644 --- a/frontend/app/scripts/components/organisation/OrgCaseTemplateModalCtrl.js +++ b/frontend/app/scripts/components/organisation/OrgCaseTemplateModalCtrl.js @@ -235,7 +235,7 @@ }; self.getTags = function (query) { - return TagSrv.fromCases(query); + return TagSrv.getTags(query); }; }); })(); diff --git a/frontend/app/scripts/controllers/case/CaseCreationCtrl.js b/frontend/app/scripts/controllers/case/CaseCreationCtrl.js index 7d449569bb..0c7cc96478 100644 --- a/frontend/app/scripts/controllers/case/CaseCreationCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseCreationCtrl.js @@ -112,7 +112,7 @@ }; $scope.getTags = function(query) { - return TagSrv.fromCases(query); + return TagSrv.getTags(query); }; $scope.keys = function(o) { diff --git a/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js b/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js index 030302eaae..e41a9b1fbe 100644 --- a/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseDetailsCtrl.js @@ -64,7 +64,7 @@ }; $scope.getCaseTags = function(query) { - return TagSrv.fromCases(query); + return TagSrv.getTags(query); }; }); diff --git a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js index f9793b094c..847a1129f3 100644 --- a/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseObservablesItemCtrl.js @@ -310,7 +310,7 @@ }; $scope.getTags = function(query) { - return TagSrv.fromObservables(query); + return TagSrv.getTags(query); }; $scope.loadShares = function () { diff --git a/frontend/app/scripts/controllers/case/CaseUpdateCtrl.js b/frontend/app/scripts/controllers/case/CaseUpdateCtrl.js index c2a6f34aaf..148d5a821c 100644 --- a/frontend/app/scripts/controllers/case/CaseUpdateCtrl.js +++ b/frontend/app/scripts/controllers/case/CaseUpdateCtrl.js @@ -134,7 +134,7 @@ }; this.getTags = function(query) { - return TagSrv.fromCases(query); + return TagSrv.getTags(query); }; self.fromTagLibrary = function(field) { diff --git a/frontend/app/scripts/controllers/case/ObservableCreationCtrl.js b/frontend/app/scripts/controllers/case/ObservableCreationCtrl.js index 08baf45d39..da6e7f70e4 100644 --- a/frontend/app/scripts/controllers/case/ObservableCreationCtrl.js +++ b/frontend/app/scripts/controllers/case/ObservableCreationCtrl.js @@ -196,7 +196,7 @@ }; $scope.getTags = function(query) { - return TagSrv.fromObservables(query); + return TagSrv.getTags(query); }; } ); diff --git a/frontend/app/scripts/controllers/case/ObservableUpdateCtrl.js b/frontend/app/scripts/controllers/case/ObservableUpdateCtrl.js index 110537476d..78c597012f 100644 --- a/frontend/app/scripts/controllers/case/ObservableUpdateCtrl.js +++ b/frontend/app/scripts/controllers/case/ObservableUpdateCtrl.js @@ -137,7 +137,7 @@ }; this.getTags = function(query) { - return TagSrv.fromObservables(query); + return TagSrv.getTags(query); }; self.fromTagLibrary = function(field) { diff --git a/frontend/app/scripts/directives/dashboard/filter-editor.js b/frontend/app/scripts/directives/dashboard/filter-editor.js index 787f06bb62..dbfb2ab552 100644 --- a/frontend/app/scripts/directives/dashboard/filter-editor.js +++ b/frontend/app/scripts/directives/dashboard/filter-editor.js @@ -77,7 +77,7 @@ var promise = null; if(field.name === 'tags') { - return TagSrv.getTagsFor(scope.entity, query); + return TagSrv.getTags(query); } else if(field.type === 'user') { promise = AuthenticationSrv.current() .then(function(user) { diff --git a/frontend/app/scripts/services/api/TagSrv.js b/frontend/app/scripts/services/api/TagSrv.js index 33fdf049f9..273cd41535 100644 --- a/frontend/app/scripts/services/api/TagSrv.js +++ b/frontend/app/scripts/services/api/TagSrv.js @@ -5,45 +5,30 @@ var self = this; - var getTags = function(objectType, term) { // TODO remove objectType parameter (not used anymore) + this.getTags = function(term) { var defer = $q.defer(); - QuerySrv.call('v0', [ - { _name: 'autoComplete', freeTag: term, limit: 10 }, - ], {name: 'tags-auto-complete'}) - .then(function(data) { - defer.resolve(_.map(_.unique(data), function(tag) { - return {text: tag}; - })); - }); - return defer.promise; - }; - - this.getTagsFor = function(entity, query) { - - switch(entity) { - case 'case': - return self.fromCases(query); - case 'observable': - return self.fromObservables(query); - case 'alert': - return self.fromAlerts(query); - default: - return self.getTags(undefined, query); - } - - }; + var operations = [ + { _name: 'listTag'}, + { _name: 'freetags'}, + { _name: 'filter', _like: {_field: 'predicate', _value: term+'*'}}, + { _name: 'sort', _fields: [{'predicate': 'asc'}]}, + { _name: 'text'}, + // { _name: 'page', from: 0, to: 20}, + // { _name: 'text'} + ] + + QuerySrv.query('v1', operations, { + params: { + name: 'tags-auto-complete' + } + }).then(function(response) { + defer.resolve(_.map(response.data, function(tag) { + return {text: tag}; + })); + }); - this.fromCases = function(term) { - return getTags('fromCase', term); - }; - - this.fromObservables = function(term) { - return getTags('fromObservable', term); - }; - - this.fromAlerts = function(term) { - return getTags('fromAlert', term); + return defer.promise; }; });