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