Skip to content

Releases: FriendsOfREDAXO/relation_select

1.4.1

25 Feb 09:33

Choose a tag to compare

✨ Neue Features

  • Legacy-Kompatibilität für konvertierte Felder: Der neue YForm-Feldtyp liest bei leerem Feld Tabelle automatisch eine vorhandene data-relation-config aus dem Feld Individuelle Attribute (wie beim bisherigen Textfeld). Alle Parameternamen werden gemappt (valueFieldvalue_field, dbwfilter, dboborder_by usw.)
  • **attributes-Feld **: Der YForm-Feldtyp zeigt jetzt das Standard-YForm-Attribut-Feld mit erweiterter Notice, die auf den Fallback-Mechanismus und die Backup-Empfehlung vor dem Feldtypwechsel hinweist

1.4.0 Für Peter - YFORM VALUE now included

24 Feb 11:46

Choose a tag to compare

Version 1.4.0 (2026-02-24)

✨ Neue Features

  • YForm Value-Typ relation_select: Das Widget steht jetzt nativ als eigener YForm-Feldtyp zur Verfügung – kein Umweg über text mit individuellen Attributen mehr nötig
    • Felder: Tabelle, Wertfeld, Anzeigefeld(er), Zusatzfelder (Display), WHERE-Filter, Sortierung, Mehrfachauswahl
  • YForm Tabellenmanager-Suche: Suchfeld für relation_select-Felder ist jetzt ein Dropdown mit allen verfügbaren Einträgen der Quelltabelle
  • Listendarstellung: Bei einem ausgewählten Datensatz wird dessen Label angezeigt, bei mehreren Datensätzen die Anzahl als Badge (z. B. 5 Datensätze)

🔧 Technisch

  • Neue Datei lib/yform/value/rex_yform_value_relation_select.php mit getSearchField(), getSearchFilter(), getListValue()
  • Neues YForm-Bootstrap-Template ytemplates/bootstrap/value.relation_select.tpl.php
  • boot.php registriert automatisch den Template-Pfad wenn yform verfügbar ist
  • package.yml deklariert yform >= 4.0 als optionale Abhängigkeit

1.3.3

06 Feb 11:03

Choose a tag to compare

Version 1.3.3 (2026-02-06)

✨ Neue Features

  • "Alle hinzufügen" Button: Neben der Suche - fügt alle sichtbaren/gefilterten Items auf einmal hinzu
  • "Liste leeren" Button: Papierkorb-Icon bei ausgewählten Einträgen - entfernt alle Auswahlen
  • Status-Kreis-Indikator: Status-Feld zeigt jetzt visuelle Kreise statt Text
    • ● Gefüllter Kreis = Online (status=1)
    • ○ Leerer Kreis = Offline (status=0)
    • Tooltip zeigt "Online"/"Offline" beim Hover

🎨 UX-Verbesserungen

  • Bulk-Aktionen: Schnelles Hinzufügen/Entfernen mehrerer Items
  • Visueller Status-Indikator ist intuitiver als "0" oder "1"
  • Symmetrisches Design mit Aktions-Buttons links und rechts

🔧 Technisch

  • Badge-Logik erweitert: Spezialbehandlung für status Feld
  • Andere badge-Felder zeigen weiterhin Text-Badges

Version 1.3.2 (2026-02-06)

🐛 Bugfixes

  • Multi-Language Support: Farben und Badges werden jetzt korrekt beim Laden wiederhergestellt
    • API filtert jetzt nach clang_id für mehrsprachige Tabellen (rex_article)
    • Separater API-Call für ausgewählte Items mit vollständigen displayFields
    • Duplikat-Handling: Bei mehreren Sprachversionen wird die mit gefüllten Feldern bevorzugt
  • Selected Items: Ausgewählte Einträge zeigen jetzt color-preview und badges beim Seitenladen
  • Language Filter: Automatische Erkennung der aktuellen Backend-Sprache (rex.clang_id)

1.3.0

06 Feb 09:17

Choose a tag to compare

Neue Features in 1.3.0:

🎨 Erweiterte Label-Formatierung (Color-Preview, Badges, ID-Display)
📘 6 realistische Praxisbeispiele im README
🐛 PHP Syntax Error und Type Safety Fixes

1.2.0

05 Feb 20:57

Choose a tag to compare

Version 1.2.0 (2026-02-05)

✨ Neue Features

  • Modal-Modus: Eigenes Modal-System für platzsparende Layouts
    • data-relation-mode="modal" aktiviert Modal-Darstellung
    • Badge mit Anzahl ausgewählter Einträge (live-Update)
    • Badge ist grau bei 0, blau bei Auswahl
    • Input-Feld wird ausgeblendet (nur Button sichtbar)
    • Frontend-kompatibel (keine Bootstrap-Abhängigkeit)
    • ESC-Taste zum Schließen
    • Body-Scroll-Lock während Modal aktiv
    • Smooth Animations mit Scale-Effekt
  • Inline-Modus: Standard-Darstellung (wie bisher)
  • Dual-Mode-Support: Frei wählbar per Attribut

🔒 Security

  • XSS-Schutz: Labels und Values werden jetzt korrekt escaped in JavaScript
  • Type Safety: Strikte Typ-Prüfungen für alle API-Parameter implementiert
  • SQL-Injection: Verbesserte Parameter-Validierung und Prepared Statements
  • Input-Validierung: Strikte Validierung aller GET-Parameter

✅ Code Quality

  • Rexstan: Alle 12 Rexstan-Fehler behoben ✅
    • Type-Hints für alle Methoden hinzugefügt
    • empty() durch strikte Vergleiche ersetzt (count($array) > 0)
    • Boolean-Operationen mit expliziten Checks korrigiert
    • Strikte in_array() Vergleiche mit true Parameter
    • Unreachable Code entfernt
  • REDAXO Standards:
    • rex_response::sendJson() statt manueller Header
    • rex_response::cleanOutputBuffers() am Anfang der API-Methode
    • Korrekte Return-Types für rex_api_function
  • PSR-12: Code-Style vollständig angepasst
    • Yoda-Notation für Vergleiche ('' === $value)
    • Konsistente String-Quotes
    • Optimierte Imports mit use function
    • Trailing Commas in Arrays

🎨 UI/UX & Theme Support

  • Dark Theme Support:
    • Vollständige Unterstützung für rex-theme-dark
    • Auto-Modus via prefers-color-scheme: dark
    • REDAXO-konforme Farbvariablen aus _variables-dark.scss
    • CSS Custom Properties mit Fallbacks
  • CSS-Verbesserungen:
    • Hover-Effekte für bessere Interaktivität
    • Verbesserte Farbgebung und Kontraste
    • Handle-Cursor für Drag & Drop
    • Transition-Animationen
  • Accessibility:
    • ARIA-Labels für alle interaktiven Elemente
    • Focus-States mit Outline für Tastatur-Navigation
    • Semantische Button-Labels
  • Responsive Design:
    • Mobile-optimiertes Layout mit flexbox
    • Breakpoints für Tablets und Smartphones

🚀 Performance

  • Document Fragments: DOM-Elemente werden gebündelt eingefügt (Single Reflow)
  • Debounced Search: Suchfunktion mit 200ms Verzögerung reduziert API-Calls
  • Cache Control: Korrekte HTTP-Header für frische Daten
  • Optimized Queries: Effiziente SQL-Queries mit DISTINCT und Indexierung

📦 Meta

  • package.yml: Version auf 1.2.0 erhöht
  • PHP-Requirement: PHP >= 8.2 (für never Return-Type)
  • Author: Korrigiert zu "Friends of REDAXO"
  • Repository: GitHub-Link zu FriendsOfREDAXO aktualisiert
  • CHANGELOG.md: Vollständige Dokumentation aller Änderungen

📚 Dokumentation

  • README.md: Erweitert mit Security-Hinweisen
  • Performance-Tipps: Dokumentiert im README
  • Accessibility-Features: Aufgelistet und erklärt
  • Theme-Support: Dark/Light/Auto Modi dokumentiert

1.1.2

21 Jan 00:27

Choose a tag to compare

Fix

  • Fixed query caching issue that caused users to receive outdated results
  • Added cache-control headers (no-cache, no-store, must-revalidate)
  • Added timestamp parameter to API requests for cache busting
  • Fresh SQL instance per request

1.1.1 Danke Peter

20 Jan 18:57
f0ec484

Choose a tag to compare

  • cache fix

1.1.0

02 Dec 12:27

Choose a tag to compare

Security fixes and translations
Full Changelog: 1.0.1...1.1.0

1.0.0

01 Aug 10:20
1bd54f2

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfREDAXO/relation_select/commits/1.0.0