Thanks for the insights. Lot's of options but I'll just go with 
Jupyter.sidebar then.

On Tuesday, January 9, 2018 at 12:28:07 PM UTC-8, Matthias Bussonnier wrote:
>
> HI Adam, 
>
> The seal() was added to avoid mistyped property that at some point was 
> hard to track on the codebase. It is not possible to unseal an object 
> unfortunately. 
> Assigning to Jupyter.sidebar should  be ok, the context is not shared 
> between tabs or windows, and Jupyter.notebook mostly refer to the the 
> current notebook frontend application more than the actual document.
>
> IIRC Jupyter should also be accessible if you 
> require('base/js/namespace',...), or alternatively you can attach your 
> element to `window` I guess. 
>
> More generally, I _believe_  (but I may be wrong) that if you are using 
> define/require, I believe modules are singleton so  requiring the same path 
> or library return you the sam instance.  So it might work without having to 
> attach sidebar to any global variable. A bit like you would attach 
> something to numpy, or matplotlib.
>
> The extension looks really cool in the gif !
> -- 
> M
>
> On 9 January 2018 at 20:33, Adam Rule <[email protected] <javascript:>> 
> wrote:
>
>> I am creating a Jupyter Notebook extension 
>> <https://github.com/acrule/janus> for research purposes that creates a 
>> sidebar where users can "hide" cells with implementation details until they 
>> wish to see them. I am doing something similar to Min's old Scratchpad 
>> <https://github.com/minrk/nbextension-scratchpad> extension by creating 
>> a persistent Sidebar element for rendering these "hidden" cells on demand.
>>
>> I was attempting to assign my Sidebar element to Jupyter.notebook.sidebar 
>> so I can reference it later, but it seems Jupyter.notebook is sealed 
>> <https://github.com/jupyter/notebook/blob/master/notebook/static/notebook/js/notebook.js#L252>
>>  so 
>> I cannot add new properties. Is there a way for me to get around this or is 
>> the sealing permanent? For now I am assigning the Sidebar element to 
>> Jupyter.notebook.session.sidebar but am not sure if code manipulating the 
>> notebook session may delete this reference. Alternatively I tried assigning 
>> it to Jupyter.sidebar, but think this will cause problems if a user has 
>> multiple notebooks open.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Project Jupyter" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jupyter/e7365c65-ddd5-4720-844e-275778a8ab31%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jupyter/e7365c65-ddd5-4720-844e-275778a8ab31%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/c3e2dada-37f3-4325-8fbc-c360c45fab6d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to