added progress fail state...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2014-02-18 00:20:51 +04:00
parent ef10c17fc3
commit abbf3de3fa
2 changed files with 25 additions and 9 deletions

View File

@ -147,11 +147,15 @@ function statusProgress(msg, tracker, close_button){
var total = 0
var done = 0
// XXX do we need a fail handler here???
return tracker
.done(function(){
// XXX for some reason this does not allways display "done"
closeProgressBar(progress)
})
.fail(function(){
closeProgressBar(progress, 'error')
})
.progress(function(){
var args = $.makeArray(arguments)
var getter = args[args.length-1]
@ -830,9 +834,13 @@ function loadDir(path, no_preview_processing, prefix, tracker){
if(tracker == null){
var tracker = statusProgress('Loading')
// XXX is this the right way to go???
res.done(function(){
tracker.resolve()
})
res
.done(function(){
tracker.resolve()
})
.fail(function(){
tracker.reject()
})
}
if(tracker == false){
tracker == null

View File

@ -496,7 +496,7 @@ function getProgressContainer(mode, parent){
// By default triggers the progressDone event.
//
// Shorthand:
// closeProgressBar(name)
// closeProgressBar(name[, msg])
//
// - progressDone
// Triggered by user or progressClose handler.
@ -561,10 +561,11 @@ function progressBar(name, container, close, hide_timeout, auto_remove){
})
state.text(' ('+done+' of '+total+')')
})
.on('progressDone', function(evt, done){
.on('progressDone', function(evt, done, msg){
done = done == null ? bar.attr('value') : done
msg = msg == null ? 'done' : msg
bar.attr('value', done)
state.text(' (done)')
state.text(' ('+msg+')')
widget.find('.close').hide()
setTimeout(function(){
@ -590,8 +591,12 @@ function progressBar(name, container, close, hide_timeout, auto_remove){
})
if(close === false){
widget.on('progressClose', function(){
widget.trigger('progressDone')
widget.on('progressClose', function(evt, msg){
if(msg != null){
widget.trigger('progressDone', [null, msg])
} else {
widget.trigger('progressDone')
}
})
} else if(close != null){
widget.on('progressClose', close)
@ -627,7 +632,10 @@ function resetProgressBar(name){
function updateProgressBar(name, done, total){
return triggerProgressBarEvent(name, 'progressUpdate', [done, total])
}
function closeProgressBar(name){
function closeProgressBar(name, msg){
if(msg != null){
return triggerProgressBarEvent(name, 'progressClose', [msg])
}
return triggerProgressBarEvent(name, 'progressClose')
}