##// END OF EJS Templates
Catch errors after our then()s, instead of in parallel with them (this missing exceptions)...
Catch errors after our then()s, instead of in parallel with them (this missing exceptions) When an error is thrown in a then() success handler, it doesn't call the same then()'s error handler. I also made all of the utils.reject handlers verbose to aid in debugging.

File last commit:

r17216:08b8fbc9
r19080:cbc9dc59
Show More
widget_image.js
44 lines | 1.4 KiB | application/javascript | JavascriptLexer
// Copyright (c) IPython Development Team.
// Distributed under the terms of the Modified BSD License.
define([
"widgets/js/widget",
"jquery",
], function(widget, $){
var ImageView = widget.DOMWidgetView.extend({
render : function(){
// Called when view is rendered.
this.setElement($("<img />"));
this.update(); // Set defaults.
},
update : function(){
// Update the contents of this view
//
// Called when the model is changed. The model may have been
// changed by another view or by a state update from the back-end.
var image_src = 'data:image/' + this.model.get('format') + ';base64,' + this.model.get('_b64value');
this.$el.attr('src', image_src);
var width = this.model.get('width');
if (width !== undefined && width.length > 0) {
this.$el.attr('width', width);
} else {
this.$el.removeAttr('width');
}
var height = this.model.get('height');
if (height !== undefined && height.length > 0) {
this.$el.attr('height', height);
} else {
this.$el.removeAttr('height');
}
return ImageView.__super__.update.apply(this);
},
});
return {
'ImageView': ImageView,
};
});