Repository navigation
Removed label column class for full-width items - #460
Conversation
The control-label class pulls the label to the right. This is not required for full-width inputs as those are aligned left.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. Moin WalkthroughBei vollständigen FlexRepeater-Feldern entfernt ChangesFlexRepeater-Label
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~3 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The focused label-class change has no confirmed behavior or availability risk and is mergeable with normal checks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Danke dir, Julian! 🙏 Ich habe das nachgestellt und kann es bestätigen: Der klassische Parser-Pfad setzt bei Direkter Vergleich am gerenderten Markup: Und deine Begründung passt: be_style definiert Ein Nebeneffekt als Hinweis, den ich separat nachziehe: Wird gemergt. |
) * Beispielmodule repariert, Helper fuer Nicht-Repeater-Slots, 10.0.1 Fuenf der mitgelieferten Demo-Module liefen beim Ausfuehren auf einen Fatal Error, liessen sich aber ueber die Beispiele-Seite als echte Module installieren: falsches Argument bei addSelectField(), setSize('full') statt setSize(int), fehlendes use-Statement und das nicht existierende rex_var::toStr(). Alle 42 Demo-Module werden jetzt gegen eine laufende REDAXO-Instanz gerendert und sind fehlerfrei. 14 Demos hatten als output.inc nur einen Debug-Stub (dump(MFormRepeaterHelper::decode(...))) - bei Nicht-Repeater-Demos zusaetzlich mit der falschen Methode, die dort nur [] liefern kann. Alle haben jetzt einen echten Ausgabe-Code. decode() warf bei Slots mit Punkt-Notation einen TypeError, weil deren Werte keine Item-Arrays sind. Es prueft nun, ob ueberhaupt eine Repeater-Liste vorliegt, und liefert sonst []. Fuer solche Slots gibt es jetzt MFormOutputHelper::values(), value() und isRepeater(); MFormRepeaterHelper traegt dieselben Methoden als Alias, damit der gewohnte Einstieg ueber decode() weiter funktioniert. Alle Datenformate, die 10.0.0 verarbeitet hat, liefern unveraendert dasselbe Ergebnis - durch einen eigenen Test abgesichert. Die oeffentliche API waechst nur, nichts wurde entfernt oder umbenannt. Ausserdem sprechen die Flex-Repeater-Styles die Label-Spalte jetzt ueber .mfr-field-label an statt ueber .control-label. Nach #460 haetten setFull()-Felder in den Layouts vertical und inline sonst ihre Label-Formatierung verloren. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * installer_ignore: Entwicklungs- und Test-Artefakte nicht mit ausliefern Das Release-ZIP enthielt bisher tests/, phpunit.xml.dist, composer.json/lock, node_modules und die Linter-Konfigurationen. Zur Laufzeit wird davon nichts gebraucht - REDAXO autoloadet nur lib/ und vendor/, gelesen wird keine dieser Dateien. docs/ bleibt bewusst drin: pages/docs.php rendert die Markdown-Dateien als Doku-Seite im Backend. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * CodeRabbit-Review: values() bei Punkt-Notation ab .0, doppeltes Escaping values() gab fuer Punkt-Notation ab Index 0 ein leeres Array zurueck. Felder wie 1.0 und 1.1 landen als JSON-Liste (["a","b"]) im Slot - die Pruefung array_is_list() hat die faelschlich als Nicht-Feld-Wert abgewiesen. Betroffen waren die Demos base/select, base/text, extended/placeholder und expert/html_form_elements, die dadurch nichts ausgegeben haetten. Die Pruefung ist ueberfluessig: isRepeaterPayload() faengt Repeater-Listen und das Umschlag-Format bereits ab. An echten Slot-Werten aus der Datenbank gegengeprueft - dort sind alle Listen Repeater-Daten, die weiterhin korrekt abgewiesen werden. Ausserdem maskierten vier Demos die REX_VALUE-Platzhalter doppelt. REDAXO setzt REX_VALUE[n] ohne output-Argument bereits per rex_escape() + nl2br() ein (rex_var_value::getOutput()), und rex_var ersetzt auch innerhalb von String-Literalen. Aus "Tom & Jerry" wurde so "Tom &amp; Jerry" und aus Zeilenumbruechen sichtbares "<br />". Die zweite Maskierung ist raus. Die Changelog- und Doku-Formulierung sagte, alle drei Methoden gaeben immer ein Array zurueck. Das gilt nur fuer values(); value() liefert den angefragten Wert oder den Default. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
The control-label class pulls the label to the right. This is not required for full-width inputs as those are aligned left.
Summary by CodeRabbit