Thank you for your comment, too, Brian! I might get back to this, when I am thinking about how to exactly implement this.
Best regards, Florian Am Montag, 3. Dezember 2018 21:21:02 UTC+1 schrieb ellisonbg: > > I agree with Grant that the preferred way of doing this would be to use > the JupyterLab command system. You could write a mime renderer that takes > JSON data and runs corresponding command. Then you don't have to send it > JavaScript code over the wire. > > On Fri, Nov 30, 2018 at 9:17 AM Grant Nestor <[email protected] > <javascript:>> wrote: > >> Hi Florian, >> >> This certainly was one nice thing about classic notebook: the global >> `jupyter` variable. >> >> If you run JupyterLab in dev-mode, you get a global `window.lab` variable >> that gives you a handle on the application. This is a good starting point. >> To add a new cell, you can call >> `window.lab.commands.execute('notebook:insert-cell-below')`. You can call >> that in the browser console or in a cell: >> >> ```py >> %%js >> window.lab.commands.execute('notebook:insert-cell-below') >> ``` >> >> If you want to run a cell: >> `window.lab.commands.execute('notebook:run-cell-and-select-next')` >> >> You can find these commands by searching the command palette and then >> searching the jupyterlab source code for the command title. >> >> Another relevant project is jyve which gives you several custom Jupyter >> JS-based kernels that expose JupyterLab internals outside of dev-mode: >> https://github.com/deathbeds/jyve >> >> We are weary to expose this outside of dev-mode by default because of the >> consequences that running arbitrary code could have on the user's lab >> environment and system. We could consider adding a setting to the >> javascript-extension allowing users to override this behavior so that it's >> not default but possible. >> >> Feel free to open an issue on the jupyterlab repo. >> >> Grant >> >> On Friday, November 30, 2018 at 3:16:09 AM UTC-6, Florian Wetschoreck >> wrote: >>> >>> Hi, >>> >>> there are good reasons why currently it is not allowed to execute >>> arbitrary Javascript in JupyterLab. >>> Also, there is a fix with the javascript extension package which exposes >>> the window, document and element objects. >>> https://github.com/jupyterlab/jupyterlab/pull/4515 >>> >>> However, we need access to more (internal) objects if we want to add >>> cells or execute cells etc >>> >>> Therefore, I want to extend the current Javascript extension package to >>> expose even more context for users who know what they are doing. >>> The goal is to have another more powerful javascript extension which >>> exposes all relevant objects to fully manipulate JupyterLab without having >>> to go through the process of writing a custom extension. >>> >>> Do you have any advice on this endeavor? For example: *which objects to >>> expose?* >>> How to install the extension without interfering with the existing >>> javascript MimeRenderer. Or maybe: how to overwrite the existing Javascript >>> MimeRenderer. Is it possible to have both side by side? eg to import >>> Javascript and/or JavascriptFullAccess from IPython.display >>> >>> Any help is highly appreciated. >>> >>> Florian >>> >>> -- >> 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/e456cda7-901a-4d3d-a764-9078ff9fd68a%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jupyter/e456cda7-901a-4d3d-a764-9078ff9fd68a%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > Brian E. Granger > Associate Professor of Physics and Data Science > Cal Poly State University, San Luis Obispo > @ellisonbg on Twitter and GitHub > [email protected] <javascript:> and [email protected] <javascript:> > -- 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/76a26cb7-39c1-4d38-9f66-04f2f51bd748%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
