Commit Graph

12 Commits

Author SHA1 Message Date
155ccd016e feat: KI-Workflow-Assistent (Claude API) zum Erzeugen und Ändern von Workflows
- Neuer WorkflowAssistantService: übersetzt frei formulierte Wünsche per
  Claude API in das Task-JSON des Editors (Anthropic-SDK, Key aus .env)
- Bestehende Workflows änderbar: aktueller Canvas wird als Kontext
  mitgegeben (inkl. Start-/Abschluss-Marker, ohne Validierung), Claude
  wendet die Änderungen an und liefert den vollständigen Workflow zurück
- Assistenten-Dialog passt sich an (Erzeugen vs. Ändern), Claude-Aufruf
  läuft im Hintergrund mit UI-Polling
- Canvas-Neuaufbau legt alte Blöcke in den Undo-Papierkorb (Strg+Z)
- Button "App-JSON (stadtbote)" samt Vorschau-Dialog entfernt
- Version 0.9.2

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 10:19:55 +02:00
d0b2373cc1 feat: Undo (max. 10 Schritte), Pflichtfelder je Listeneintrag und Statusauswahl als Zeilen-Editor
- Canvas-Undo über Schnappschuss-Historie (Strg+Z + Header-Button); Server
  gleicht BlockInstances nach Undo ab und stellt Einstellungen gelöschter
  Blöcke aus einem Papierkorb wieder her
- Element-Einstellungsdialog um 33% vergrößert (440px -> 585px)
- Listen von Texten/Zahlen/Checkboxen: Pflicht-Checkbox je Eintrag statt
  übergreifender "Optionale Aufgabe"; required wird im JSON (fields/entries)
  exportiert und beim Deep-Link-Import wiederhergestellt
- Statusauswahl erfasst Optionen als einzelne Zeilen (CHOICE_LIST) statt
  Textarea; Altdaten (Text bzw. entries) werden weiter unterstützt
- Titeländerungen werden im Graph-HTML nachgezogen (überleben Export/Laden)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 08:03:39 +02:00
72508a60bf fix: Drawflows Lösch-"x" beim Rechtsklick unterdrücken
Rechts dient nur zum Verschieben von Knoten bzw. der Ansicht; das
contextmenu-Event wird in der Capture-Phase gestoppt, bevor Drawflow
den Lösch-Button am selektierten Knoten einblendet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 13:10:23 +02:00
00f7b4f1ce fix: Drop-Position bei Zoom korrigiert und Canvas-Panning mit rechter Maustaste
- Drop- und Klickkoordinaten über das transformierte precanvas-Rect
  umrechnen (berücksichtigt transform-origin in der Canvas-Mitte)
- Greif-Offset in Canvas-Einheiten abziehen, damit der Knoten in jeder
  Zoomstufe unter dem Mauszeiger erscheint
- Rechtsklick auf freien Canvas verschiebt jetzt die gesamte Ansicht

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 11:46:36 +02:00
5f85074653 feat: App-Version aus pom.xml im Header anzeigen
- Versionsnummer neben "Workflow Editor" in Klammern und kleinerer Schrift
- tasklist.app-version per Maven-Resource-Filtering (@project.version@) gefüllt
- @Value-Injection in MainView; Anzeige nur bei real gefülltem Wert

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 09:49:18 +02:00
cdfc779bc8 feat: Palette-Layout überarbeitet und Start/Abschluss als reguläre Elemente
- "Eigenen Typ anlegen" als blauer Primary-Button (wie Export-Button)
- Button und Trenner fest zwischen Standard- und Custom-Typen platziert
- Header vereinfacht: Untertitel entfernt, Titel umbruchfrei
- Start/Abschluss-Beschreibungen ohne "virtuell/nicht exportiert"

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 17:01:46 +02:00
23b403711d feat: vollständige Verdrahtung erzwingen und unvollständige Elemente markieren
- Workflow-Validierung verschärft: jedes Element muss alle vorhandenen Ein- und Ausgänge verbunden haben (Start nur Ausgang, Abschluss nur Eingang)
- Unvollständig verdrahtete Elemente werden im Editor live hellrot markiert
- Fix: tsconfig ignoreDeprecations zurück auf "5.0" (TS 5.7.3 lehnt "6.0" ab -> Vite-Build brach ab)
- MainView: Beschriftungen auf "Workflow" angepasst

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 16:07:44 +02:00
cf9c73635b feat: Listen-Elemente, virtuelle Start/Abschluss-Blöcke und Workflow-Validierung
- Neue Aufgabentypen: Text-/Zahlen-Liste (fields) und Checkbox-Liste (entries); Export/Import um fields und choices erweitert
- Typ-spezifische Element-Einstellungen in MongoDB (ElementSettingsService/-Document, ElementCollectionProperties)
- Virtuelle Start-/Abschluss-Elemente (nur zur Darstellung, nicht exportiert); keine Einstellungen; Export erzwingt vorhandenes und verdrahtetes Start- und Abschluss-Element
- Node-Editor: nur eine Verbindung je Ausgang (Start des Drags unterbunden)
- Script-Block korrekt aus dem App-JSON gefiltert (Typ 0)
- Fixes: tsconfig ignoreDeprecations 6.0; JDT-Null-Analyse (Method-Referenzen zu Lambdas)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 12:57:52 +02:00
7d5fd3b590 feat: benutzerdefinierte Typen, Typ-Nummerierung und Linien löschen
- Feste Element-Typen fortlaufend nummeriert (1–8), Script = 0;
  Alt-Daten-Mapping im Importer entfernt
- Benutzerdefinierte Typen ab Nummer 1000 über Dialog anlegen
  (Basis-Typ-Auswahl + Datenerfassung) und wieder löschen
- Eigene Typen vollständig in MongoDB speichern und beim Start laden
  (CustomTypeDocument/-Repository/-Service, eindeutige Typnummer)
- Palette: Trenner und Markierung für benutzerdefinierte Typen,
  Papierkorb-Icon zum Löschen, robusterer Textumbruch
- Verbindungslinien im Canvas selektierbar und per Entf löschbar
  (korrekter Drawflow-Klassenselektor node_in_node-, Näherungsauswahl)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 09:49:51 +02:00
efca20c5f3 feat: hindernis-bewusste Linienführung in den Node-Editoren
Verbindungslinien meiden nach Möglichkeit andere Kacheln. Kreuzt die direkte
Kurve eine Kachel (bzw. bei Rückwärtskanten die Quell-/Zielkachel), wird die
Linie über eine freie Spalte seitlich an den Kacheln vorbei umgeleitet und mit
abgerundeten Ecken gezeichnet. Treffererkennung tastet den tatsächlichen
SVG-Pfad ab; die Führung wird bei nodeMoved dynamisch neu berechnet.

- node-editor.js: vertikale Port-Ausrichtung (Ausgang unten -> Eingang oben)
- script-editor.js: horizontale Port-Ausrichtung (Ausgang rechts -> Eingang links)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 14:03:54 +02:00
67c92bceb3 feat: grafischer Script-/Logik-Block für Aufgaben
Neuer "Script"-Blocktyp, dessen Logik (Konstanten, Variablen, Vergleiche,
Wenn/Dann, UND/ODER/NICHT, Ergebnis/Ausgang) in einem eigenen Drawflow-Canvas
zusammengesteckt wird.

- ScriptEditor-Komponente + script-editor.js (eigener Logik-Canvas mit
  horizontaler Kurvenführung, Raster-Snapping, Drag&Drop der Operatoren)
- Script-Dialog in MainView: verbundene Eingangselemente werden als Variablen
  angeboten, Anzahl der Ausgänge des Knotens richtet sich nach den Ausgang-Knoten
- Knoten-Aktivierung (Zahnrad/Doppelklick) über NodeActivatedEvent und
  setNodeOutputs im NodeEditor
- script-Feld in TaskDto + Export des Logik-Graphen im TaskListExporter
- Verbindungen werden beim Wiederöffnen des Dialogs zuverlässig neu gezeichnet
  (Neuberechnung nach Stabilisierung des Dialog-Layouts)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:38:03 +02:00
b07b09c28e first commit 2026-06-08 16:06:43 +02:00