##// END OF EJS Templates
on("destroy",...) -> once("destroy",...) so we don't keep a reference to it, preventing gc...
on("destroy",...) -> once("destroy",...) so we don't keep a reference to it, preventing gc Thanks to Sylvain Corlay for the suggestion.

File last commit:

r17424:41a81d15
r18058:c7253b21
Show More
main.js
139 lines | 4.5 KiB | application/javascript | JavascriptLexer
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 // Copyright (c) IPython Development Team.
// Distributed under the terms of the Modified BSD License.
Brian E. Granger
Splitting notebook.js into muliple files for development ease.
r4349
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 require([
'base/js/namespace',
Jonathan Frederic
MWE,...
r17200 'jquery',
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 'notebook/js/notebook',
'base/js/utils',
'base/js/page',
'notebook/js/layoutmanager',
'base/js/events',
'auth/js/loginwidget',
'notebook/js/maintoolbar',
'notebook/js/pager',
'notebook/js/quickhelp',
'notebook/js/menubar',
'notebook/js/notificationarea',
Jonathan Frederic
Almost done!...
r17198 'notebook/js/savewidget',
Jonathan Frederic
Pager
r17197 'notebook/js/keyboardmanager',
Jonathan Frederic
MWE,...
r17200 'notebook/js/config',
Thomas Kluyver
Allow switching kernel from the notebook UI
r17370 'notebook/js/kernelselector',
MinRK
note loaded, unused dependencies in require
r17323 // only loaded, not used:
Jason Grout
Trigger app_initialized event *after* the 'global' IPython object is initialized
r17319 'custom/custom',
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 ], function(
IPython,
Jonathan Frederic
Progress...
r17196 $,
Jonathan Frederic
Fix all the bugs!
r17203 notebook,
Jonathan Frederic
Almost done!...
r17198 utils,
Jonathan Frederic
Fix all the bugs!
r17203 page,
layoutmanager,
events,
loginwidget,
maintoolbar,
pager,
quickhelp,
menubar,
notificationarea,
savewidget,
keyboardmanager,
Thomas Kluyver
Allow switching kernel from the notebook UI
r17370 config,
kernelselector
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 ) {
MinRK
various unicode fixes...
r15234 "use strict";
Matthias BUSSONNIER
Inject requirejs in notebook and start using it.
r10758
jon
In person review with @ellisonbg
r17210 var common_options = {
Jonathan Frederic
Almost done!...
r17198 base_url : utils.get_body_data("baseUrl"),
MinRK
restore websocket_url configurable...
r17303 ws_url : IPython.utils.get_body_data("wsUrl"),
Jonathan Frederic
Almost done!...
r17198 notebook_path : utils.get_body_data("notebookPath"),
notebook_name : utils.get_body_data('notebookName')
MinRK
various unicode fixes...
r15234 };
Matthias BUSSONNIER
pass baseUrl as option
r9505
Jonathan Frederic
MWE,...
r17200 var user_config = $.extend({}, config.default_config);
Jonathan Frederic
Fix imports of "modules",...
r17202 var page = new page.Page();
var layout_manager = new layoutmanager.LayoutManager();
jon
In person review with @ellisonbg
r17210 var pager = new pager.Pager('div#pager', 'div#pager_splitter', {
layout_manager: layout_manager,
events: events});
var keyboard_manager = new keyboardmanager.KeyboardManager({
pager: pager,
events: events});
Jonathan Frederic
Fix some dialog keyboard_manager problems
r17213 var save_widget = new savewidget.SaveWidget('span#save_widget', {
events: events,
keyboard_manager: keyboard_manager});
jon
In person review with @ellisonbg
r17210 var notebook = new notebook.Notebook('div#notebook', $.extend({
events: events,
keyboard_manager: keyboard_manager,
save_widget: save_widget,
config: user_config},
common_options));
var login_widget = new loginwidget.LoginWidget('span#login_widget', common_options);
var toolbar = new maintoolbar.MainToolBar('#maintoolbar-container', {
notebook: notebook,
events: events});
var quick_help = new quickhelp.QuickHelp({
keyboard_manager: keyboard_manager,
Jonathan Frederic
Some JS test fixes
r17212 events: events,
notebook: notebook});
jon
In person review with @ellisonbg
r17210 var menubar = new menubar.MenuBar('#menubar', $.extend({
notebook: notebook,
layout_manager: layout_manager,
events: events,
save_widget: save_widget,
quick_help: quick_help},
common_options));
var notification_area = new notificationarea.NotificationArea(
'#notification_area', {
events: events,
save_widget: save_widget,
Jonathan Frederic
Some JS test fixes
r17212 notebook: notebook,
keyboard_manager: keyboard_manager});
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 notification_area.init_notification_widgets();
Thomas Kluyver
Allow switching kernel from the notebook UI
r17370 var kernel_selector = new kernelselector.KernelSelector(
'#kernel_selector_widget', notebook);
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192
mcelrath
Add bad font detection, and a dialog informing the user.
r7394 $('body').append('<div id="fonttest"><pre><span id="test1">x</span>'+
'<span id="test2" style="font-weight: bold;">x</span>'+
MinRK
various unicode fixes...
r15234 '<span id="test3" style="font-style: italic;">x</span></pre></div>');
mcelrath
Add bad font detection, and a dialog informing the user.
r7394 var nh = $('#test1').innerHeight();
var bh = $('#test2').innerHeight();
var ih = $('#test3').innerHeight();
if(nh != bh || nh != ih) {
mcelrath
Alternative solution: silently apply some CSS instead of a dialog box.
r7446 $('head').append('<style>.CodeMirror span { vertical-align: bottom; }</style>');
mcelrath
Add bad font detection, and a dialog informing the user.
r7394 }
mcelrath
Fix spurious appearance of #fontarea at end of document.
r7666 $('#fonttest').remove();
mcelrath
Add bad font detection, and a dialog informing the user.
r7394
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 page.show();
Brian E. Granger
Massive work on the notebook document format....
r4484
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 layout_manager.do_resize();
MinRK
add autosave timer...
r10505 var first_load = function () {
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 layout_manager.do_resize();
MinRK
trigger hash on notebook load...
r10006 var hash = document.location.hash;
if (hash) {
document.location.hash = '';
document.location.hash = hash;
}
Jonathan Frederic
Start of work to make notebook.html requirejs friendly.
r17192 notebook.set_autosave_interval(notebook.minimum_autosave_interval);
MinRK
add autosave timer...
r10505 // only do this once
Jonathan Frederic
Fixed events
r17195 events.off('notebook_loaded.Notebook', first_load);
MinRK
add autosave timer...
r10505 };
Jonathan Frederic
Fixed events
r17195 events.on('notebook_loaded.Notebook', first_load);
Jason Grout
Trigger app_initialized event *after* the 'global' IPython object is initialized
r17319
Jonathan Frederic
Some JS test fixes
r17212 IPython.page = page;
IPython.layout_manager = layout_manager;
IPython.notebook = notebook;
IPython.pager = pager;
IPython.quick_help = quick_help;
IPython.login_widget = login_widget;
IPython.menubar = menubar;
IPython.toolbar = toolbar;
IPython.notification_area = notification_area;
IPython.keyboard_manager = keyboard_manager;
IPython.save_widget = save_widget;
IPython.config = user_config;
Jonathan Frederic
More requirejs fixes
r17215 IPython.tooltip = notebook.tooltip;
Jason Grout
Trigger app_initialized event *after* the 'global' IPython object is initialized
r17319
events.trigger('app_initialized.NotebookApp');
notebook.load_notebook(common_options.notebook_name, common_options.notebook_path);
MinRK
various unicode fixes...
r15234 });