import { useState } from 'react' /** * PlaceholderPicker - Modal zur Auswahl von Template-Platzhaltern * * Props: * - nodes: Array of workflow nodes (to extract available placeholders) * - onSelect: (placeholderString) => void - Callback when placeholder is selected * - onClose: () => void * * Features: * - Lists all available node outputs * - Copy to clipboard or insert into template * - Kategorisiert nach Node-Typ */ export function PlaceholderPicker({ nodes, onSelect, onClose }) { const [searchQuery, setSearchQuery] = useState('') // Extrahiere verfügbare Platzhalter aus Nodes const placeholders = extractPlaceholders(nodes) // Filtere basierend auf Suchquery const filteredPlaceholders = placeholders.filter(p => p.placeholder.toLowerCase().includes(searchQuery.toLowerCase()) || p.description.toLowerCase().includes(searchQuery.toLowerCase()) ) const handleSelect = (placeholderString) => { onSelect(placeholderString) onClose() // Schließe Modal nach Auswahl } return (
{'{{ node_id.field }}'}
analysis_core, signal_* (wenn Fragen vorhanden)