Hidding deactivated sections

stable
Jesús Espino 2014-08-05 10:05:30 +02:00
parent b678630fe9
commit 93dd5b2a54
16 changed files with 29 additions and 10 deletions

View File

@ -58,6 +58,7 @@ class MembershipsController extends mixOf(taiga.Controller, taiga.PageMixin, tai
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
return project
loadMembers: ->

View File

@ -57,6 +57,7 @@ class ProjectProfileController extends mixOf(taiga.Controller, taiga.PageMixin)
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.pointsList = _.sortBy(project.points, "order")
@scope.usStatusList = _.sortBy(project.us_statuses, "order")
@scope.taskStatusList = _.sortBy(project.task_statuses, "order")

View File

@ -58,6 +58,7 @@ class ProjectValuesController extends mixOf(taiga.Controller, taiga.PageMixin)
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
return project
loadValues: =>

View File

@ -56,6 +56,7 @@ class RolesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fil
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
return project
loadRoles: ->

View File

@ -120,6 +120,7 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.points = _.sortBy(project.points, "order")
@scope.pointsById = groupBy(project.points, (x) -> x.id)
@scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)

View File

@ -60,6 +60,7 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin, tai
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.statusList = project.issue_statuses
@scope.statusById = groupBy(project.issue_statuses, (x) -> x.id)
@scope.severityList = project.severities

View File

@ -64,6 +64,7 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
# TODO: add issueTypeList and issueTypeById
@scope.issueStatusById = groupBy(project.issue_statuses, (x) -> x.id)

View File

@ -133,6 +133,7 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.points = _.sortBy(project.points, "order")
@scope.pointsById = groupBy(project.points, (x) -> x.id)
@scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)

View File

@ -105,34 +105,44 @@ ProjectMenuDirective = ($log, $compile, $auth, $rootscope, $tgAuth, $location) -
<span class="icon icon-search"></span><span class="item">Search</span>
</a>
</li>
<% if (project.is_backlog_activated) { %>
<li id="nav-backlog" tg-nav="project-backlog:project=project.slug">
<a href="" title="Backlog" tg-nav="project-backlog:project=project.slug">
<span class="icon icon-backlog"></span>
<span class="item">Backlog</span>
</a>
</li>
<% } %>
<% if (project.is_kanban_activated) { %>
<li id="nav-kanban">
<a href="" title="Kanban" tg-nav="project-kanban:project=project.slug">
<span class="icon icon-kanban"></span><span class="item">Kanban</span>
</a>
</li>
<% } %>
<% if (project.is_issues_activated) { %>
<li id="nav-issues">
<a href="" title="Issues" tg-nav="project-issues:project=project.slug">
<span class="icon icon-issues"></span><span class="item">Issues</span>
</a>
</li>
<% } %>
<% if (project.is_wiki_activated) { %>
<li id="nav-wiki">
<a href="" title="Wiki" tg-nav="project-wiki:project=project.slug">
<span class="icon icon-wiki"></span>
<span class="item">Wiki</span>
</a>
</li>
<% } %>
<% if (project.videoconferences) { %>
<li id="nav-video">
<a href="" title="Video">
<span class="icon icon-video"></span>
<span class="item">Video</span>
</a>
</li>
<% } %>
<li id="nav-admin">
<a href="" tg-nav="project-admin-home:project=project.slug" title="Admin">
<span class="icon icon-settings"></span>
@ -171,10 +181,10 @@ ProjectMenuDirective = ($log, $compile, $auth, $rootscope, $tgAuth, $location) -
# WARNING: this code has traces of slighty hacky parts
# This rerenders and compiles the navigation when ng-view
# content loaded signal is raised using inner scope.
renderMenuEntries = ($el, targetScope) ->
renderMenuEntries = ($el, targetScope, project={}) ->
container = $el.find(".menu-container")
sectionName = targetScope.section
dom = $compile(menuEntriesTemplate({user: $auth.getUser()}))(targetScope)
dom = $compile(menuEntriesTemplate({user: $auth.getUser(), project: project}))(targetScope)
dom.find("a.active").removeClass("active")
dom.find("#nav-#{sectionName} > a").addClass("active")
@ -203,16 +213,11 @@ ProjectMenuDirective = ($log, $compile, $auth, $rootscope, $tgAuth, $location) -
$scope.$apply ->
$location.path("/login")
$scope.$on "$viewContentLoaded", (ctx) ->
if ctx.targetScope.$$childHead is null || ctx.targetScope.$$childHead.hideMenu
$el.addClass("hidden")
$log.error "No scope found for render menu."
return
$scope.$on "project:loaded", (ctx, project) ->
if $el.hasClass("hidden")
$el.removeClass("hidden")
renderMenuEntries($el, ctx.targetScope.$$childHead)
renderMenuEntries($el, ctx.targetScope, project)
return {link: link}

View File

@ -43,7 +43,7 @@ class ProjectController extends taiga.Controller
return promise
.then(=> @.loadPageData())
.then(=> @rootscope.$broadcast("project:loaded"))
.then(=> @scope.$emit("project:loaded", @scope.project))
loadPageData: ->
return @q.all([

View File

@ -66,6 +66,7 @@ class SearchController extends mixOf(taiga.Controller, taiga.PageMixin)
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.issueStatusById = groupBy(project.issue_statuses, (x) -> x.id)
@scope.taskStatusById = groupBy(project.task_statuses, (x) -> x.id)
@scope.severityById = groupBy(project.severities, (x) -> x.id)

View File

@ -106,6 +106,7 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin)
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
# Not used at this momment
@scope.pointsList = _.sortBy(project.points, "order")
# @scope.roleList = _.sortBy(project.roles, "order")

View File

@ -56,6 +56,7 @@ class TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin, taig
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.statusList = project.task_statuses
@scope.statusById = groupBy(project.task_statuses, (x) -> x.id)
@scope.membersById = groupBy(project.memberships, (x) -> x.user)

View File

@ -55,6 +55,7 @@ class UserSettingsController extends mixOf(taiga.Controller, taiga.PageMixin)
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
return project
loadInitialData: ->

View File

@ -57,6 +57,7 @@ class UserStoryDetailController extends mixOf(taiga.Controller, taiga.PageMixin,
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.statusList = project.us_statuses
@scope.statusById = groupBy(project.us_statuses, (x) -> x.id)
@scope.taskStatusById = groupBy(project.task_statuses, (x) -> x.id)

View File

@ -60,6 +60,7 @@ class WikiDetailController extends mixOf(taiga.Controller, taiga.PageMixin, taig
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@scope.project = project
@scope.$emit('project:loaded', project)
@scope.membersById = groupBy(project.memberships, (x) -> x.user)
return project