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'