2.9 KiB
2.9 KiB
SQL Autocomplete Funktionalität
Übersicht
Die Query Builder Anwendung verfügt jetzt über eine intelligente Autocomplete-Funktion, die beim Schreiben von SQL-Queries automatisch Tabellenvorschläge anzeigt.
Funktionsweise
Aktivierung
- Autocomplete wird automatisch ausgelöst, wenn im Query-Feld
FROMgetippt wird - Funktioniert auch bei partieller Eingabe nach
FROM(z.B.FROM USzeigt alle Tabellen mit "US")
Bedienung
Maus-Navigation
- Klicken auf einen Tabellennamen übernimmt diesen in die Query
- Hover über Items zeigt visuelles Feedback
Tastatur-Navigation
- ↓ / ↑ - Navigation durch die Vorschläge
- Enter / Tab - Auswahl des markierten Tabellennamens
- Escape - Schließt das Autocomplete-Dropdown
Intelligente Filterung
- Zeigt maximal 10 relevante Tabellen
- Filtert basierend auf bereits getipptem Text nach
FROM - Case-insensitive Suche (Groß-/Kleinschreibung wird ignoriert)
Technische Details
UI-Komponenten
- Dropdown-Container: Positioniert relativ zum Query-Textfeld
- Header: "Verfügbare Tabellen" zur Orientierung
- Items: Tabellennamen mit Icon und Hover-Effekten
- Keyboard-Navigation: Visuelle Markierung des ausgewählten Items
CSS-Klassen
.autocomplete-dropdown /* Haupt-Container */
.autocomplete-header /* Header-Bereich */
.autocomplete-item /* Einzelne Tabellenvorschläge */
.autocomplete-item.selected /* Keyboard-markiertes Item */
JavaScript-Events
input- Erkennt Textänderungen und triggert Autocompletekeydown- Behandelt Keyboard-Navigationclick- Schließt Dropdown bei Klick außerhalb
Beispiel-Usage
Basis-Verwendung
- Tippe im Query-Feld:
SELECT * FROM - Autocomplete-Dropdown erscheint automatisch
- Wähle eine Tabelle aus der Liste
- Tabelle wird automatisch eingefügt:
SELECT * FROM TABELLENAME
Mit Filterung
- Tippe:
SELECT * FROM USER - Zeigt nur Tabellen die "USER" enthalten
- Auswahl übernimmt gefilterte Tabelle
Keyboard-Shortcuts
FROM+↓+Enter= Schnelle TabellenauswahlFROM TAB+Tab+Enter= Erste gefilterte Tabelle auswählen
Integration
- Nahtlose Integration in bestehende Drag & Drop Funktionalität
- Keine Konflikte mit anderen UI-Elementen
- Responsive Design passt sich an verschiedene Bildschirmgrößen an
- Keyboard-freundlich für Power-User
Performance
- Clientseitige Filterung - Keine zusätzlichen Server-Requests
- Begrenzte Anzeige auf 10 Items für schnelle Performance
- Lazy Loading - Dropdown erscheint nur bei Bedarf
- Auto-Hide - Schließt automatisch bei Verlust des Fokus
Erweiterbarkeit
Die Implementierung ist darauf vorbereitet für zukünftige Erweiterungen:
- Spalten-Autocomplete (
SELECT col1, col2) - Keyword-Autocomplete (
WHERE,ORDER BY, etc.) - Funktionen-Autocomplete (
COUNT,SUM, etc.) - Schema-übergreifende Suche