Releases: FriendsOfREDAXO/relation_select
Releases · FriendsOfREDAXO/relation_select
1.4.1
✨ Neue Features
- Legacy-Kompatibilität für konvertierte Felder: Der neue YForm-Feldtyp liest bei leerem Feld
Tabelleautomatisch eine vorhandenedata-relation-configaus dem Feld Individuelle Attribute (wie beim bisherigen Textfeld). Alle Parameternamen werden gemappt (valueField→value_field,dbw→filter,dbob→order_byusw.) - **
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
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 übertextmit 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.phpmitgetSearchField(),getSearchFilter(),getListValue() - Neues YForm-Bootstrap-Template
ytemplates/bootstrap/value.relation_select.tpl.php boot.phpregistriert automatisch den Template-Pfad wenn yform verfügbar istpackage.ymldeklariert yform >= 4.0 als optionale Abhängigkeit
1.3.3
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
statusFeld - 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_idfü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
- API filtert jetzt nach
- 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
1.2.0
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 mittrueParameter - Unreachable Code entfernt
- REDAXO Standards:
rex_response::sendJson()statt manueller Headerrex_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
- Yoda-Notation für Vergleiche (
🎨 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
- Vollständige Unterstützung für
- 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
neverReturn-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
1.1.1 Danke Peter
- cache fix
1.1.0
Security fixes and translations
Full Changelog: 1.0.1...1.1.0
1.0.0
What's Changed
- Query by @skerbis in #4
- Skerbis patch concat by @skerbis in #5
- refactor where conditions by @skerbis in #6
- FOR-Namespace hinzugefügt by @christophboecker in #7
New Contributors
- @skerbis made their first contribution in #4
- @christophboecker made their first contribution in #7
Full Changelog: https://github.com/FriendsOfREDAXO/relation_select/commits/1.0.0