From 69bb4b1a0a8feb6c2b885bf964ccd4e5877f00c7 Mon Sep 17 00:00:00 2001 From: Jonathan Frederic Date: Thu, 20 Aug 2015 10:43:20 -0700 Subject: [PATCH] Truely load jquery, jqueryui, and bootstrap as globals. --- .jshintrc | 5 ++- notebook/static-src/auth/js/loginwidget.js | 1 - notebook/static-src/base/js/dialog.js | 5 +-- notebook/static-src/base/js/events.js | 1 - notebook/static-src/base/js/globals.js | 37 +++++++++++++++++++ notebook/static-src/base/js/keyboard.js | 1 - .../static-src/base/js/notificationarea.js | 1 - .../static-src/base/js/notificationwidget.js | 1 - notebook/static-src/base/js/page.js | 1 - notebook/static-src/base/js/security.js | 1 - notebook/static-src/base/js/utils.js | 1 - notebook/static-src/edit/js/editor.js | 1 - notebook/static-src/edit/js/main.js | 12 ++++-- notebook/static-src/edit/js/menubar.js | 1 - notebook/static-src/edit/js/savewidget.js | 1 - notebook/static-src/notebook/js/about.js | 1 - notebook/static-src/notebook/js/cell.js | 1 - .../static-src/notebook/js/celltoolbar.js | 1 - .../notebook/js/celltoolbarpresets/default.js | 1 - .../notebook/js/celltoolbarpresets/example.js | 1 - .../notebook/js/celltoolbarpresets/rawcell.js | 1 - .../js/celltoolbarpresets/slideshow.js | 1 - notebook/static-src/notebook/js/codecell.js | 1 - notebook/static-src/notebook/js/completer.js | 1 - .../static-src/notebook/js/kernelselector.js | 1 - .../static-src/notebook/js/keyboardmanager.js | 1 - notebook/static-src/notebook/js/main.js | 9 +++-- .../static-src/notebook/js/maintoolbar.js | 1 - .../static-src/notebook/js/mathjaxutils.js | 1 - notebook/static-src/notebook/js/menubar.js | 1 - notebook/static-src/notebook/js/notebook.js | 1 - .../notebook/js/notificationarea.js | 1 - notebook/static-src/notebook/js/outputarea.js | 2 - notebook/static-src/notebook/js/pager.js | 2 - notebook/static-src/notebook/js/quickhelp.js | 1 - notebook/static-src/notebook/js/savewidget.js | 1 - .../static-src/notebook/js/scrollmanager.js | 1 - notebook/static-src/notebook/js/textcell.js | 1 - notebook/static-src/notebook/js/toolbar.js | 1 - notebook/static-src/notebook/js/tooltip.js | 1 - notebook/static-src/notebook/js/tour.js | 3 -- notebook/static-src/services/config.js | 1 - notebook/static-src/services/contents.js | 1 - notebook/static-src/services/kernels/comm.js | 1 - .../static-src/services/kernels/kernel.js | 1 - .../static-src/services/sessions/session.js | 1 - notebook/static-src/terminal/js/main.js | 7 ++-- notebook/static-src/tree/js/kernellist.js | 1 - notebook/static-src/tree/js/main.js | 12 +++--- notebook/static-src/tree/js/newnotebook.js | 1 - notebook/static-src/tree/js/notebooklist.js | 1 - notebook/static-src/tree/js/sessionlist.js | 1 - notebook/static-src/tree/js/terminallist.js | 1 - package.json | 1 + 54 files changed, 65 insertions(+), 73 deletions(-) create mode 100644 notebook/static-src/base/js/globals.js diff --git a/.jshintrc b/.jshintrc index c1f2978bc..ee1573101 100644 --- a/.jshintrc +++ b/.jshintrc @@ -1,3 +1,6 @@ { - "node": true + "browserify": true, + "node": true, + "jquery": true, + "predef": [ "requirejs", "define", "Promise"] } diff --git a/notebook/static-src/auth/js/loginwidget.js b/notebook/static-src/auth/js/loginwidget.js index 093af451e..a64ac9233 100644 --- a/notebook/static-src/auth/js/loginwidget.js +++ b/notebook/static-src/auth/js/loginwidget.js @@ -4,7 +4,6 @@ "use strict"; var utils = require('base/js/utils'); - var $ = require('jquery'); var LoginWidget = function (selector, options) { options = options || {}; diff --git a/notebook/static-src/base/js/dialog.js b/notebook/static-src/base/js/dialog.js index cf00bf0bf..d99e86c23 100644 --- a/notebook/static-src/base/js/dialog.js +++ b/notebook/static-src/base/js/dialog.js @@ -2,9 +2,7 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - - var $ = require('jquery'); - + /** * A wrapper around bootstrap modal for easier use * Pass it an option dictionary with the following properties: @@ -35,7 +33,6 @@ * **/ var modal = function (options) { - var modal = $("
") .addClass("modal") .addClass("fade") diff --git a/notebook/static-src/base/js/events.js b/notebook/static-src/base/js/events.js index 23b9294ab..5ff73aecc 100644 --- a/notebook/static-src/base/js/events.js +++ b/notebook/static-src/base/js/events.js @@ -11,7 +11,6 @@ "use strict"; if (!window.jupyterEvents) { - var $ = require('jquery'); var Events = function () {}; window.jupyterEvents = $([new Events()]); } diff --git a/notebook/static-src/base/js/globals.js b/notebook/static-src/base/js/globals.js new file mode 100644 index 000000000..3bbe925ed --- /dev/null +++ b/notebook/static-src/base/js/globals.js @@ -0,0 +1,37 @@ +// Copyright (c) Jupyter Development Team. +// Distributed under the terms of the Modified BSD License. + +"use strict"; + +/** + * jquery, jquery-ui, and bootstrap all really on weird window level logic. + * This module handles the global loading of those tools. + */ +module.exports = new Promise(function(resolve, reject) { + requirejs(['jquery'], function($) { + window.$ = window.jQuery = $; + console.log('jQuery loaded and available in global namespace'); + + requirejs(['jqueryui', 'bootstrap'], function() { + if ($.prototype.modal) { + console.log('bootstrap loaded and injected into jQuery\'s namespace'); + } else { + reject(new Error('bootstrap not injected into jQuery prototype')); + } + + if ($.prototype.draggable) { + console.log('jQueryUI loaded and injected into jQuery\'s namespace'); + } else { + reject(new Error('jQueryUI not injected into jQuery prototype')); + } + + resolve(); + }, function(err) { + console.error('could not load jqueryui and/or bootstrap'); + reject(err); + }); + }, function(err) { + console.error('could not load jquery'); + reject(err); + }); +}); \ No newline at end of file diff --git a/notebook/static-src/base/js/keyboard.js b/notebook/static-src/base/js/keyboard.js index b8adf90f6..44d74849e 100644 --- a/notebook/static-src/base/js/keyboard.js +++ b/notebook/static-src/base/js/keyboard.js @@ -12,7 +12,6 @@ var utils = require('base/js/utils'); var _ = require('underscore'); - var $ = require('jquery'); /** diff --git a/notebook/static-src/base/js/notificationarea.js b/notebook/static-src/base/js/notificationarea.js index c69fa3b82..5e93cc28f 100644 --- a/notebook/static-src/base/js/notificationarea.js +++ b/notebook/static-src/base/js/notificationarea.js @@ -4,7 +4,6 @@ "use strict"; var notificationwidget = require('base/js/notificationwidget'); - var $ = require('jquery'); // store reference to the NotificationWidget class var NotificationWidget = notificationwidget.NotificationWidget; diff --git a/notebook/static-src/base/js/notificationwidget.js b/notebook/static-src/base/js/notificationwidget.js index 8c42462b4..c69a84572 100644 --- a/notebook/static-src/base/js/notificationwidget.js +++ b/notebook/static-src/base/js/notificationwidget.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); /** * Construct a NotificationWidget object. diff --git a/notebook/static-src/base/js/page.js b/notebook/static-src/base/js/page.js index df3ef1794..538373ba4 100644 --- a/notebook/static-src/base/js/page.js +++ b/notebook/static-src/base/js/page.js @@ -4,7 +4,6 @@ "use strict"; var events = require('base/js/events'); - var $ = require('jquery'); var Page = function () { this.bind_events(); diff --git a/notebook/static-src/base/js/security.js b/notebook/static-src/base/js/security.js index 471d8df03..4b8d82f9a 100644 --- a/notebook/static-src/base/js/security.js +++ b/notebook/static-src/base/js/security.js @@ -3,7 +3,6 @@ "use strict"; - var $ = require('jquery'); var caja = require('caja'); var noop = function (x) { return x; }; diff --git a/notebook/static-src/base/js/utils.js b/notebook/static-src/base/js/utils.js index 08ff27080..413963cbd 100644 --- a/notebook/static-src/base/js/utils.js +++ b/notebook/static-src/base/js/utils.js @@ -3,7 +3,6 @@ "use strict"; - var $ = require('jquery'); var moment = require('moment'); /** diff --git a/notebook/static-src/edit/js/editor.js b/notebook/static-src/edit/js/editor.js index e65af3441..dbdddd880 100644 --- a/notebook/static-src/edit/js/editor.js +++ b/notebook/static-src/edit/js/editor.js @@ -3,7 +3,6 @@ "use strict"; - var $ = require('jquery'); var CodeMirror = require('codemirror/lib/codemirror'); var utils = require('base/js/utils'); require('codemirror/mode/meta'); diff --git a/notebook/static-src/edit/js/main.js b/notebook/static-src/edit/js/main.js index e92bdc42a..cd52226cf 100644 --- a/notebook/static-src/edit/js/main.js +++ b/notebook/static-src/edit/js/main.js @@ -2,7 +2,8 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); +require('base/js/globals').then(function() { + var IPython = require('base/js/namespace'); var utils = require('base/js/utils'); var page = require('base/js/page'); @@ -14,9 +15,7 @@ var notificationarea = require('edit/js/notificationarea'); // Contents must be loaded at runtime. -// jQuery must also be loaded at runtime and available globally -// in order for bootstrap to work... -requirejs(['contents', 'bootstrap', 'custom/custom'], function(contents_service) { +requirejs(['contents', 'custom/custom'], function(contents_service) { page = new page.Page(); @@ -85,3 +84,8 @@ requirejs(['contents', 'bootstrap', 'custom/custom'], function(contents_service) // On document ready, resize codemirror. $(document).ready(_handle_resize); }); + +}).catch(function(err) { + console.error('Could not load globals', err); +}); + \ No newline at end of file diff --git a/notebook/static-src/edit/js/menubar.js b/notebook/static-src/edit/js/menubar.js index 43ab8474b..656fd4fd5 100644 --- a/notebook/static-src/edit/js/menubar.js +++ b/notebook/static-src/edit/js/menubar.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var IPython = require('base/js/namespace'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); diff --git a/notebook/static-src/edit/js/savewidget.js b/notebook/static-src/edit/js/savewidget.js index eb3da2cf2..9ad938ed8 100644 --- a/notebook/static-src/edit/js/savewidget.js +++ b/notebook/static-src/edit/js/savewidget.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); var keyboard = require('base/js/keyboard'); diff --git a/notebook/static-src/notebook/js/about.js b/notebook/static-src/notebook/js/about.js index 6cbbb1f48..fd4274ce7 100644 --- a/notebook/static-src/notebook/js/about.js +++ b/notebook/static-src/notebook/js/about.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. 'use strict'; - var $ = require('jquery'); var dialog = require('base/js/dialog'); var _ = require('underscore'); var IPython = require('base/js/namespace'); diff --git a/notebook/static-src/notebook/js/cell.js b/notebook/static-src/notebook/js/cell.js index 6a46b141a..7ec0010aa 100644 --- a/notebook/static-src/notebook/js/cell.js +++ b/notebook/static-src/notebook/js/cell.js @@ -10,7 +10,6 @@ */ "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var CodeMirror = require('codemirror/lib/codemirror'); var cm_match = require('codemirror/addon/edit/matchbrackets'); diff --git a/notebook/static-src/notebook/js/celltoolbar.js b/notebook/static-src/notebook/js/celltoolbar.js index 76d6736fa..19819de3c 100644 --- a/notebook/static-src/notebook/js/celltoolbar.js +++ b/notebook/static-src/notebook/js/celltoolbar.js @@ -3,7 +3,6 @@ "use strict"; var IPython = require('base/js/namespace'); - var $ = require('jquery'); var events = require('base/js/events'); var CellToolbar = function (options) { diff --git a/notebook/static-src/notebook/js/celltoolbarpresets/default.js b/notebook/static-src/notebook/js/celltoolbarpresets/default.js index d1c181c8f..c3386ab4f 100644 --- a/notebook/static-src/notebook/js/celltoolbarpresets/default.js +++ b/notebook/static-src/notebook/js/celltoolbarpresets/default.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var celltoolbar = require('notebook/js/celltoolbar'); var dialog = require('base/js/dialog'); diff --git a/notebook/static-src/notebook/js/celltoolbarpresets/example.js b/notebook/static-src/notebook/js/celltoolbarpresets/example.js index b9550cfc6..24bb770d9 100644 --- a/notebook/static-src/notebook/js/celltoolbarpresets/example.js +++ b/notebook/static-src/notebook/js/celltoolbarpresets/example.js @@ -9,7 +9,6 @@ // $.getScript('/static/js/celltoolbarpresets/example.js'); // ``` "use strict"; - var $ = require('jquery'); var celltoolbar = require('notebook/js/celltoolbar'); var CellToolbar = celltoolbar.CellToolbar; diff --git a/notebook/static-src/notebook/js/celltoolbarpresets/rawcell.js b/notebook/static-src/notebook/js/celltoolbarpresets/rawcell.js index 0c03782b2..9abe6b9e5 100644 --- a/notebook/static-src/notebook/js/celltoolbarpresets/rawcell.js +++ b/notebook/static-src/notebook/js/celltoolbarpresets/rawcell.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var celltoolbar = require('notebook/js/celltoolbar'); var dialog = require('base/js/dialog'); var keyboard = require('base/js/keyboard'); diff --git a/notebook/static-src/notebook/js/celltoolbarpresets/slideshow.js b/notebook/static-src/notebook/js/celltoolbarpresets/slideshow.js index 3272cc763..ff84cd1a0 100644 --- a/notebook/static-src/notebook/js/celltoolbarpresets/slideshow.js +++ b/notebook/static-src/notebook/js/celltoolbarpresets/slideshow.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var celltoolbar = require('notebook/js/celltoolbar'); var CellToolbar = celltoolbar.CellToolbar; diff --git a/notebook/static-src/notebook/js/codecell.js b/notebook/static-src/notebook/js/codecell.js index 20ae3dd6c..61bb5d611 100644 --- a/notebook/static-src/notebook/js/codecell.js +++ b/notebook/static-src/notebook/js/codecell.js @@ -10,7 +10,6 @@ "use strict"; var IPython = require('base/js/namespace'); - var $ = require('jquery'); var utils = require('base/js/utils'); var keyboard = require('base/js/keyboard'); var configmod = require('services/config'); diff --git a/notebook/static-src/notebook/js/completer.js b/notebook/static-src/notebook/js/completer.js index 146962b65..9dbcadf20 100644 --- a/notebook/static-src/notebook/js/completer.js +++ b/notebook/static-src/notebook/js/completer.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var keyboard = require('base/js/keyboard'); var CodeMirror = require('codemirror/lib/codemirror'); diff --git a/notebook/static-src/notebook/js/kernelselector.js b/notebook/static-src/notebook/js/kernelselector.js index d65822277..ce38e3594 100644 --- a/notebook/static-src/notebook/js/kernelselector.js +++ b/notebook/static-src/notebook/js/kernelselector.js @@ -1,7 +1,6 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var IPython = require('base/js/namespace'); var dialog = require('base/js/dialog'); var utils = require('base/js/utils'); diff --git a/notebook/static-src/notebook/js/keyboardmanager.js b/notebook/static-src/notebook/js/keyboardmanager.js index f5a87f8b6..8156356ac 100644 --- a/notebook/static-src/notebook/js/keyboardmanager.js +++ b/notebook/static-src/notebook/js/keyboardmanager.js @@ -8,7 +8,6 @@ * @class KeyboardManager */ "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var keyboard = require('base/js/keyboard'); diff --git a/notebook/static-src/notebook/js/main.js b/notebook/static-src/notebook/js/main.js index 8aa997fe1..829dca503 100644 --- a/notebook/static-src/notebook/js/main.js +++ b/notebook/static-src/notebook/js/main.js @@ -3,11 +3,9 @@ "use strict"; // Contents must be loaded at runtime. -// jQuery must also be loaded at runtime and available globally -// in order for bootstrap to work... -requirejs(['contents', 'jquery'], function(contents_service) { +requirejs(['contents'], function(contents_service) { + require('base/js/globals').then(function() { var IPython = require('base/js/namespace'); - var $ = require('jquery'); var notebook = require('notebook/js/notebook'); var configmod = require('services/config'); var utils = require('base/js/utils'); @@ -143,4 +141,7 @@ requirejs(['contents', 'jquery'], function(contents_service) { utils.load_extensions_from_config(config_section); utils.load_extensions_from_config(common_config); notebook.load_notebook(common_options.notebook_path); + }).catch(function(err) { + console.error('Could not load globals', err); + }); }); diff --git a/notebook/static-src/notebook/js/maintoolbar.js b/notebook/static-src/notebook/js/maintoolbar.js index 48f9fa15f..d2bc4a75c 100644 --- a/notebook/static-src/notebook/js/maintoolbar.js +++ b/notebook/static-src/notebook/js/maintoolbar.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var toolbar = require('./toolbar'); var celltoolbar = require('./celltoolbar'); var MainToolBar = function (selector, options) { diff --git a/notebook/static-src/notebook/js/mathjaxutils.js b/notebook/static-src/notebook/js/mathjaxutils.js index 1262b4a8d..6b842146f 100644 --- a/notebook/static-src/notebook/js/mathjaxutils.js +++ b/notebook/static-src/notebook/js/mathjaxutils.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); diff --git a/notebook/static-src/notebook/js/menubar.js b/notebook/static-src/notebook/js/menubar.js index 50ad555ef..f66b7d318 100644 --- a/notebook/static-src/notebook/js/menubar.js +++ b/notebook/static-src/notebook/js/menubar.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var IPython = require('base/js/namespace'); var dialog = require('base/js/dialog'); var utils = require('base/js/utils'); diff --git a/notebook/static-src/notebook/js/notebook.js b/notebook/static-src/notebook/js/notebook.js index 235a708b0..1ed0bc932 100644 --- a/notebook/static-src/notebook/js/notebook.js +++ b/notebook/static-src/notebook/js/notebook.js @@ -7,7 +7,6 @@ "use strict"; var IPython = require('base/js/namespace'); - var $ = require('jquery'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); var cellmod = require('notebook/js/cell'); diff --git a/notebook/static-src/notebook/js/notificationarea.js b/notebook/static-src/notebook/js/notificationarea.js index 41bb31201..a3f5c2802 100644 --- a/notebook/static-src/notebook/js/notificationarea.js +++ b/notebook/static-src/notebook/js/notificationarea.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); var notificationarea = require('base/js/notificationarea'); diff --git a/notebook/static-src/notebook/js/outputarea.js b/notebook/static-src/notebook/js/outputarea.js index 915b90093..f0a10e3af 100644 --- a/notebook/static-src/notebook/js/outputarea.js +++ b/notebook/static-src/notebook/js/outputarea.js @@ -2,8 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); - require('jqueryui'); var utils = require('base/js/utils'); var security = require('base/js/security'); var keyboard = require('base/js/keyboard'); diff --git a/notebook/static-src/notebook/js/pager.js b/notebook/static-src/notebook/js/pager.js index 4c3d7f208..8bc20afe7 100644 --- a/notebook/static-src/notebook/js/pager.js +++ b/notebook/static-src/notebook/js/pager.js @@ -2,8 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); - require('jqueryui'); var utils = require('base/js/utils'); var Pager = function (pager_selector, options) { diff --git a/notebook/static-src/notebook/js/quickhelp.js b/notebook/static-src/notebook/js/quickhelp.js index ba89376e6..3af58b6a5 100644 --- a/notebook/static-src/notebook/js/quickhelp.js +++ b/notebook/static-src/notebook/js/quickhelp.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); diff --git a/notebook/static-src/notebook/js/savewidget.js b/notebook/static-src/notebook/js/savewidget.js index e5ea54d42..dff5aef46 100644 --- a/notebook/static-src/notebook/js/savewidget.js +++ b/notebook/static-src/notebook/js/savewidget.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); var keyboard = require('base/js/keyboard'); diff --git a/notebook/static-src/notebook/js/scrollmanager.js b/notebook/static-src/notebook/js/scrollmanager.js index a8c80baf2..7cacb0dbb 100644 --- a/notebook/static-src/notebook/js/scrollmanager.js +++ b/notebook/static-src/notebook/js/scrollmanager.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var ScrollManager = function(notebook, options) { /** * Public constructor. diff --git a/notebook/static-src/notebook/js/textcell.js b/notebook/static-src/notebook/js/textcell.js index 19ece9b27..53a8cd114 100644 --- a/notebook/static-src/notebook/js/textcell.js +++ b/notebook/static-src/notebook/js/textcell.js @@ -3,7 +3,6 @@ "use strict"; var utils = require('base/js/utils'); - var $ = require('jquery'); var cell = require('notebook/js/cell'); var security = require('base/js/security'); var configmod = require('services/config'); diff --git a/notebook/static-src/notebook/js/toolbar.js b/notebook/static-src/notebook/js/toolbar.js index d156d33c3..ef3c30c66 100644 --- a/notebook/static-src/notebook/js/toolbar.js +++ b/notebook/static-src/notebook/js/toolbar.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); /** * A generic toolbar on which one can add button diff --git a/notebook/static-src/notebook/js/tooltip.js b/notebook/static-src/notebook/js/tooltip.js index e2c39694a..7eb7a61cb 100644 --- a/notebook/static-src/notebook/js/tooltip.js +++ b/notebook/static-src/notebook/js/tooltip.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); // tooltip constructor diff --git a/notebook/static-src/notebook/js/tour.js b/notebook/static-src/notebook/js/tour.js index 59129a2c9..7466b8a32 100644 --- a/notebook/static-src/notebook/js/tour.js +++ b/notebook/static-src/notebook/js/tour.js @@ -2,9 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); - - var tour_style = "
\n" + "
\n" + "
\n" + diff --git a/notebook/static-src/services/config.js b/notebook/static-src/services/config.js index 65cd141dd..96da84c11 100644 --- a/notebook/static-src/services/config.js +++ b/notebook/static-src/services/config.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var ConfigSection = function(section_name, options) { diff --git a/notebook/static-src/services/contents.js b/notebook/static-src/services/contents.js index 8f9bc7f45..7209822a8 100644 --- a/notebook/static-src/services/contents.js +++ b/notebook/static-src/services/contents.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var Contents = function(options) { diff --git a/notebook/static-src/services/kernels/comm.js b/notebook/static-src/services/kernels/comm.js index 8c1362212..d6e2dd865 100644 --- a/notebook/static-src/services/kernels/comm.js +++ b/notebook/static-src/services/kernels/comm.js @@ -3,7 +3,6 @@ "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); //----------------------------------------------------------------------- diff --git a/notebook/static-src/services/kernels/kernel.js b/notebook/static-src/services/kernels/kernel.js index 059c89b67..65d5214ba 100644 --- a/notebook/static-src/services/kernels/kernel.js +++ b/notebook/static-src/services/kernels/kernel.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var comm = require('./comm'); var serialize = require('./serialize'); diff --git a/notebook/static-src/services/sessions/session.js b/notebook/static-src/services/sessions/session.js index d26d4d0bd..8798463f8 100644 --- a/notebook/static-src/services/sessions/session.js +++ b/notebook/static-src/services/sessions/session.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var kernel = require('services/kernels/kernel'); diff --git a/notebook/static-src/terminal/js/main.js b/notebook/static-src/terminal/js/main.js index 2e1691779..1dbd99b1f 100644 --- a/notebook/static-src/terminal/js/main.js +++ b/notebook/static-src/terminal/js/main.js @@ -1,9 +1,8 @@ // Copyright (c) Jupyter Development Team. // Distributed under the terms of the Modified BSD License. - "use strict"; +"use strict"; -requirejs(['jquery'], function() { - var $ = require('jquery'); +require('base/js/globals').then(function() { var utils = require('base/js/utils'); var page = require('base/js/page'); var configmod = require('services/config'); @@ -54,4 +53,6 @@ requirejs(['jquery'], function() { // Expose terminal for fiddling with in the browser window.terminal = terminal; +}).catch(function(err) { + console.error('Could not load globals', err); }); diff --git a/notebook/static-src/tree/js/kernellist.js b/notebook/static-src/tree/js/kernellist.js index 05183f8ee..9a7bbdcaf 100644 --- a/notebook/static-src/tree/js/kernellist.js +++ b/notebook/static-src/tree/js/kernellist.js @@ -3,7 +3,6 @@ "use strict"; var IPython = require('base/js/namespace'); - var $ = require('jquery'); var notebooklist = require('tree/js/notebooklist'); var KernelList = function (selector, options) { diff --git a/notebook/static-src/tree/js/main.js b/notebook/static-src/tree/js/main.js index b09cfe981..e35e3304f 100644 --- a/notebook/static-src/tree/js/main.js +++ b/notebook/static-src/tree/js/main.js @@ -3,11 +3,8 @@ "use strict"; // Contents must be loaded at runtime. -// jQuery must also be loaded at runtime and available globally -// in order for bootstrap to work... -requirejs(['contents', 'jquery', 'bootstrap'], function(contents_service) { - - var $ = require('jquery'); +requirejs(['contents'], function(contents_service) { + require('base/js/globals').then(function() { var IPython = require('base/js/namespace'); var dialog = require('base/js/dialog'); var events = require('base/js/events'); @@ -20,8 +17,6 @@ requirejs(['contents', 'jquery', 'bootstrap'], function(contents_service) { var terminallist = require('tree/js/terminallist'); var newnotebook = require('tree/js/newnotebook'); var loginwidget = require('auth/js/loginwidget'); - - require('jqueryui'); requirejs(['custom/custom'], function() {}); IPython.NotebookList = notebooklist.NotebookList; @@ -161,4 +156,7 @@ requirejs(['contents', 'jquery', 'bootstrap'], function(contents_service) { if (window.location.hash) { $("#tabs").find("a[href=" + window.location.hash + "]").click(); } + }).catch(function(err) { + console.error('Could not load globals', err); + }); }); diff --git a/notebook/static-src/tree/js/newnotebook.js b/notebook/static-src/tree/js/newnotebook.js index a2d088f0b..c4b1c9cd3 100644 --- a/notebook/static-src/tree/js/newnotebook.js +++ b/notebook/static-src/tree/js/newnotebook.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var IPython = require('base/js/namespace'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); diff --git a/notebook/static-src/tree/js/notebooklist.js b/notebook/static-src/tree/js/notebooklist.js index e8284bab0..f5a57a565 100644 --- a/notebook/static-src/tree/js/notebooklist.js +++ b/notebook/static-src/tree/js/notebooklist.js @@ -3,7 +3,6 @@ "use strict"; var IPython = require('base/js/namespace'); - var $ = require('jquery'); var utils = require('base/js/utils'); var dialog = require('base/js/dialog'); var events = require('base/js/events'); diff --git a/notebook/static-src/tree/js/sessionlist.js b/notebook/static-src/tree/js/sessionlist.js index b6c076011..99d625a61 100644 --- a/notebook/static-src/tree/js/sessionlist.js +++ b/notebook/static-src/tree/js/sessionlist.js @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. "use strict"; - var $ = require('jquery'); var utils = require('base/js/utils'); var SesssionList = function (options) { diff --git a/notebook/static-src/tree/js/terminallist.js b/notebook/static-src/tree/js/terminallist.js index 707a0d214..806e1c3e8 100644 --- a/notebook/static-src/tree/js/terminallist.js +++ b/notebook/static-src/tree/js/terminallist.js @@ -4,7 +4,6 @@ var IPython = require('base/js/namespace'); var utils = require('base/js/utils'); - var $ = require('jquery'); var notebooklist = require('tree/js/notebooklist'); var TerminalList = function (selector, options) { diff --git a/package.json b/package.json index e852ad0bf..1af2aca14 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "aliasify": "^1.7.2", "amd-wrap-legacy": "^0.2.0", "backbone": "~1.2", + "bootstrap": "^3.3.5", "bower": "*", "browserify": "^11.0.1", "codemirror": "~5.5",