aboutsummaryrefslogtreecommitdiff
path: root/venv/share/jupyter/nbextensions/dash/main.js
blob: 436e371bc5d7014dbef6519f098576ab0f19aeb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 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
    };
});