##// END OF EJS Templates
Merge pull request #7432 from minrk/load-race...
Merge pull request #7432 from minrk/load-race use promises to wait for kernelspecs on notebook load

File last commit:

r19337:fd52fe2d
r19895:36b0fab3 merge
Show More
main.js
81 lines | 2.1 KiB | application/javascript | JavascriptLexer
Thomas Kluyver
Basic infrastructure for new texteditor component
r19010 // Copyright (c) IPython Development Team.
// Distributed under the terms of the Modified BSD License.
require([
Thomas Kluyver
Refactor editor into Editor class
r19013 'base/js/namespace',
Thomas Kluyver
Basic infrastructure for new texteditor component
r19010 'base/js/utils',
'base/js/page',
Thomas Kluyver
Saving files works
r19012 'base/js/events',
Thomas Kluyver
Loading a file works
r19011 'contents',
Thomas Kluyver
Extensions config for text editor
r19082 'services/config',
Thomas Kluyver
Rename texteditor files & folders to edit
r19074 'edit/js/editor',
'edit/js/menubar',
Min RK
add save widget to text editor
r19316 'edit/js/savewidget',
Thomas Kluyver
Rename texteditor files & folders to edit
r19074 'edit/js/notificationarea',
Thomas Kluyver
Basic infrastructure for new texteditor component
r19010 'custom/custom',
], function(
Thomas Kluyver
Refactor editor into Editor class
r19013 IPython,
Thomas Kluyver
Basic infrastructure for new texteditor component
r19010 utils,
page,
Thomas Kluyver
Saving files works
r19012 events,
Thomas Kluyver
Loading a file works
r19011 contents,
Thomas Kluyver
Extensions config for text editor
r19082 configmod,
Min RK
track dirty state in editor for onbeforeunload
r19304 editmod,
Thomas Kluyver
Use NotificationArea in the text editor
r19017 menubar,
Min RK
add save widget to text editor
r19316 savewidget,
Thomas Kluyver
Use NotificationArea in the text editor
r19017 notificationarea
Thomas Kluyver
Basic infrastructure for new texteditor component
r19010 ){
page = new page.Page();
var base_url = utils.get_body_data('baseUrl');
Thomas Kluyver
Loading a file works
r19011 var file_path = utils.get_body_data('filePath');
Thomas Kluyver
Refactor editor into Editor class
r19013 contents = new contents.Contents({base_url: base_url});
Min RK
track dirty state in editor for onbeforeunload
r19304 var config = new configmod.ConfigSection('edit', {base_url: base_url});
Thomas Kluyver
Extensions config for text editor
r19082 config.load();
Thomas Kluyver
Refactor editor into Editor class
r19013
Min RK
track dirty state in editor for onbeforeunload
r19304 var editor = new editmod.Editor('#texteditor-container', {
Thomas Kluyver
Refactor editor into Editor class
r19013 base_url: base_url,
events: events,
contents: contents,
file_path: file_path,
Min RK
editor progress...
r19303 config: config,
Thomas Kluyver
Loading a file works
r19011 });
Thomas Kluyver
Refactor editor into Editor class
r19013
// Make it available for debugging
IPython.editor = editor;
Min RK
add File/Rename
r19317 var save_widget = new savewidget.SaveWidget('span#save_widget', {
Thomas Kluyver
Refactor editor into Editor class
r19013 editor: editor,
Min RK
editor progress...
r19303 events: events,
Thomas Kluyver
Refactor editor into Editor class
r19013 });
Thomas Kluyver
Use NotificationArea in the text editor
r19017
Min RK
add File/Rename
r19317 var menus = new menubar.MenuBar('#menubar', {
base_url: base_url,
Min RK
add save widget to text editor
r19316 editor: editor,
events: events,
Min RK
add File/Rename
r19317 save_widget: save_widget,
Min RK
add save widget to text editor
r19316 });
Thomas Kluyver
Use NotificationArea in the text editor
r19017 var notification_area = new notificationarea.EditorNotificationArea(
'#notification_area', {
events: events,
});
notification_area.init_notification_widgets();
Thomas Kluyver
Refactor editor into Editor class
r19013
Thomas Kluyver
Extensions config for text editor
r19082 config.loaded.then(function() {
if (config.data.load_extensions) {
var nbextension_paths = Object.getOwnPropertyNames(
config.data.load_extensions);
IPython.load_extensions.apply(this, nbextension_paths);
}
});
Thomas Kluyver
Refactor editor into Editor class
r19013 editor.load();
page.show();
Min RK
track dirty state in editor for onbeforeunload
r19304
window.onbeforeunload = function () {
Min RK
redirect /edit/ to /files/ if not (utf8) text
r19337 if (editor.save_enabled && !editor.codemirror.isClean(editor.generation)) {
Min RK
track dirty state in editor for onbeforeunload
r19304 return "Unsaved changes will be lost. Close anyway?";
}
};
Thomas Kluyver
Basic infrastructure for new texteditor component
r19010 });