← ERP rendszer építők adatlapja
Nézd meg, miben segít
Auto-Layout Engines (
Gráfszerkesztő-könyvtárak integrálása
Tiszta munkafolyamat-adatokhoz kapcsolja a vizuális gráfeszközöket, megtartva a szerkesztést és életciklust.
graph-editor-library-integration
Ezt a skillt használó csapattagok
Mikor hasznos?
Akkor használd, ha egyedi csomópontot vagy automatikus elrendezést adsz meglévő szerkesztőhöz.
Miben segít neked?
- Elválasztja a mentett adatot a húzási és mérési állapottól.
- Megőrzi a csomópontmezők használhatóságát véletlen vászonmozgatás nélkül.
- Visszavonható, megismételhető műveletté teszi az elrendezést.
Például ezt kérheted
Adj automatikus elrendezést a folyamatszerkesztőhöz változatlan mentett JSON-nal és egyetlen visszavonási lépéssel. Mentett gráfon rendezz automatikusan, majd egy műveletként vond vissza a rendezést. A szövegszerkesztést külön ellenőrizd; az azonosítók és kapcsolatok maradjanak meg.
Részletes dokumentáció
Itt a skill eredeti útmutatóját, példáit és ellenőrzési szempontjait olvashatod az eredeti nyelven.
Összecsukás
Graph Editor Library Integration
Use this skill when integrating or extending a visual node-graph library (such as @xyflow/react / React Flow, @vue-flow/core, @xyflow/svelte, or Rete.js) and graph auto-layout engines (dagre, elkjs).
Adapt to the Existing Graph Engine & Framework
- Keep Domain Workflow State Clean of Library-Internal Runtime Fields:
- Node-graph libraries attach ephemeral measurement and dragging properties (
measured,dragging,selected, internal handle bounds) to node objects. - Maintain a clean adapter boundary between your persisted
WorkflowDefinition+WorkflowLayoutmodel and the library's view-state nodes/edges so internal library fields are never leaked into saved workflow JSON or version hashes.
- Node-graph libraries attach ephemeral measurement and dragging properties (
- Memoize Custom Nodes and Edge Components:
- In React Flow / Vue Flow, wrap custom node and edge renderers (
memo/markRaw) and definenodeTypesandedgeTypesoutside the render function so panning or dragging one node never unmounts and remounts every node on the canvas. - Inside custom node views, mark interactive form inputs (
nodrag,nopan,nowheelclasses) so typing, selecting text, or scrolling a dropdown inside a node does not accidentally drag or zoom the canvas.
- In React Flow / Vue Flow, wrap custom node and edge renderers (
Auto-Layout Engines (Dagre / ELK.js) & Viewport Polish
- Deterministic Hierarchical Layout:
- When auto-arranging a workflow (
TBtop-to-bottom orLRleft-to-right) or inserting a new step via keyboard/button between two connected nodes, compute positions using measured node dimensions viadagreorelkjsinside a single undoable layout transaction.
- When auto-arranging a workflow (
- Accessible Focus & Viewport Navigation:
- Enable keyboard focusability (
nodesFocusable,edgesFocusable,autoPanOnNodeFocus), provide a minimap / fit-view control, and allow clicking a step in the run timeline or validation error list to smoothly center (setCenter/fitView) that node on the canvas.
- Enable keyboard focusability (
Checklist
- Are
nodeTypesandedgeTypesdefined stably and memoized so panning/dragging does not remount custom nodes? - Are interactive inputs inside custom nodes marked with
nodrag/nowheelso editing node fields never drags the canvas? - Are library-internal runtime properties stripped before serializing
WorkflowDefinitionand computing version hashes? - Does auto-layout (
dagre/elkjs) arrange nodes cleanly as a single undoable layout update without altering execution semantics?
Csomagban lévő fájlok 1
SKILL.md
