widget_image.js
51 lines
| 1.9 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r14449 | //---------------------------------------------------------------------------- | ||
// Copyright (C) 2013 The IPython Development Team | ||||
// | ||||
// Distributed under the terms of the BSD License. The full license is in | ||||
// the file COPYING, distributed as part of this software. | ||||
//---------------------------------------------------------------------------- | ||||
//============================================================================ | ||||
// ImageWidget | ||||
//============================================================================ | ||||
/** | ||||
* @module IPython | ||||
* @namespace IPython | ||||
**/ | ||||
Jonathan Frederic
|
r15427 | define(["widgets/js/widget"], function(WidgetManager){ | ||
Jonathan Frederic
|
r14609 | |||
var ImageView = IPython.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
|
r14627 | WidgetManager.register_widget_view('ImageView', ImageView); | ||
Jonathan Frederic
|
r14449 | }); | ||