Refactor NavUrlsService
parent
bd78092e33
commit
d65fe356f1
|
@ -19,11 +19,17 @@
|
|||
# File: modules/base/navurl.coffee
|
||||
###
|
||||
|
||||
|
||||
taiga = @.taiga
|
||||
trim = @.taiga.trim
|
||||
bindOnce = @.taiga.bindOnce
|
||||
|
||||
module = angular.module("taigaBase")
|
||||
|
||||
|
||||
#############################################################################
|
||||
## Navigation Urls Service
|
||||
#############################################################################
|
||||
|
||||
class NavigationUrlsService extends taiga.Service
|
||||
constructor: ->
|
||||
@.urls = {}
|
||||
|
@ -37,10 +43,19 @@ class NavigationUrlsService extends taiga.Service
|
|||
return ctx[match] or "undefined"
|
||||
return url.replace(/(:\w+)/g, replacer)
|
||||
|
||||
resolve: (name) ->
|
||||
resolve: (name, ctx={}) ->
|
||||
if ctx
|
||||
return @formatUrl(@.urls[name], ctx)
|
||||
return @.urls[name]
|
||||
|
||||
|
||||
module.service("$tgNavUrls", NavigationUrlsService)
|
||||
|
||||
|
||||
#############################################################################
|
||||
## Navigation Urls Directive
|
||||
#############################################################################
|
||||
|
||||
NavigationUrlsDirective = ($navurls, $auth, $q, $location) ->
|
||||
# Example:
|
||||
# link(tg-nav="project-backlog:project='sss',")
|
||||
|
@ -108,7 +123,4 @@ NavigationUrlsDirective = ($navurls, $auth, $q, $location) ->
|
|||
|
||||
return {link: link}
|
||||
|
||||
|
||||
module = angular.module("taigaBase")
|
||||
module.service("$tgNavUrls", NavigationUrlsService)
|
||||
module.directive("tgNav", ["$tgNavUrls", "$tgAuth", "$q", "$location", NavigationUrlsDirective])
|
||||
|
|
|
@ -428,26 +428,24 @@ module.factory("$appTitle", AppTitle)
|
|||
|
||||
ProjectUrl = ($navurls) ->
|
||||
get = (project) ->
|
||||
if project.is_backlog_activated and project.my_permissions.indexOf("view_us")>-1
|
||||
url = $navurls.resolve("project-backlog")
|
||||
else if project.is_kanban_activated and project.my_permissions.indexOf("view_us")>-1
|
||||
url = $navurls.resolve("project-kanban")
|
||||
else if project.is_wiki_activated and project.my_permissions.indexOf("view_wiki_pages")>-1
|
||||
url = $navurls.resolve("project-wiki")
|
||||
else if project.is_issues_activated and project.my_permissions.indexOf("view_issues")>-1
|
||||
url = $navurls.resolve("project-issues")
|
||||
else
|
||||
url = $navurls.resolve("project")
|
||||
ctx = {project: project.slug}
|
||||
|
||||
return $navurls.formatUrl(url, {'project': project.slug})
|
||||
if project.is_backlog_activated and project.my_permissions.indexOf("view_us") > -1
|
||||
return $navurls.resolve("project-backlog", ctx)
|
||||
if project.is_kanban_activated and project.my_permissions.indexOf("view_us") > -1
|
||||
return $navurls.resolve("project-kanban", ctx)
|
||||
if project.is_wiki_activated and project.my_permissions.indexOf("view_wiki_pages") > -1
|
||||
return $navurls.resolve("project-wiki", ctx)
|
||||
if project.is_issues_activated and project.my_permissions.indexOf("view_issues") > -1
|
||||
return $navurls.resolve("project-issues", ctx)
|
||||
|
||||
return $navurls.resolve("project", ctx)
|
||||
|
||||
return {get: get}
|
||||
|
||||
module.factory("$projectUrl", ["$tgNavUrls", ProjectUrl])
|
||||
|
||||
|
||||
|
||||
|
||||
#############################################################################
|
||||
## Limite line size in a text area
|
||||
#############################################################################
|
||||
|
|
Loading…
Reference in New Issue