##// END OF EJS Templates
Fixed modal centering code
Fixed modal centering code

File last commit:

r14403:3dd14b75
r14425:c21a35cc
Show More
button.js
59 lines | 1.9 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
Changed require.js load calls to allow require.js to pass...
r14374 define(["notebook/js/widget"], function(widget_manager){
Jonathan Frederic
Add button widget
r14270
var ButtonWidgetModel = IPython.WidgetModel.extend({});
Jonathan Frederic
Changed require.js load calls to allow require.js to pass...
r14374 widget_manager.register_widget_model('ButtonWidgetModel', ButtonWidgetModel);
Jonathan Frederic
Add button widget
r14270
var ButtonView = IPython.WidgetView.extend({
// Called when view is rendered.
render : function(){
var that = this;
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.
},
// Handles: Backend -> Frontend Sync
// Frontent -> Frontend Sync
update : function(){
Jonathan Frederic
Added labels to basic widgets
r14292 var description = this.model.get('description');
Jonathan Frederic
Use regular expressions when fixing button-like captions
r14369 description = description.replace(/ /g, '&nbsp;', 'm');
description = description.replace(/\n/g, '<br>\n', 'm');
Jonathan Frederic
Added support for multiple spaces in a row...
r14367 if (description.length == 0) {
this.$el.html('&nbsp;'); // Preserve button height
Jonathan Frederic
Added labels to basic widgets
r14292 } else {
Jonathan Frederic
Added support for multiple lines in button-like widgets
r14368 this.$el.html(description);
Jonathan Frederic
Added labels to basic widgets
r14292 }
Jonathan Frederic
Fixes that allow last commit to work.
r14279 return IPython.WidgetView.prototype.update.call(this);
Jonathan Frederic
Add button widget
r14270 },
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400
events: {
'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
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
Changed require.js load calls to allow require.js to pass...
r14374 widget_manager.register_widget_view('ButtonView', ButtonView);
Jonathan Frederic
Add button widget
r14270
});