widget_image.js
48 lines
| 1.5 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", | ||||
Jonathan Frederic
|
r17216 | "jquery", | ||
], function(widget, $){ | ||||
Jonathan Frederic
|
r17198 | |||
var ImageView = widget.DOMWidgetView.extend({ | ||||
Jonathan Frederic
|
r14449 | render : function(){ | ||
Jonathan Frederic
|
r19176 | /** | ||
* Called when view is rendered. | ||||
*/ | ||||
Jonathan Frederic
|
r14449 | this.setElement($("<img />")); | ||
this.update(); // Set defaults. | ||||
}, | ||||
update : function(){ | ||||
Jonathan Frederic
|
r19176 | /** | ||
* 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 | }); | ||