autoclose loader by default
parent
66290a8cc7
commit
946d86e687
|
@ -45,9 +45,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
requiresLogin: true
|
||||
},
|
||||
title: "PROJECT.WELCOME",
|
||||
resolve: {
|
||||
loader: tgLoaderProvider.add(true)
|
||||
}
|
||||
loader: true
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -58,9 +56,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
requiresLogin: true
|
||||
},
|
||||
title: "PROJECT.SECTION_PROJECTS",
|
||||
resolve: {
|
||||
loader: tgLoaderProvider.add(true)
|
||||
},
|
||||
loader: true,
|
||||
controller: "ProjectsListing",
|
||||
controllerAs: "vm"
|
||||
}
|
||||
|
@ -72,9 +68,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
access: {
|
||||
requiresLogin: true
|
||||
},
|
||||
resolve: {
|
||||
loader: tgLoaderProvider.add(true)
|
||||
},
|
||||
loader: true,
|
||||
controller: "Project",
|
||||
controllerAs: "vm"
|
||||
}
|
||||
|
@ -91,7 +85,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/backlog",
|
||||
{
|
||||
templateUrl: "backlog/backlog.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "backlog"
|
||||
}
|
||||
)
|
||||
|
@ -99,7 +93,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/kanban",
|
||||
{
|
||||
templateUrl: "kanban/kanban.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "kanban"
|
||||
}
|
||||
)
|
||||
|
@ -108,7 +102,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/taskboard/:sslug",
|
||||
{
|
||||
templateUrl: "taskboard/taskboard.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "backlog"
|
||||
}
|
||||
)
|
||||
|
@ -117,7 +111,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/us/:usref",
|
||||
{
|
||||
templateUrl: "us/us-detail.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "backlog-kanban"
|
||||
}
|
||||
)
|
||||
|
@ -126,7 +120,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/task/:taskref",
|
||||
{
|
||||
templateUrl: "task/task-detail.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "backlog-kanban"
|
||||
}
|
||||
)
|
||||
|
@ -137,7 +131,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/wiki/:slug",
|
||||
{
|
||||
templateUrl: "wiki/wiki.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "wiki"
|
||||
}
|
||||
)
|
||||
|
@ -146,7 +140,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/team",
|
||||
{
|
||||
templateUrl: "team/team.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "team"
|
||||
}
|
||||
)
|
||||
|
@ -155,14 +149,14 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/project/:pslug/issues",
|
||||
{
|
||||
templateUrl: "issue/issues.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "issues"
|
||||
}
|
||||
)
|
||||
$routeProvider.when("/project/:pslug/issue/:issueref",
|
||||
{
|
||||
templateUrl: "issue/issues-detail.html",
|
||||
resolve: {loader: tgLoaderProvider.add()},
|
||||
loader: true,
|
||||
section: "issues"
|
||||
}
|
||||
)
|
||||
|
@ -295,9 +289,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/profile",
|
||||
{
|
||||
templateUrl: "profile/profile.html",
|
||||
resolve: {
|
||||
loader: tgLoaderProvider.add(true)
|
||||
},
|
||||
loader: true,
|
||||
access: {
|
||||
requiresLogin: true
|
||||
},
|
||||
|
@ -309,9 +301,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
$routeProvider.when("/profile/:slug",
|
||||
{
|
||||
templateUrl: "profile/profile.html",
|
||||
resolve: {
|
||||
loader: tgLoaderProvider.add(true)
|
||||
},
|
||||
loader: true,
|
||||
controller: "Profile",
|
||||
controllerAs: "vm"
|
||||
}
|
||||
|
@ -494,7 +484,7 @@ i18nInit = (lang, $translate) ->
|
|||
checksley.updateMessages('default', messages)
|
||||
|
||||
|
||||
init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, $appTitle, projectService) ->
|
||||
init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, $appTitle, projectService, loaderService) ->
|
||||
$log.debug("Initialize application")
|
||||
|
||||
# Taiga Plugins
|
||||
|
@ -531,6 +521,9 @@ init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $na
|
|||
if next.title
|
||||
$translate(next.title).then (text) => $appTitle.set(text)
|
||||
|
||||
if next.loader
|
||||
loaderService.startWithAutoClose()
|
||||
|
||||
modules = [
|
||||
# Main Global Modules
|
||||
"taigaBase",
|
||||
|
@ -603,5 +596,6 @@ module.run([
|
|||
"$tgNavUrls",
|
||||
"$appTitle",
|
||||
"tgProjectService",
|
||||
"tgLoader",
|
||||
init
|
||||
])
|
||||
|
|
|
@ -49,12 +49,11 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F
|
|||
"$tgNavUrls",
|
||||
"$tgEvents",
|
||||
"$tgAnalytics",
|
||||
"tgLoader",
|
||||
"$translate"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q,
|
||||
@location, @appTitle, @navUrls, @events, @analytics, tgLoader, @translate) ->
|
||||
@location, @appTitle, @navUrls, @events, @analytics, @translate) ->
|
||||
bindMethods(@)
|
||||
|
||||
@scope.sectionName = @translate.instant("BACKLOG.SECTION_NAME")
|
||||
|
@ -77,9 +76,6 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F
|
|||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
|
||||
# Finally
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
initializeEventHandlers: ->
|
||||
@scope.$on "usform:bulk:success", =>
|
||||
@.loadUserstories()
|
||||
|
|
|
@ -40,12 +40,6 @@ LoaderDirective = (tgLoader, $rootscope) ->
|
|||
$(document.body).removeClass("loader-active")
|
||||
$el.removeClass("active")
|
||||
|
||||
$rootscope.$on "$routeChangeSuccess", (e) ->
|
||||
tgLoader.startCurrentPageLoader()
|
||||
|
||||
$rootscope.$on "$locationChangeSuccess", (e) ->
|
||||
tgLoader.reset()
|
||||
|
||||
return {
|
||||
link: link
|
||||
}
|
||||
|
@ -53,30 +47,15 @@ LoaderDirective = (tgLoader, $rootscope) ->
|
|||
module.directive("tgLoader", ["tgLoader", "$rootScope", LoaderDirective])
|
||||
|
||||
Loader = () ->
|
||||
forceDisabled = false
|
||||
|
||||
defaultConfig = {
|
||||
enabled: false,
|
||||
minTime: 300,
|
||||
auto: false
|
||||
config = {
|
||||
minTime: 300
|
||||
}
|
||||
|
||||
config = _.merge({}, defaultConfig)
|
||||
|
||||
@.add = (auto = false) ->
|
||||
return () ->
|
||||
if !forceDisabled
|
||||
config.enabled = true
|
||||
config.auto = auto
|
||||
|
||||
@.$get = ["$rootScope", ($rootscope) ->
|
||||
startLoadTime = 0
|
||||
requestCount = 0
|
||||
lastResponseDate = 0
|
||||
|
||||
reset = () ->
|
||||
config = _.merge({}, defaultConfig)
|
||||
|
||||
pageLoaded = (force = false) ->
|
||||
if startLoadTime
|
||||
timeoutValue = 0
|
||||
|
@ -90,6 +69,9 @@ Loader = () ->
|
|||
|
||||
timeout(timeoutValue, -> $rootscope.$broadcast("loader:end"))
|
||||
|
||||
startLoadTime = 0
|
||||
requestCount = 0
|
||||
lastResponseDate = 0
|
||||
|
||||
autoClose = () ->
|
||||
maxAuto = 5000
|
||||
|
@ -112,27 +94,17 @@ Loader = () ->
|
|||
$rootscope.$broadcast("loader:start")
|
||||
|
||||
return {
|
||||
reset: reset
|
||||
pageLoaded: pageLoaded
|
||||
start: start
|
||||
startCurrentPageLoader: () ->
|
||||
if config.enabled
|
||||
start()
|
||||
|
||||
autoClose() if config.auto
|
||||
|
||||
startWithAutoClose: () ->
|
||||
start()
|
||||
autoClose()
|
||||
onStart: (fn) ->
|
||||
$rootscope.$on("loader:start", fn)
|
||||
|
||||
onEnd: (fn) ->
|
||||
$rootscope.$on("loader:end", fn)
|
||||
|
||||
preventLoading: () ->
|
||||
forceDisabled = true
|
||||
|
||||
disablePreventLoading: () ->
|
||||
forceDisabled = false
|
||||
|
||||
logRequest: () ->
|
||||
requestCount++
|
||||
|
||||
|
|
|
@ -47,12 +47,11 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
"$appTitle",
|
||||
"$tgAnalytics",
|
||||
"$tgNavUrls",
|
||||
"$translate",
|
||||
"tgLoader"
|
||||
"$translate"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,
|
||||
@log, @appTitle, @analytics, @navUrls, @translate, tgLoader) ->
|
||||
@log, @appTitle, @analytics, @navUrls, @translate) ->
|
||||
@scope.issueRef = @params.issueref
|
||||
@scope.sectionName = @translate.instant("ISSUES.SECTION_NAME")
|
||||
@.initializeEventHandlers()
|
||||
|
@ -67,9 +66,6 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
|
||||
# Finally
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
initializeEventHandlers: ->
|
||||
@scope.$on "attachment:create", =>
|
||||
@rootscope.$broadcast("history:reload")
|
||||
|
|
|
@ -50,15 +50,12 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
"$appTitle",
|
||||
"$tgNavUrls",
|
||||
"$tgEvents",
|
||||
"$tgAnalytics",
|
||||
"tgLoader",
|
||||
"$translate"
|
||||
"$tgAnalytics"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @urls, @params, @q, @location, @appTitle,
|
||||
@navUrls, @events, @analytics, tgLoader, @translate) ->
|
||||
|
||||
@scope.sectionName = @translate.instant("ISSUES.LIST_SECTION_NAME")
|
||||
@navUrls, @events, @analytics) ->
|
||||
@scope.sectionName = "Issues"
|
||||
@scope.filters = {}
|
||||
|
||||
if _.isEmpty(@location.search())
|
||||
|
@ -77,9 +74,6 @@ class IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
|
||||
# Finally
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
@scope.$on "issueform:new:success", =>
|
||||
@analytics.trackEvent("issue", "create", "create issue on issues list", 1)
|
||||
@.loadIssues()
|
||||
|
|
|
@ -61,13 +61,11 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
"$appTitle",
|
||||
"$tgNavUrls",
|
||||
"$tgEvents",
|
||||
"$tgAnalytics",
|
||||
"tgLoader",
|
||||
"$translate"
|
||||
"$tgAnalytics"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,
|
||||
@appTitle, @navUrls, @events, @analytics, tgLoader, @translate) ->
|
||||
@appTitle, @navUrls, @events, @analytics) ->
|
||||
|
||||
bindMethods(@)
|
||||
|
||||
|
@ -84,9 +82,6 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
|
||||
# Finally
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
initializeEventHandlers: ->
|
||||
@scope.$on "usform:new:success", =>
|
||||
@.loadUserstories()
|
||||
|
|
|
@ -44,11 +44,10 @@ class SearchController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
"$q",
|
||||
"$tgLocation",
|
||||
"$appTitle",
|
||||
"$tgNavUrls",
|
||||
"tgLoader"
|
||||
"$tgNavUrls"
|
||||
]
|
||||
|
||||
constructor: (@scope, @repo, @rs, @params, @q, @location, @appTitle, @navUrls, @tgLoader) ->
|
||||
constructor: (@scope, @repo, @rs, @params, @q, @location, @appTitle, @navUrls) ->
|
||||
@scope.sectionName = "Search"
|
||||
|
||||
promise = @.loadInitialData()
|
||||
|
@ -63,9 +62,7 @@ class SearchController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
loadSearchData = debounceLeading(100, (t) => @.loadSearchData(t))
|
||||
|
||||
@scope.$watch "searchTerm", (term) =>
|
||||
if not term
|
||||
@tgLoader.pageLoaded()
|
||||
else
|
||||
if term
|
||||
loadSearchData(term)
|
||||
|
||||
loadFilters: ->
|
||||
|
@ -90,9 +87,6 @@ class SearchController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
@scope.searchResults = data
|
||||
return data
|
||||
|
||||
promise.finally =>
|
||||
@tgLoader.pageLoaded()
|
||||
|
||||
return promise
|
||||
|
||||
loadInitialData: ->
|
||||
|
|
|
@ -48,13 +48,11 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
"$tgLocation",
|
||||
"$tgNavUrls"
|
||||
"$tgEvents"
|
||||
"$tgAnalytics",
|
||||
"tgLoader"
|
||||
"$translate"
|
||||
"$tgAnalytics"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @appTitle, @location, @navUrls,
|
||||
@events, @analytics, tgLoader, @translate) ->
|
||||
@events, @analytics) ->
|
||||
bindMethods(@)
|
||||
|
||||
@scope.sectionName = @translate.instant("TASKBOARD.SECTION_NAME")
|
||||
|
@ -69,9 +67,6 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
|
||||
# Finally
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
initializeEventHandlers: ->
|
||||
# TODO: Reload entire taskboard after create/edit tasks seems
|
||||
# a big overhead. It should be optimized in near future.
|
||||
|
|
|
@ -44,13 +44,11 @@ class TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
"$log",
|
||||
"$appTitle",
|
||||
"$tgNavUrls",
|
||||
"$tgAnalytics",
|
||||
"$translate",
|
||||
"tgLoader"
|
||||
"$tgAnalytics"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,
|
||||
@log, @appTitle, @navUrls, @analytics, @translate, tgLoader) ->
|
||||
@log, @appTitle, @navUrls, @analytics) ->
|
||||
@scope.taskRef = @params.taskref
|
||||
@scope.sectionName = @translate.instant("TASK.SECTION_NAME")
|
||||
@.initializeEventHandlers()
|
||||
|
@ -63,8 +61,6 @@ class TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
initializeEventHandlers: ->
|
||||
@scope.$on "attachment:create", =>
|
||||
@analytics.trackEvent("attachment", "create", "create attachment on task", 1)
|
||||
|
|
|
@ -41,12 +41,10 @@ class TeamController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
"$tgNavUrls",
|
||||
"$appTitle",
|
||||
"$tgAuth",
|
||||
"tgLoader",
|
||||
"$translate"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appTitle, @auth, tgLoader,
|
||||
@translate) ->
|
||||
constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appTitle, @auth, @translate) ->
|
||||
@scope.sectionName = "TEAM.SECTION_NAME"
|
||||
|
||||
promise = @.loadInitialData()
|
||||
|
@ -59,9 +57,6 @@ class TeamController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
|
||||
# Finally
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
setRole: (role) ->
|
||||
if role
|
||||
@scope.filtersRole = role
|
||||
|
|
|
@ -44,13 +44,11 @@ class UserStoryDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
"$log",
|
||||
"$appTitle",
|
||||
"$tgNavUrls",
|
||||
"$tgAnalytics",
|
||||
"$translate",
|
||||
"tgLoader"
|
||||
"$tgAnalytics"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,
|
||||
@log, @appTitle, @navUrls, @analytics, @translate, tgLoader) ->
|
||||
@log, @appTitle, @navUrls, @analytics) ->
|
||||
@scope.usRef = @params.usref
|
||||
@scope.sectionName = @translate.instant("US.SECTION_NAME")
|
||||
@.initializeEventHandlers()
|
||||
|
@ -64,7 +62,6 @@ class UserStoryDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
|
||||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
initializeEventHandlers: ->
|
||||
@scope.$on "related-tasks:update", =>
|
||||
|
|
|
@ -49,12 +49,11 @@ class WikiDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
"$appTitle",
|
||||
"$tgNavUrls",
|
||||
"$tgAnalytics",
|
||||
"tgLoader",
|
||||
"$translate"
|
||||
]
|
||||
|
||||
constructor: (@scope, @rootscope, @repo, @model, @confirm, @rs, @params, @q, @location,
|
||||
@filter, @log, @appTitle, @navUrls, @analytics, tgLoader, @translate) ->
|
||||
@filter, @log, @appTitle, @navUrls, @analytics, @translate) ->
|
||||
@scope.projectSlug = @params.pslug
|
||||
@scope.wikiSlug = @params.slug
|
||||
@scope.sectionName = "Wiki"
|
||||
|
@ -67,7 +66,6 @@ class WikiDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
|
||||
# On Error
|
||||
promise.then null, @.onInitialDataError.bind(@)
|
||||
promise.finally tgLoader.pageLoaded
|
||||
|
||||
loadProject: ->
|
||||
return @rs.projects.getBySlug(@params.pslug).then (project) =>
|
||||
|
|
Loading…
Reference in New Issue