38 lines
1.5 KiB
CoffeeScript
38 lines
1.5 KiB
CoffeeScript
HomeDirective = ($q, homeService, projectsService) ->
|
|
link = (scope, el, attrs, ctrl) ->
|
|
scope.vm = {}
|
|
|
|
projectsPromise = projectsService.getCurrentUserProjects()
|
|
workInProgresPromise = homeService.getWorkInProgress()
|
|
|
|
$q.all([projectsPromise, workInProgresPromise]).then ->
|
|
homeService.attachProjectInfoToWorkInProgress(projectsService.currentUserProjectsById)
|
|
|
|
taiga.defineImmutableProperty(scope.vm, "projects", () -> projectsService.currentUserProjects)
|
|
taiga.defineImmutableProperty(scope.vm, "workInProgress", () -> homeService.workInProgress)
|
|
|
|
if scope.vm.workInProgress.size > 0
|
|
userStories = scope.vm.workInProgress.get("assignedTo").get("userStories")
|
|
tasks = scope.vm.workInProgress.get("assignedTo").get("tasks")
|
|
issues = scope.vm.workInProgress.get("assignedTo").get("issues")
|
|
scope.vm.assignedTo = userStories.concat(tasks).concat(issues)
|
|
|
|
userStories = scope.vm.workInProgress.get("watching").get("userStories")
|
|
tasks = scope.vm.workInProgress.get("watching").get("tasks")
|
|
issues = scope.vm.workInProgress.get("watching").get("issues")
|
|
scope.vm.watching = userStories.concat(tasks).concat(issues)
|
|
|
|
return {
|
|
templateUrl: "home/home.html"
|
|
scope: {}
|
|
link: link
|
|
}
|
|
|
|
HomeDirective.$inject = [
|
|
"$q",
|
|
"tgHomeService",
|
|
"tgProjectsService"
|
|
]
|
|
|
|
angular.module("taigaHome").directive("tgHome", HomeDirective)
|