- 78 SDK pages per language (components, composables, advanced API, guides, architecture, getting-started) - vector-edit.md user guide page (5 languages) - Update stale ru/programmable/cli/inspecting.md - Fix YAML frontmatter quoting for colons in descriptions 474 files, 0 missing pages across de/es/fr/it/pl/ru. VitePress build verified — all 546 SDK pages render.
1.8 KiB
1.8 KiB
| title | description |
|---|---|
| useEditorCommands | Menüs, Aktionen und befehlsgesteuerte UI auf Basis des Editors erstellen. |
useEditorCommands
useEditorCommands() legt eine befehlsorientierte Schicht über Editor-Aktionen.
Es ist nützlich beim Erstellen von:
- App-Menüs
- Kontextmenüs
- Toolbars
- Tastaturbefehl-Adaptern
- Seiten-Verschiebe-Untermenüs
Verwendung
import { useEditorCommands } from '@open-pencil/vue'
const { commands, menuItem, runCommand, moveSelectionToPage, otherPages } = useEditorCommands()
Einfaches Beispiel
const { menuItem } = useEditorCommands()
const editMenu = [
menuItem('edit.undo', '⌘Z'),
menuItem('edit.redo', '⇧⌘Z'),
{ separator: true },
menuItem('selection.delete'),
]
Praktische Beispiele
Einen Befehl direkt ausführen
const { runCommand } = useEditorCommands()
runCommand('selection.duplicate')
Ein „Auf Seite verschieben"-Untermenü erstellen
const { otherPages, moveSelectionToPage } = useEditorCommands()
const items = otherPages.value.map(page => ({
label: page.name,
action: () => moveSelectionToPage(page.id),
}))
Verwandte APIs
Wichtigste Typen
type EditorCommandId =
| 'edit.undo'
| 'edit.redo'
| 'selection.selectAll'
| 'selection.duplicate'
| 'selection.delete'
| 'selection.group'
| 'selection.ungroup'
| 'selection.createComponent'
| 'selection.createComponentSet'
| 'selection.createInstance'
| 'selection.detachInstance'
| 'selection.goToMainComponent'
| 'selection.wrapInAutoLayout'
| 'selection.bringToFront'
| 'selection.sendToBack'
| 'selection.toggleVisibility'
| 'selection.toggleLock'
| 'selection.moveToPage'
| 'view.zoom100'
| 'view.zoomFit'
| 'view.zoomSelection'