fix loader
parent
ad752c0d21
commit
1c09279a2f
|
@ -54,7 +54,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, tgLoade
|
|||
{templateUrl: "/partials/wiki-edit.html"})
|
||||
|
||||
# Issues
|
||||
$routeProvider.when("/project/:pslug/issues/", {templateUrl: "/partials/issues.html", resolve: {loader: tgLoaderProvider.add()}})
|
||||
$routeProvider.when("/project/:pslug/issues", {templateUrl: "/partials/issues.html", resolve: {loader: tgLoaderProvider.add()}})
|
||||
$routeProvider.when("/project/:pslug/issues/:issueref",
|
||||
{templateUrl: "/partials/issues-detail.html"})
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ sizeFormat = @.taiga.sizeFormat
|
|||
|
||||
module = angular.module("taigaCommon")
|
||||
|
||||
LoaderDirective = (tgLoader) ->
|
||||
LoaderDirective = (tgLoader, $rootscope) ->
|
||||
link = ($scope, $el, $attrs) ->
|
||||
tgLoader.onStart () ->
|
||||
$(document.body).addClass("loader-active")
|
||||
|
@ -13,16 +13,21 @@ LoaderDirective = (tgLoader) ->
|
|||
$(document.body).removeClass("loader-active")
|
||||
$el.removeClass("active")
|
||||
|
||||
$scope.$on "$routeChangeSuccess", () ->
|
||||
$rootscope.$on "$routeChangeSuccess", (e) ->
|
||||
tgLoader.start()
|
||||
|
||||
$rootscope.$on "$locationChangeSuccess", (e) ->
|
||||
tgLoader.reset()
|
||||
|
||||
return {
|
||||
link: link
|
||||
}
|
||||
|
||||
module.directive("tgLoader", ["tgLoader", LoaderDirective])
|
||||
module.directive("tgLoader", ["tgLoader", "$rootScope", LoaderDirective])
|
||||
|
||||
Loader = () ->
|
||||
forceDisabled = false
|
||||
|
||||
defaultLog = {
|
||||
request: {
|
||||
count: 0,
|
||||
|
@ -43,35 +48,40 @@ Loader = () ->
|
|||
log = _.merge({}, defaultLog)
|
||||
config = _.merge({}, defaultConfig)
|
||||
|
||||
reset = () ->
|
||||
log = _.merge({}, defaultLog)
|
||||
config = _.merge({}, defaultConfig)
|
||||
|
||||
@.add = (auto = false) ->
|
||||
return () ->
|
||||
config.auto = auto
|
||||
config.enabled = true
|
||||
if !forceDisabled
|
||||
config.auto = auto
|
||||
config.enabled = true
|
||||
|
||||
@.$get = ["$rootScope", ($rootscope) ->
|
||||
interval = null
|
||||
startLoadTime = 0
|
||||
|
||||
return {
|
||||
reset: () ->
|
||||
reset()
|
||||
|
||||
pageLoaded: () ->
|
||||
if config.enabled
|
||||
log = _.merge({}, defaultLog)
|
||||
config = _.merge({}, defaultConfig)
|
||||
reset()
|
||||
|
||||
endTime = new Date().getTime()
|
||||
diff = endTime - startLoadTime
|
||||
endTime = new Date().getTime()
|
||||
diff = endTime - startLoadTime
|
||||
|
||||
if diff < config.minTime
|
||||
timeout = config.minTime - diff
|
||||
else
|
||||
timeout = 0
|
||||
if diff < config.minTime
|
||||
timeout = config.minTime - diff
|
||||
else
|
||||
timeout = 0
|
||||
|
||||
setTimeout ( ->
|
||||
$rootscope.$broadcast("loader:end");
|
||||
), timeout
|
||||
setTimeout ( ->
|
||||
$rootscope.$broadcast("loader:end");
|
||||
), timeout
|
||||
|
||||
start: () ->
|
||||
config.enabled = false
|
||||
if config.enabled
|
||||
if config.auto
|
||||
interval = setInterval ( ->
|
||||
|
@ -100,14 +110,11 @@ Loader = () ->
|
|||
log.response.count++
|
||||
log.response.time = new Date().getTime()
|
||||
|
||||
isEneabled: () ->
|
||||
config.enabled == true
|
||||
preventLoading: () ->
|
||||
forceDisabled = true
|
||||
|
||||
disabled: () ->
|
||||
config.enabled = false
|
||||
|
||||
enabled: () ->
|
||||
config.enabled = true
|
||||
disablePreventLoading: () ->
|
||||
forceDisabled = false
|
||||
}
|
||||
]
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ ProjectsNavigationDirective = ($rootscope, animationFrame, $timeout, tgLoader) -
|
|||
$(document.body)
|
||||
.removeClass("loading-project open-projects-nav")
|
||||
|
||||
tgLoader.enabled()
|
||||
tgLoader.disablePreventLoading()
|
||||
), timeout
|
||||
|
||||
renderProjects = ($el, projects) ->
|
||||
|
@ -153,7 +153,7 @@ ProjectsNavigationDirective = ($rootscope, animationFrame, $timeout, tgLoader) -
|
|||
$(document.body)
|
||||
.addClass('loading-project')
|
||||
|
||||
tgLoader.disabled()
|
||||
tgLoader.preventLoading()
|
||||
|
||||
loadingStart = new Date().getTime()
|
||||
|
||||
|
|
Loading…
Reference in New Issue