mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-30 10:50:08 +00:00
basic load progress bar, still not working correctly -- need to thread a visiting thacker through the loading system / rething how it's done...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
25af190b24
commit
1cc4e3fe0c
41
ui/files.js
41
ui/files.js
@ -72,6 +72,7 @@ function makeDiffFilePattern(base, diff, ext){
|
|||||||
//
|
//
|
||||||
// Will return the original deferred.
|
// Will return the original deferred.
|
||||||
function statusNotify(prefix, loader, not_queued){
|
function statusNotify(prefix, loader, not_queued){
|
||||||
|
not_queued = not_queued == null ? true : not_queued
|
||||||
var report = not_queued == true ? showStatus : showStatusQ
|
var report = not_queued == true ? showStatus : showStatusQ
|
||||||
if(loader == null){
|
if(loader == null){
|
||||||
loader = prefix
|
loader = prefix
|
||||||
@ -88,7 +89,7 @@ function statusNotify(prefix, loader, not_queued){
|
|||||||
report(args.join(': '))
|
report(args.join(': '))
|
||||||
})
|
})
|
||||||
.fail(function(){
|
.fail(function(){
|
||||||
// XXX
|
showErrorStatus(args.join(': '))
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -105,6 +106,39 @@ function statusNotify(prefix, loader, not_queued){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// XXX
|
||||||
|
function statusProgress(msg, loader){
|
||||||
|
var progress = progressBar(msg)
|
||||||
|
var total = 0
|
||||||
|
var done = 0
|
||||||
|
|
||||||
|
return loader
|
||||||
|
.done(function(){
|
||||||
|
// XXX why does this close the progress bar right away???
|
||||||
|
closeProgressBar(progress)
|
||||||
|
})
|
||||||
|
.progress(function(){
|
||||||
|
var args = args2array(arguments)
|
||||||
|
var getter = args[args.length-1]
|
||||||
|
total += 1
|
||||||
|
|
||||||
|
// the getter is a deferred...
|
||||||
|
if(getter != null && getter.isResolved != null){
|
||||||
|
args.pop()
|
||||||
|
.always(function(){
|
||||||
|
done += 1
|
||||||
|
updateProgressBar(progress, done, total)
|
||||||
|
})
|
||||||
|
|
||||||
|
// no getter...
|
||||||
|
} else {
|
||||||
|
done += 1
|
||||||
|
updateProgressBar(progress, done, total)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Bubble up actions in the deferred chain
|
// Bubble up actions in the deferred chain
|
||||||
//
|
//
|
||||||
// Will chain progress/notify and if only_progress is not set, also
|
// Will chain progress/notify and if only_progress is not set, also
|
||||||
@ -204,7 +238,9 @@ function loadLatestFile(path, dfl, pattern, diff_pattern, default_data){
|
|||||||
// keep the sort order...
|
// keep the sort order...
|
||||||
diff_data[i+1] = data
|
diff_data[i+1] = data
|
||||||
})
|
})
|
||||||
// XXX this is a hack...
|
// XXX need to notify as early as possible but doing
|
||||||
|
// it outside this (see below) will notify BEFORE
|
||||||
|
// anyone's listening...
|
||||||
.always(function(){
|
.always(function(){
|
||||||
tracker.notify(e, getter)
|
tracker.notify(e, getter)
|
||||||
})
|
})
|
||||||
@ -213,6 +249,7 @@ function loadLatestFile(path, dfl, pattern, diff_pattern, default_data){
|
|||||||
// is no chance to get it back...
|
// is no chance to get it back...
|
||||||
tracker.notify(e, getter)
|
tracker.notify(e, getter)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return getter
|
return getter
|
||||||
}))
|
}))
|
||||||
// merge the diffs...
|
// merge the diffs...
|
||||||
|
|||||||
@ -167,7 +167,8 @@ $(function(){
|
|||||||
|
|
||||||
BASE_URL = localStorage[data_attr + '_BASE_URL']
|
BASE_URL = localStorage[data_attr + '_BASE_URL']
|
||||||
|
|
||||||
var loading = statusNotify(loadDir(BASE_URL))
|
//var loading = statusNotify(loadDir(BASE_URL))
|
||||||
|
var loading = statusProgress('Loading', statusNotify(loadDir(BASE_URL)))
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// everything is in localStorage...
|
// everything is in localStorage...
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user