65 lines
2.4 KiB
Markdown
65 lines
2.4 KiB
Markdown
# INI Panel Entry
|
|
|
|
This page is the short entry map for the INI panel UI shell.
|
|
|
|
## Shell Module
|
|
|
|
Use the shell-facing module when an outer UI needs entry links or a read-only
|
|
control view:
|
|
|
|
```js
|
|
import {
|
|
INI_PANEL_ENTRIES,
|
|
createIniPanelLauncherLinkViewModel,
|
|
createIniPanelShellViewModel,
|
|
getIniPanelEntryByHref,
|
|
getVisibleIniPanelEntries,
|
|
createMachineSessionControlPageController,
|
|
refreshMachineSessionControlPage,
|
|
controlPageStatusText,
|
|
renderMachineSessionControlView,
|
|
} from "../runtime/ui/ini-panel/ui-shell.js";
|
|
```
|
|
|
|
`ui-shell.js` re-exports the entry manifest, the read-only control-page
|
|
controller, and the control-view renderer. It does not implement CNC behavior.
|
|
|
|
## Pages
|
|
|
|
| Page | Path | Role |
|
|
| --- | --- | --- |
|
|
| Launch | `runtime/ui/ini-panel/launch.html` | Read-only entry page for available panel surfaces. |
|
|
| Edit and run | `runtime/ui/ini-panel/index.html` | Editable INI panel and existing run workflow surface. |
|
|
| Read-only control view | `runtime/ui/ini-panel/control-page.html` | Read-only control view backed by the panel API. |
|
|
|
|
## Visible Entries
|
|
|
|
The visible launch entries come from `getVisibleIniPanelEntries()`:
|
|
|
|
| Entry id | Href | Title |
|
|
| --- | --- | --- |
|
|
| `edit-run` | `./index.html` | Open edit and run panel |
|
|
| `control-view` | `./control-page.html` | Open read-only control view |
|
|
|
|
Launcher pages can render links from `createIniPanelLauncherLinkViewModel()`
|
|
without reading manifest field names directly. Each item has `entryId`, `href`,
|
|
and `label`.
|
|
|
|
Outer shells can call `createIniPanelShellViewModel()` when they need one
|
|
read-only model with `pages`, `launcherLinks`, and `controlPage` helpers for
|
|
mounting the existing control-page controller, refresh workflow, and renderer.
|
|
|
|
The control-page refresh workflow lives in
|
|
`runtime/ui/ini-panel/control-page-refresh-workflow.js`. Use
|
|
`refreshMachineSessionControlPage()` when an outer shell needs a structured
|
|
refresh result with `phase`, `statusText`, `view`, `renderResult`, and `error`.
|
|
`controlPageStatusText()` formats the already-observed panel status fields for
|
|
the read-only status line, and `createControlPageRefreshState()` is the stable
|
|
state-shape helper used by the workflow.
|
|
|
|
## Boundary
|
|
|
|
The entry shell only links pages and renders already-observed panel state. It
|
|
does not parse G-code, infer canonical events, or implement LinuxCNC-owned
|
|
tool, parameter, planner, or kinematics behavior.
|