##// END OF EJS Templates
suppress warnings in ipexec tests...
suppress warnings in ipexec tests shim imports cause lots of warnings should we always suppress warnings in these tests?

File last commit:

r20606:e6c4eaaa
r21000:d744cc22
Show More
widget_button.js
75 lines | 2.4 KiB | application/javascript | JavascriptLexer
// Copyright (c) IPython Development Team.
// Distributed under the terms of the Modified BSD License.
define([
"widgets/js/widget",
"jquery",
"bootstrap",
], function(widget, $){
var ButtonView = widget.DOMWidgetView.extend({
render : function(){
/**
* Called when view is rendered.
*/
this.setElement($("<button />")
.addClass('btn btn-default'));
this.$el.attr("data-toggle", "tooltip");
this.model.on('change:button_style', function(model, value) {
this.update_button_style();
}, this);
this.update_button_style('');
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.
*/
this.$el.prop("disabled", this.model.get("disabled"));
this.$el.attr("title", this.model.get("tooltip"));
var description = this.model.get("description");
var icon = this.model.get("icon");
if (description.trim().length === 0 && icon.trim().length ===0) {
this.$el.html("&nbsp;"); // Preserve button height
} else {
this.$el.text(description);
$('<i class="fa"></i>').prependTo(this.$el).addClass(icon);
}
return ButtonView.__super__.update.apply(this);
},
update_button_style: function(previous_trait_value) {
var class_map = {
primary: ['btn-primary'],
success: ['btn-success'],
info: ['btn-info'],
warning: ['btn-warning'],
danger: ['btn-danger']
};
this.update_mapped_classes(class_map, 'button_style', previous_trait_value);
},
events: {
// Dictionary of events and their handlers.
'click': '_handle_click',
},
_handle_click: function(){
/**
* Handles when the button is clicked.
*/
this.send({event: 'click'});
},
});
return {
'ButtonView': ButtonView,
};
});