diff --git a/src/app/search/template/criteria_tag_item.html b/src/app/search/template/criteria_tag_item.html index d09fe6df..dcf9ac61 100644 --- a/src/app/search/template/criteria_tag_item.html +++ b/src/app/search/template/criteria_tag_item.html @@ -22,6 +22,13 @@ × +
+ Tag: {{tag.title}} + + × + +
{{tag.title}}  {{match.model.title}} + +  {{match.model.title}} +  {{match.model.value}}: {{match.model.title}} diff --git a/src/app/services/criteria/tags.js b/src/app/services/criteria/tags.js new file mode 100644 index 00000000..d0d5492e --- /dev/null +++ b/src/app/services/criteria/tags.js @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2016 Codethink Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + + +/** + * This criteria resolver may be injected by individual resources that accept a + * Tags search parameter. + */ +angular.module('sb.services').factory('Tags', + function (Criteria, $q) { + 'use strict'; + + /** + * Return a Tags search parameter constructed from the passed search + * string. + */ + + return { + criteriaResolver: function (searchString) { + var deferred = $q.defer(); + deferred.resolve([Criteria.create('Tags', searchString)]); + + return deferred.promise; + } + }; + }); diff --git a/src/app/services/resource/story.js b/src/app/services/resource/story.js index 2e5f83ab..67773728 100644 --- a/src/app/services/resource/story.js +++ b/src/app/services/resource/story.js @@ -57,6 +57,7 @@ angular.module('sb.services').factory('Story', { Text: 'q', StoryStatus: 'status', + Tags: 'tags', ProjectGroup: 'project_group_id', Project: 'project_id', User: 'assignee_id'