-
Notifications
You must be signed in to change notification settings - Fork 111
Open
Description
This issue is actually an extension of #78. The idea is to have interfaces that define cell and notebook status. Those interfaces should be placed in an external artifact that is available to plugin and library developers. When inside the notebook the instances of those interfaces could be obtained as implicit calls. My idea is that the whole code executed in a cell should be done with a cell receiver. During notebook execution, this cell receiver is substituted by the actual cell object.
The following features should be supported.
Cell:
-
val id: String
. A unique cell id. -
val notebook: Notebook
. Get a reference to a current notebook. -
val/var text: String
. The code inside the cell (see Support for input/output caching #76 ). -
val output: MIMEContainer
. The output as MIMEContainer. -
val rawOutput: String
. Raw output. - Specific notebooks controls like hide input/output.
- Execution controls. Maybe asynchronous cell result.
Notebook:
- Kernel handle.
- A collection of resource handles with the possibility to inject new resources in runtime (see Load static resources via module descriptions #74 ). The resources must provide asynchronous load handles or a javascript promise name so one could organize asynchronous loading of widgets.
- Find a
Cell
by id.