PageAction

sealed interface PageAction : GuiAction

Actions scoped to one page: editing its query/scratch text/stdin/configuration, driving resolutions, and managing its history/panels.

Inheritors

Types

Link copied to clipboard
data class ChangeConfiguration(val pageId: PageId, val configuration: PageConfiguration) : PageAction

Replaces the page's configuration (e.g. panel layout/visibility).

Link copied to clipboard
data class ChangeQuery(val pageId: PageId, val query: String) : PageAction

Edits the page's current query text.

Link copied to clipboard
data class ChangeScratchText(val pageId: PageId, val text: String) : PageAction

Edits a scratch page's in-memory text (does nothing for a document-backed page).

Link copied to clipboard
data class ChangeSolverProfile(val pageId: PageId, val profileId: SolverProfileId) : PageAction

Switches the solver profile a page resolves queries against, invalidating its current session.

Link copied to clipboard
data class ChangeStdin(val pageId: PageId, val stdin: String) : PageAction

Replaces the standard input a solve on this page would read from.

Link copied to clipboard
data class ChangeTimeout(val pageId: PageId, val timeout: Duration) : PageAction

Changes how long a resolution on this page may run before timing out.

Link copied to clipboard
data class ClearHistory(val pageId: PageId) : PageAction

Discards concluded resolutions from the page's history. Any resolution still in progress is unaffected.

Link copied to clipboard
data class ExtensionCommand(val pageId: PageId, val extensionId: ExtensionId, val commandId: CommandId, val payload: Map<String, String> = emptyMap()) : PageAction

Invokes one command an extension contributed, routed to that extension's action handler.

Link copied to clipboard
data class MarkPanelRead(val pageId: PageId, val panel: PanelId) : PageAction

Clears panel's "unread changes" indicator, e.g. because the user just looked at it.

Link copied to clipboard
data class Next(val pageId: PageId, val mode: ConsumptionMode = ConsumptionMode.ONE) : PageAction

Continues an in-progress resolution that's awaiting continuation, requesting up to mode more solutions.

Link copied to clipboard
data class Reset(val pageId: PageId) : PageAction

Rebuilds the page's solver session from scratch, discarding any accumulated dynamic state.

Link copied to clipboard
data class RestoreHistory(val pageId: PageId, val queryHistory: List<String> = emptyList(), val resolutions: List<ResolutionHistoryEntry> = emptyList()) : PageAction

Replaces the page's query history and resolution/solutions history wholesale, e.g. right after creating a page from previously-persisted state - restoring what a frontend's Solutions tree and query-history navigation show, without re-running anything.

Link copied to clipboard
data class Solve(val pageId: PageId, val mode: ConsumptionMode = ConsumptionMode.ONE) : PageAction

Starts resolving the page's current query, requesting up to mode's solution count.

Link copied to clipboard
data class Stop(val pageId: PageId) : PageAction

Cancels the page's in-progress resolution, if any.

Properties

Link copied to clipboard
abstract val pageId: PageId

The page this action applies to.