##// END OF EJS Templates
Merge pull request #1 from ipython/master...
Merge pull request #1 from ipython/master Update from ipython/ipython:master

File last commit:

r20606:e6c4eaaa
r20633:d587f5ea merge
Show More
widget_button.js
75 lines | 2.4 KiB | application/javascript | JavascriptLexer
Jonathan Frederic
Almost done!...
r17198 // Copyright (c) IPython Development Team.
// Distributed under the terms of the Modified BSD License.
Jonathan Frederic
Added standard IPY JS header to widget JS files.
r14366
Jonathan Frederic
Almost done!...
r17198 define([
"widgets/js/widget",
Jonathan Frederic
Fix all the tests
r17216 "jquery",
MinRK
add bootstrap shim for require...
r17312 "bootstrap",
Jonathan Frederic
Fix all the tests
r17216 ], function(widget, $){
Jonathan Frederic
Added standard IPY JS header to widget JS files.
r14366
Jonathan Frederic
Almost done!...
r17198 var ButtonView = widget.DOMWidgetView.extend({
Jonathan Frederic
Add button widget
r14270 render : function(){
Jonathan Frederic
Ran function comment conversion tool
r19176 /**
* Called when view is rendered.
*/
Jonathan Frederic
Use setElement to set the view's element properly.
r14397 this.setElement($("<button />")
Jonathan Frederic
Ran jdfreder/bootstrap2to3
r16913 .addClass('btn btn-default'));
Sylvain Corlay
adding a tooltip in IPython buttons
r18115 this.$el.attr("data-toggle", "tooltip");
Jonathan Frederic
Added Bootstrap specific classes,...
r17728 this.model.on('change:button_style', function(model, value) {
this.update_button_style();
}, this);
this.update_button_style('');
Jonathan Frederic
Add button widget
r14270 this.update(); // Set defaults.
},
update : function(){
Jonathan Frederic
Ran function comment conversion tool
r19176 /**
* Update the contents of this view
*
Sylvain Corlay
Moving styling to else statement
r20606 * Called when the model is changed. The model may have been
Jonathan Frederic
Ran function comment conversion tool
r19176 * changed by another view or by a state update from the back-end.
*/
Sylvain Corlay
Moving styling to else statement
r20606 this.$el.prop("disabled", this.model.get("disabled"));
Sylvain Corlay
adding a tooltip in IPython buttons
r18115 this.$el.attr("title", this.model.get("tooltip"));
Sylvain Corlay
Moving styling to else statement
r20606
var description = this.model.get("description");
Sylvain Corlay
font awesome icon
r20397 var icon = this.model.get("icon");
if (description.trim().length === 0 && icon.trim().length ===0) {
MinRK
use non-breaking space for button with no description...
r15329 this.$el.html("&nbsp;"); // Preserve button height
Jonathan Frederic
Added support for disabled flag to button widget.
r14430 } else {
Sylvain Corlay
Moving styling to else statement
r20606 this.$el.text(description);
$('<i class="fa"></i>').prependTo(this.$el).addClass(icon);
Jonathan Frederic
Added support for disabled flag to button widget.
r14430 }
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 return ButtonView.__super__.update.apply(this);
Jonathan Frederic
Add button widget
r14270 },
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400
Jonathan Frederic
Added Bootstrap specific classes,...
r17728 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);
},
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400 events: {
Jonathan Frederic
Added PEP8 style comments to all of the JS code.
r14609 // Dictionary of events and their handlers.
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400 'click': '_handle_click',
},
Jonathan Frederic
Add button widget
r14270
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400 _handle_click: function(){
Jonathan Frederic
Ran function comment conversion tool
r19176 /**
* Handles when the button is clicked.
*/
Jonathan Frederic
Made scroll to bottom use msgs...
r14403 this.send({event: 'click'});
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400 },
Jonathan Frederic
Add button widget
r14270 });
Jonathan Frederic
Almost done!...
r17198
return {
'ButtonView': ButtonView,
};
Jonathan Frederic
Add button widget
r14270 });