// 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; });