widget_image.js
57 lines
| 2.0 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
|
r14537 | define(["notebook/js/widgets/widget"], function(widget_manager){ | ||
Jonathan Frederic
|
r14449 | var ImageWidgetModel = IPython.WidgetModel.extend({}); | ||
widget_manager.register_widget_model('ImageWidgetModel', ImageWidgetModel); | ||||
Jonathan Frederic
|
r14564 | var ImageView = IPython.DOMWidgetView.extend({ | ||
Jonathan Frederic
|
r14449 | |||
// Called when view is rendered. | ||||
render : function(){ | ||||
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 | }, | ||
}); | ||||
widget_manager.register_widget_view('ImageView', ImageView); | ||||
}); | ||||