widget_image.js
43 lines
| 1.4 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r17198 | // Copyright (c) IPython Development Team. | ||
// Distributed under the terms of the Modified BSD License. | ||||
Jonathan Frederic
|
r14449 | |||
Jonathan Frederic
|
r17198 | define([ | ||
"widgets/js/widget", | ||||
], function(widget){ | ||||
var ImageView = widget.DOMWidgetView.extend({ | ||||
Jonathan Frederic
|
r14449 | render : function(){ | ||
Jonathan Frederic
|
r14609 | // Called when view is rendered. | ||
Jonathan Frederic
|
r14449 | this.setElement($("<img />")); | ||
this.update(); // Set defaults. | ||||
}, | ||||
update : function(){ | ||||
Jonathan Frederic
|
r14568 | // 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. | ||||
Jonathan Frederic
|
r14574 | var image_src = 'data:image/' + this.model.get('format') + ';base64,' + this.model.get('_b64value'); | ||
Jonathan Frederic
|
r14449 | 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'); | ||||
} | ||||
Jonathan Frederic
|
r14583 | return ImageView.__super__.update.apply(this); | ||
Jonathan Frederic
|
r14449 | }, | ||
}); | ||||
Jonathan Frederic
|
r17198 | |||
return { | ||||
'ImageView': ImageView, | ||||
}; | ||||
Jonathan Frederic
|
r14449 | }); | ||