A page chip was right-clicked (never fires in ReadOnly). The hosting board renders
its standard context menu from this — see BuildWhiteboardPageContextMenu.
Read-only mode: page switching stays available; add / rename / delete do not.
ID of the page being renamed inline, or null when no rename is in flight.
Shared board state engine (owned by the integration layer, passed via the board).
Whether the delete affordance renders (never on the last page, never read-only).
The board's ordered page list (re-read every CD pass — cheap snapshots).
Open the strip's inline-rename editor for a page (the same editor the dblclick path uses). Public so the board's context-menu "Rename page" action can route here. No-op in ReadOnly.
Commit the inline rename (blur or Enter). Empty input keeps the previous name.
A callback method that is invoked immediately after the default change detector has completed one change-check cycle for a component's view.
The "+" button → add an auto-named page (the engine switches to it).
Click a chip → switch to that page (no-op when it is already active).
Right-click a chip → suppress the native menu and hand the event to the board (which renders the page Rename / Delete context menu). Silent in ReadOnly — no board menu is offered on a read-only strip.
Double-click a chip → swap it for the inline rename input (not in read-only).
The per-chip "×" → remove the page (the engine guards the last page).
Enter commits the rename, Esc cancels; keys never leak to the board shortcuts.
The PAGE STRIP (
mj-realtime-whiteboard-pages) — a compact, OneNote-style floating row of page chips on the board's bottom-left, hosted by the board surface so every consumer (live host, read-only snapshot viewer) gets page navigation for free.Interactions:
Agent-created pages (the
Whiteboard_AddPagetool) carry the package's delegated violet authorship garnish on their chip — a small violet dot plus a violet ring — consistent with the violet treatment on agent-authored items.ReadOnly mode (artifact viewer / session review): chips still SWITCH pages — flipping through a saved board is navigation, not mutation — but add / rename / delete are hidden/disabled. All mutations go through the shared WhiteboardState engine, so the cancelable Page* before/after events and undo behave exactly as for the agent's page tools.