43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// file my_extension/main.js
 | 
						|
 | 
						|
define([
 | 
						|
    'base/js/namespace',
 | 
						|
    'base/js/utils',
 | 
						|
], function(Jupyter, utils){
 | 
						|
 | 
						|
    function load_ipython_extension(){
 | 
						|
        var notebookUrl = window.location.href
 | 
						|
        var baseUrl = utils.get_body_data('baseUrl');
 | 
						|
        var baseNotebooks = baseUrl + "notebooks"
 | 
						|
        var n = notebookUrl.search(baseNotebooks)
 | 
						|
        var jupyterServerUrl = notebookUrl.slice(0, n)
 | 
						|
 | 
						|
        var register_comm = function() {
 | 
						|
            Jupyter.notebook.kernel.comm_manager.register_target('dash',
 | 
						|
                function (comm, msg) {
 | 
						|
                    // Register handlers for later messages:
 | 
						|
                    comm.on_msg(function (msg) {
 | 
						|
                        console.log("Dash message", msg);
 | 
						|
                        var msgData = msg.content.data;
 | 
						|
                        if (msgData.type === 'base_url_request') {
 | 
						|
                            comm.send({
 | 
						|
                                type: 'base_url_response',
 | 
						|
                                server_url: jupyterServerUrl,
 | 
						|
                                base_subpath: baseUrl,
 | 
						|
                                frontend: "notebook"
 | 
						|
                            });
 | 
						|
                        } else if (msgData.type === 'show') {
 | 
						|
 | 
						|
                        }
 | 
						|
                    });
 | 
						|
                });
 | 
						|
        };
 | 
						|
 | 
						|
        Jupyter.notebook.events.on('kernel_ready.Kernel', register_comm)
 | 
						|
    }
 | 
						|
 | 
						|
    return {
 | 
						|
        load_ipython_extension: load_ipython_extension
 | 
						|
    };
 | 
						|
});
 |