diff --git a/app/coffee/modules/common/directives.coffee b/app/coffee/modules/common/directives.coffee
index b6993084..c618d8c0 100644
--- a/app/coffee/modules/common/directives.coffee
+++ b/app/coffee/modules/common/directives.coffee
@@ -75,29 +75,32 @@ DateSelectorDirective =->
## User story status directive
#############################################################################
+
+# TODO: change to less generic name.
+
UsStatusDirective = ($repo) ->
- ### Print the status of a US and a popover to change it.
- - tg-us-status: The user story
- - on-update: Method call after US is updated
+ ###
+ Print the status of a US and a popover to change it.
+ - tg-us-status: The user story
+ - on-update: Method call after US is updated
Example:
- div.status(tg-us-status="us" on-update="ctrl.loadSprintState()")
- a.us-status(href="", title="Status Name")
+ div.status(tg-us-status="us" on-update="ctrl.loadSprintState()")
+ a.us-status(href="", title="Status Name")
NOTE: This directive need 'usStatusById' and 'project'.
###
selectionTemplate = _.template("""
-
- """)
+ """)
updateUsStatus = ($el, us, usStatusById) ->
usStatusDomParent = $el.find(".us-status")
@@ -140,8 +143,94 @@ UsStatusDirective = ($repo) ->
return {link: link}
+#############################################################################
+## List directives (Issues List, Search)
+#############################################################################
+
+ListItemIssueStatusDirective = ->
+ link = ($scope, $el, $attrs) ->
+ issue = $scope.$eval($attrs.tgListitemIssueStatus)
+ bindOnce $scope, "issueStatusById", (issueStatusById) ->
+ $el.html(issueStatusById[issue.status].name)
+
+ return {link:link}
+
+
+ListItemAssignedtoDirective = ->
+ template = """
+
+
+ --
+
+ """
+
+ link = ($scope, $el, $attrs) ->
+ issue = $scope.$eval($attrs.tgListitemAssignedto)
+ if issue.assigned_to is null
+ $el.find("figcaption").html("Unassigned")
+ else
+ bindOnce $scope, "membersById", (membersById) ->
+ member = membersById[issue.assigned_to]
+ console.log member
+ $el.find("figcaption").html(member.full_name)
+ $el.find("img").attr("src", member.photo)
+
+ return {
+ template: template
+ link:link
+ }
+
+
+ListItemPriorityDirective = ->
+ template = """
+
+ """
+
+ link = ($scope, $el, $attrs) ->
+ issue = $scope.$eval($attrs.tgListitemPriority)
+ bindOnce $scope, "priorityById", (priorityById) ->
+ priority = priorityById[issue.priority]
+
+ domNode = $el.find("div.level")
+ domNode.css("background-color", priority.color)
+ domNode.addClass(priority.name.toLowerCase())
+ domNode.attr("title", priority.name)
+
+ return {
+ link: link
+ template: template
+ }
+
+
+ListItemSeverityDirective = ->
+ template = """
+
+ """
+
+ link = ($scope, $el, $attrs) ->
+ issue = $scope.$eval($attrs.tgListitemSeverity)
+ bindOnce $scope, "severityById", (severityById) ->
+ severity = severityById[issue.severity]
+
+ domNode = $el.find("div.level")
+ domNode.css("background-color", severity.color)
+ domNode.addClass(severity.name.toLowerCase())
+ domNode.attr("title", severity.name)
+
+ return {
+ link: link
+ template: template
+ }
+
+
module = angular.module("taigaCommon")
module.directive("tgDateRange", DateRangeDirective)
module.directive("tgSprintProgressbar", SprintProgressBarDirective)
module.directive("tgDateSelector", DateSelectorDirective)
module.directive("tgUsStatus", ["$tgRepo", UsStatusDirective])
+
+module.directive("tgListitemIssueStatus", ListItemIssueStatusDirective)
+module.directive("tgListitemAssignedto", ListItemAssignedtoDirective)
+module.directive("tgListitemPriority", ListItemPriorityDirective)
+module.directive("tgListitemSeverity", ListItemSeverityDirective)
+
diff --git a/app/coffee/modules/issues/list.coffee b/app/coffee/modules/issues/list.coffee
index 9db21da3..7430dff2 100644
--- a/app/coffee/modules/issues/list.coffee
+++ b/app/coffee/modules/issues/list.coffee
@@ -235,82 +235,4 @@ IssuesDirective = ($log, $location) ->
return {link:link}
-IssueStatusDirective = ->
- link = ($scope, $el, $attrs) ->
- issue = $scope.$eval($attrs.tgIssueStatus)
- bindOnce $scope, "issueStatusById", (issueStatusById) ->
- $el.html(issueStatusById[issue.status].name)
-
- return {link:link}
-
-
-IssueAssignedtoDirective = ->
- template = """
-
-
- --
-
- """
-
- link = ($scope, $el, $attrs) ->
- issue = $scope.$eval($attrs.tgIssueAssignedto)
- if issue.assigned_to is null
- $el.find("figcaption").html("Unassigned")
- else
- bindOnce $scope, "membersById", (membersById) ->
- memberName = membersById[issue.assigned_to].full_name_display
- $el.find("figcaption").html(memberName)
-
- return {
- template: template
- link:link
- }
-
-
-IssuePriorityDirective = ->
- template = """
-
- """
-
- link = ($scope, $el, $attrs) ->
- issue = $scope.$eval($attrs.tgIssuePriority)
- bindOnce $scope, "priorityById", (priorityById) ->
- priority = priorityById[issue.priority]
-
- domNode = $el.find("div.level")
- domNode.css("background-color", priority.color)
- domNode.addClass(priority.name.toLowerCase())
- domNode.attr("title", priority.name)
-
- return {
- link: link
- template: template
- }
-
-
-IssueSeverityDirective = ->
- template = """
-
- """
-
- link = ($scope, $el, $attrs) ->
- issue = $scope.$eval($attrs.tgIssueSeverity)
- bindOnce $scope, "severityById", (severityById) ->
- severity = severityById[issue.severity]
-
- domNode = $el.find("div.level")
- domNode.css("background-color", severity.color)
- domNode.addClass(severity.name.toLowerCase())
- domNode.attr("title", severity.name)
-
- return {
- link: link
- template: template
- }
-
-
module.directive("tgIssues", ["$log", "$tgLocation", IssuesDirective])
-module.directive("tgIssueStatus", IssueStatusDirective)
-module.directive("tgIssueAssignedto", IssueAssignedtoDirective)
-module.directive("tgIssuePriority", IssuePriorityDirective)
-module.directive("tgIssueSeverity", IssueSeverityDirective)
diff --git a/app/partials/views/modules/issues-table.jade b/app/partials/views/modules/issues-table.jade
index 83b86600..a74c6062 100644
--- a/app/partials/views/modules/issues-table.jade
+++ b/app/partials/views/modules/issues-table.jade
@@ -6,10 +6,10 @@ section.issues-table.basic-table
div.issue-field Status
div.assigned-field Assigned to
div.row.table-main(ng-repeat="issue in issues track by issue.id")
- div.level-field(tg-issue-severity="issue")
- div.level-field(tg-issue-priority="issue")
+ div.level-field(tg-listitem-severity="issue")
+ div.level-field(tg-listitem-priority="issue")
div.subject
a(href="", tg-nav="project-issues-detail:project=project.slug,ref=issue.ref",
tg-bo-html="issue.subject")
- div.issue-field(tg-issue-status="issue")
- div.assigned-field(tg-issue-assignedto="issue")
+ div.issue-field(tg-listitem-issue-status="issue")
+ div.assigned-field(tg-listitem-assignedto="issue")