63 lines
1.9 KiB
JavaScript
63 lines
1.9 KiB
JavaScript
// Copyright (c) Jupyter Development Team.
|
|
// Distributed under the terms of the Modified BSD License.
|
|
|
|
requirejs([
|
|
'jquery',
|
|
'base/js/utils',
|
|
'base/js/page',
|
|
'auth/js/loginwidget',
|
|
'services/config',
|
|
'terminal/js/terminado',
|
|
], function(
|
|
$,
|
|
utils,
|
|
page,
|
|
loginwidget,
|
|
configmod,
|
|
terminado
|
|
){
|
|
"use strict";
|
|
requirejs(['custom/custom'], function() {});
|
|
page = new page.Page('div#header', 'div#site');
|
|
|
|
var common_options = {
|
|
base_url : utils.get_body_data("baseUrl"),
|
|
};
|
|
|
|
var config = new configmod.ConfigSection('terminal', common_options);
|
|
config.load();
|
|
var common_config = new configmod.ConfigSection('common', common_options);
|
|
common_config.load();
|
|
|
|
// This makes the 'logout' button in the top right work.
|
|
var login_widget = new loginwidget.LoginWidget('span#login_widget', common_options);
|
|
|
|
var base_url = utils.get_body_data('baseUrl').replace(/\/?$/, '/');
|
|
var ws_path = utils.get_body_data('wsPath');
|
|
var ws_url = utils.get_body_data('wsUrl');
|
|
if (!ws_url) {
|
|
// trailing 's' in https will become wss for secure web sockets
|
|
ws_url = location.protocol.replace('http', 'ws') + "//" + location.host;
|
|
}
|
|
ws_url = ws_url + base_url + ws_path;
|
|
|
|
page.show_header();
|
|
|
|
var terminal = terminado.make_terminal($("#terminado-container")[0], ws_url);
|
|
|
|
page.show_site();
|
|
|
|
utils.load_extensions_from_config(config);
|
|
utils.load_extensions_from_config(common_config);
|
|
|
|
window.onresize = function() {
|
|
terminal.term.fit();
|
|
// send the new size to the server so that it can trigger a resize in the running process.
|
|
terminal.socket.send(JSON.stringify(["set_size", terminal.term.rows, terminal.term.cols,
|
|
$(window).height(), $(window).width()]));
|
|
};
|
|
|
|
// Expose terminal for fiddling with in the browser
|
|
window.terminal = terminal;
|
|
|
|
});
|