##// END OF EJS Templates
Adds dialog on new_notebook failure...
Adds dialog on new_notebook failure This logic doesn't really belong in ContentManager. It would be better to trigger an event, which is handled somewhere else. But there's no obvious place to put this event, so creating the error dialog inside the new_notebook method is ok for now.

File last commit:

r18115:f8e094ed
r18623:043ae706
Show More
widget_button.js
71 lines | 2.2 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.
var description = this.model.get('description');
this.$el.attr("title", this.model.get("tooltip"));
if (description.length === 0) {
this.$el.html("&nbsp;"); // Preserve button height
} else {
this.$el.text(description);
}
if (this.model.get('disabled')) {
this.$el.attr('disabled','disabled');
} else {
this.$el.removeAttr('disabled');
}
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,
};
});