Reference
All of these are in the Notebook toolbox.
Notebook Application
The procedural base type a notebook's Events graph implements. Its nodes act on the graph's own notebook, with no receiver wired.
Callbacks
| Callback | When it runs |
|---|---|
| Build | To lay the notebook out: once when it starts, and again for each visitor's own instance. It should only lay out, not load or compute. |
| Site Started | Once, before the first visitor, on the site's own instance. Load what everyone shares here. |
| Session Started | A visitor's page has loaded and their instance is built. |
| Session Ended | A visitor's page closed or went idle. |
Laying out (in Build)
| Node | Adds |
|---|---|
| Site (Name, Icon Url) | The site's name, and a small picture beside it. |
| Page (Name) | A page; what follows goes on it. |
| Page Read Only | Makes the current page read-only. |
| Hide Run All | Takes Run All off the current page. |
| Heading (Text), Markdown (Text), Html (Html), Image (Image, Caption) | A static cell. Image takes a Divooka image or a picture file's path. |
| Show (Label, Compute) | A cell with no input, showing what its function answers when the page loads. |
| Slider (Label, Min, Max, Initial, On Change) | A slider; its step is chosen for about a hundred positions. |
| Number (Label, Initial, On Change) | A number box. |
| Text Box, Text Area (Label, Initial, On Change) | One line or several. |
| Choice (Label, Options, Initial, On Change) | A drop-down of text options. |
| Checkbox, Toggle (Label, Initial, On Change) | A truth. |
| Date (Label, Initial, On Change) | A date, as yyyy-MM-dd. |
| Upload (Label, Kind, On Change) | A file: any file, an image, a text file or a PDF. |
| Button (Label, On Click) | A button; a click calls its function. |
| Begin Group (Label) … End Group (On Change) | An input group: the inputs between are its fields, and End Group's function gets them all at once. |
| Last Read Only, Last Disabled, Last Prefer View (View) | Change the cell added last. A view is table, line, scatter, bar, histogram, interactive or image. |
| Add Page (Name, Cells), Add Cell (Cell) | Place cells made with Notebook Cells. |
While serving (in a cell's function)
| Node | Does |
|---|---|
| Input (Cell) | Another cell's current value in this session, by its label on this page or its id. |
| Set Enabled (Cell, Enabled) | Enables or disables another input; the page changes when this function answers. |
| Get Session Id | This visitor's session, as text: a name for files this visitor's functions write. |
| Shared (Key), Set Shared (Key, Value) | A value every visitor shares. |
Notebook Cells
The same cells as values, for a notebook laid out by wiring: Slider, Number, Text Box, Text Area, Choice, Checkbox, Toggle, Date, Upload, Button, Group (Label, Fields, Compute), Show, Heading, Markdown, Html, Image; and Read Only, Disabled and Prefer View, which return a changed copy of a cell. Place them with Add Page or Add Cell.
Notebook Outputs
What a function returns to say how its value should be shown, where the value alone would be read otherwise:
| Node | Shows |
|---|---|
| Markdown (Text) | Markdown. |
| Html (Html) | An HTML fragment, cleaned of scripts. |
| Html Page (Html) | A whole page, in a frame of its own. |
| Code (Code, Language) | Highlighted code: csharp, python, json, javascript, sql… |
| Download (Path, File Name) | A link to download a file. |
| Picture (Path, Caption) | A picture file, captioned. |
| Series (Name, X, Y), Chart (Kind, Title, Series, X Label, Y Label), Line Chart, Scatter Chart | A chart the page draws: line, scatter, bar, area or histogram. |
| Plot Function (Title, From, To, Function, Samples, X Label, Y Label) | A line chart of a function from a number to a number, sampled across a range; make the function with Edit Function on its pin. |
| Plot With Parameter (Title, From, To, Parameter, Function, …) | The same, for a function of the sampled number and a parameter held for the whole curve - pass an input's value here rather than storing it in a data member beside the chart, since a Function graph runs its unconnected nodes in no set order. |
For a chart that should look exactly as Divooka draws it, return a figure from the Plotting toolbox instead: the page draws it interactively and shows Divooka's own picture of it under Image.
Notebook Inputs and uploaded files
An input group's function receives Notebook Inputs: Get (Field) for a value as it is, and Get Number, Get Text, Get Truth and Get File for one of a known kind, by the field's label. Names lists the fields.
An upload's function receives the uploaded file: its File Name, Content Type, Length and Path on the serving machine for as long as the visitor's session lasts, and Read Text and Read Bytes.