##// END OF EJS Templates
Merge pull request #5188 from takluyver/callbacks...
Merge pull request #5188 from takluyver/callbacks New events system

File last commit:

r15427:3bb7cf6a
r15667:4c8ff1de merge
Show More
widget_button.js
60 lines | 2.0 KiB | application/javascript | JavascriptLexer
Jonathan Frederic
Added standard IPY JS header to widget JS files.
r14366 //----------------------------------------------------------------------------
// 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.
//----------------------------------------------------------------------------
//============================================================================
// ButtonWidget
//============================================================================
/**
* @module IPython
* @namespace IPython
**/
Jonathan Frederic
Add button widget
r14270
Jonathan Frederic
Updated require references to point to new files
r15427 define(["widgets/js/widget"], function(WidgetManager){
Jonathan Frederic
Added PEP8 style comments to all of the JS code.
r14609
MinRK
quick review pass on javascript
r14792 var ButtonView = IPython.DOMWidgetView.extend({
Jonathan Frederic
Add button widget
r14270 render : function(){
Jonathan Frederic
Added PEP8 style comments to all of the JS code.
r14609 // Called when view is rendered.
Jonathan Frederic
Use setElement to set the view's element properly.
r14397 this.setElement($("<button />")
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400 .addClass('btn'));
Jonathan Frederic
Add button widget
r14270
this.update(); // Set defaults.
},
update : function(){
Jonathan Frederic
make JS update comment more descriptive (english)
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
Added labels to basic widgets
r14292 var description = this.model.get('description');
Jonathan Frederic
jslint /widgets
r14466 if (description.length === 0) {
MinRK
use non-breaking space for button with no description...
r15329 this.$el.html("&nbsp;"); // Preserve button height
Jonathan Frederic
Added labels to basic widgets
r14292 } else {
Jonathan Frederic
Replace .html with .text everywhere possible
r14663 this.$el.text(description);
Jonathan Frederic
Added labels to basic widgets
r14292 }
Jonathan Frederic
Added support for disabled flag to button widget.
r14430 if (this.model.get('disabled')) {
this.$el.attr('disabled','disabled');
} else {
this.$el.removeAttr('disabled');
}
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
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
Added PEP8 style comments to all of the JS code.
r14609 // 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
Widget require.js fix...
r14627 WidgetManager.register_widget_view('ButtonView', ButtonView);
Jonathan Frederic
Add button widget
r14270 });