DocumentAction

sealed interface DocumentAction : GuiAction

Actions about one document's lifecycle: editing, saving, and reloading it from its origin.

Inheritors

Types

Link copied to clipboard
data class ChangeText(val documentId: DocumentId, val text: String) : DocumentAction

The document's in-memory text was edited.

Link copied to clipboard
data class ReloadDecisionProvided(val documentId: DocumentId, val decision: ReloadDecision) : DocumentAction

The user resolved a reload-with-dirty-changes prompt.

Link copied to clipboard
data class ReloadFailed(val documentId: DocumentId, val message: String) : DocumentAction

Re-reading the document from its origin failed; in-memory content is unchanged.

Link copied to clipboard
data class ReloadSucceeded(val documentId: DocumentId, val text: String) : DocumentAction

The document was re-read from its origin; text replaces its in-memory content.

Link copied to clipboard
data class Rename(val documentId: DocumentId, val displayName: String) : DocumentAction

The document's display name was changed.

Link copied to clipboard
data class RequestReload(val documentId: DocumentId) : DocumentAction

The user asked to reload the document from its origin, discarding in-memory changes if confirmed.

Link copied to clipboard
data class RequestSave(val documentId: DocumentId, val forceSaveAs: Boolean = false) : DocumentAction

The user asked to save; forceSaveAs requests a destination picker even if the document already has one.

Link copied to clipboard
data class SaveCancelled(val documentId: DocumentId) : DocumentAction

The user backed out of a save-destination picker; the document stays dirty.

Link copied to clipboard
data class SaveDestinationSelected(val documentId: DocumentId, val origin: DocumentOrigin) : DocumentAction

The user picked (or confirmed) where to save a document that didn't already have an origin.

Link copied to clipboard
data class SaveFailed(val documentId: DocumentId, val message: String) : DocumentAction

The write failed; the document stays dirty and message is shown to the user.

Link copied to clipboard
data class SaveSucceeded(val documentId: DocumentId, val origin: DocumentOrigin, val savedRevision: Long) : DocumentAction

The write to origin completed; the document is no longer dirty as of savedRevision.

Properties

Link copied to clipboard
abstract val documentId: DocumentId

The document this action applies to.