Editor
document_editor.dart: the typed editor
dart
import 'package:vyuh_document_editor/document_editor.dart';| Type | Purpose | Key members |
|---|---|---|
DocumentEditor | Shows and edits a typed DocumentController | controller, surface (default .pages()), chrome (default .none), focusNode, autofocus |
DocumentSurface | Where the document shows | .line(onSubmit:), .field(minLines:, maxLines:), .pageless(maxWidth:), .pages(), isPaged |
LineSurface, FieldSurface, PagelessSurface, PagesSurface | The surface variants | |
EditorChrome | Which controls show | none, floating, EditorChrome.toolbar(toolbar), EditorChrome(toolbar:, bubble:), full |
Toolbar | An ordered set of parts | Toolbar(parts), Toolbar.formatting, Toolbar.standard |
ToolbarPart, MarkButton | Base classes | availableIn(configuration) |
BoldButton, ItalicButton, UnderlineButton, StrikeButton, SuperscriptButton, SubscriptButton, LinkButton, HeadingButton(level:), ListButton(ordered:), TableButton, UndoButton, RedoButton | Typed parts |
Guide: Editor widget.
vyuh_document_editor.dart: the editor runtime
dart
import 'package:vyuh_document_editor/vyuh_document_editor.dart';Re-exports package:vyuh_document/types.dart and engine_sessions.dart.
Controller
| Type | Purpose | Key members |
|---|---|---|
DocumentEditorController | The editing runtime: document, selection, history, commands | DocumentEditorController(document:, extensions:, schema:, layoutMode:, protection:, authorId:), .richText(...), fromSource(source:), document, state, toJson(), toJsonString(), replaceDocument, undo, redo, canUndo, transaction(recipe), setSelection, selectAll, selectNode, moveCaret*, copy, cut, paste, focusPageRegion, insertPageBreak, insertSectionBreak, setSectionFormat, addCommentToSelection, acceptRevision, rejectRevision, search, replaceAll, protectSelection, configureInteractionMode, linkRequestHandler, dispose |
DocumentController | The host contract the runtime implements (used by actions and shortcuts) | Not the typed DocumentController |
DocumentEditorLayoutMode | paginated or pageless | |
DocumentSource | Loads a document: .document, .json, .jsonString, .jsonBytes, .bytes(decoder), .uri(loader:), .loader, .stream | |
DocumentExtension | An installed capability | defaults, richText, defaultsWith(...), definition, register(registry) |
createDocumentElementRegistryFromExtensions | Builds the element registry for a list of extensions |
Widget and configuration
| Type | Purpose | Key members |
|---|---|---|
DocumentEditor | The runtime editor widget | controller, configuration, focusNode, autofocus, assetResolver, linkOpener, canvasController, interactionMode, zoom, layoutRevision, scrollController, searchNavigator |
DocumentEditorConfiguration | Behavior and presentation | theme, schema, policy, registry, shortcuts, showFormattingMarks, showGeometryDebug, showScrollbar, pageCacheBuffer, toolbar, review, protection, formFields, contextMenu, resources, inspector; .richText(...), copyWith |
DocumentToolbarConfiguration | Toolbar rows, placement, collapse, actions | rows, placement, collapsible, initiallyExpanded, actionIds, groups, menus; .disabled() |
DocumentToolbarMenuConfiguration, DocumentWorkspaceToolbarRows, DocumentToolbarPlacement, ToolbarGroup | Toolbar parts | |
DocumentEditorTheme | The one editor theme (a ThemeExtension): chrome, canvas, page spacing, caret, selection, handles, marks, rulers, scrollbar, notices | .light(), .dark(), .fromColorScheme(scheme), .of(context), materialTheme, copyWith; fields such as canvasColor, continuousContentPadding, pageGap, caretShape, selectionColor |
DocumentEditorPolicy | Input rules and disabled actions | allowInputRules, disabledActionIds (typed EditorActionIds) |
EditorActionId | The typed identity of an action; each owner declares a closed set | HistoryActionId, MarkActionId, CharacterFormatActionId, TextInsertActionId, ParagraphActionId, ParagraphStyleActionId, HeadingActionId, ListActionId, BreakActionId, TableActionId, ImageActionId, BlockQuoteActionId, BlockQuoteFormatActionId, CodeBlockActionId, ChecklistActionId, DividerActionId, ReviewActionId, ReferenceActionId, ClipboardActionId, KeymapActionId, WorkspaceCommandId; key is the persisted form |
DocumentToolbarSectionId | The typed identity of a selection toolbar section | EditorToolbarSectionId |
ElementRegistry.decodeActionKeys | Reads persisted action keys back into typed IDs | returns ids and unknownKeys; never throws on an unknown key |
DocumentShortcutConfiguration, DocumentContextMenuConfiguration, DocumentReviewConfiguration, DocumentFormFieldConfiguration, DocumentProtectionConfiguration, DocumentEditorResources, DocumentEditorRegistryContributions | Configuration groups | See Configuration |
DocumentInteractionMode | editing, suggesting, commenting, reviewing, viewing | |
PaginatedCanvasController, PaginatedCanvasLayoutMode | The paged canvas (zoom, layout, export gate) |
Resources
| Type | Purpose |
|---|---|
ImageAssetResolver | resolve(assetId) to an ImageProvider |
DocumentImageFailure and kinds, DocumentImageDecodeGate | Image loading failures |
DocumentFontLoader | Resolves and registers document fonts; layoutRevision, loadRequiredDocumentFonts, ensureFamily |
DocumentFontLoadingPolicy, DocumentFontRetryPolicy, DocumentUnavailableFontPolicy, DocumentGuaranteedFallbackFont | Font policies |
LinkOpener, openExternalLink | Opening links |
DocumentSearchNavigator, DocumentSearchSurfaceController | Search UI |
DocumentPasteNotice | What paste changed or dropped |
Guides: Fonts and images, Links, Loading.