yakamara / yform

YForm für REDAXO 5 – Formulare im Frontend und Backend mit Verwaltung von Datenbank-Tabellen.
MIT License
77 stars 55 forks source link

Value text … Dots in der Liste #1371

Closed tbaddade closed 1 year ago

tbaddade commented 1 year ago

Wie ließe sich hier eine bessere Ausgabe erzeugen https://github.com/yakamara/redaxo_yform/blob/master/lib/yform/value/text.php#L116-L118

Erst ab x Zeichen (jedoch mehr als die bisherigen 40) oder auf die Dots komplett verzichten und das Value ausgeben wie es hinterlegt ist. Der Admin greift dann selbst ein, falls das Value zu lang ist. Eine Variante wäre an der bisherigen Stelle einen EP anlegen, sodass man von außen das beeinflussen kann?

gharlan commented 1 year ago

Ich glaube, ich würde da gar nicht kürzen. Wenn es ein Feld ist, wo sehr lange Texte eingegeben werden, sollte man sich eher fragen, ob man es ganz aus der Liste rausnimmt.

olien commented 1 year ago

Bitte nie irgendetwas kürzen :-). Das entspricht so gar nicht dem sonstigen Redaxo Verhalten finde ich.... hab noch nie das Problem gehabt das Inhalte zu lange waren aber jedesmal wenn etwas gekürzt wurde....

Einfach so ausgeben wie es ist finde ich am besten!!

christophboecker commented 1 year ago

Lösung 1 nur für eigene Zwecke:

ein eigenes Feld bauen class rex_yform_value_cliptext extends rex_yform_value_text ..., dass in de Definitions ein zusätliches Parameter-Feld sagen wir mal cliperhält. Default ist 40, ansonsten gilt der angegebene Wert als Kappungsgrenze und -1 als "keine Kappung". Und in der Methode public static function getListValue($params) dann auf diesen Wert zugreifen - das wird ja wohl irgendwie gehen ....

Lösung zwei für alle: Obige Lösung in direkt in rex_yform_value_text einbauen.

christophboecker commented 1 year ago

Ach guck, die Daten wären sogar im Aufruf vorhanden; man muss gar nicht tricksen. grafik

Baut man das neue Parameter-Feld clip hinter prepend ein, wäre es auch dort aufgeführt.

dergel commented 1 year ago

@christophboecker danke für den PR, aber ich würde das gerne anders lösen.

Das Kürzen würde ich komplett entfernen und eher schauen wollen, wie man sich allgemein in die Ausgabe reinhacken kann, so dass man selbst entscheidet welches Feld mit welchen Daten wie gekürzt wird. Z.B. ist auch das Feld index davon betroffen und sogar wahrscheinlicher, dass es hier sinnvoll wäre zu kürzen

alxndr-w commented 1 year ago

Ich war froh, dass gekürzt wurde, weil ich oft nicht wissen musste was in einem Textfeld drin steht, aber dass etwas im Textfeld drin steht - und dabei die Backend-Tabelle nicht nach rechts unendlich in die Breit wächst und die Aktionsbuttons verschwinden.

dergel commented 1 year ago

Darüber bin ich eigentlich auch froh. Deswegen würde ich gern vor dem nächsten Release noch eine Lösung finden. Ohne EP.

dergel commented 1 year ago

Ansonsten halte ich das Thema für schwieriger, als es aussieht.

Die Kürzung bezieht sich nur auf typische Textfelder - also text/textarea/hashvalue/ip/showvalue/email/uuid .. D. h. so allgemein kann man keine Kürzung einbauen, da diese immer feldabhängig sind.

Mir fällt jetzt leider immer nur als Lösung ein EP ein, auch wenn ich das irgendwie nicht gut finde. Dann müsste man das für jedes Feld machen, damit es einheitlich ist.

christophboecker commented 1 year ago

Na ja, den EP gibt es ja (YFORM_DATA_LIST). Heute nutze ich ihn, um die Verkürzung rückgängig zu machen bzw. auf meinen Wunschwert ungleich 40 einzustellen. Wenn das textfeld nicht mehr selbst verkürzt, kann wer es haben will, über den EP verkürzen.

Ansonsten denke ich, dass die von mir im EP vorgechlagene Lösung schon sehr flexibel ist. Da der Grenzwert in einem Element-Wert steht, kann man darüber den Grezwert (oder eben "unbegrenzt") einstellen. Für auf dem Text-Value aufbauende Felder wird das Element in den Definitions als Festwert eingestellt (i.d.R. "unbegrenzt").

tbaddade commented 1 year ago

Mir fällt jetzt leider immer nur als Lösung ein EP ein, auch wenn ich das irgendwie nicht gut finde.

Wie wäre es mit einem Callable auf das Value und auf das Label. Damit könnte man je nach Kontext beides beeinflussen.

dergel commented 1 year ago

EP gibt es ja (YFORM_DATA_LIST).

Das habe ich vergessen. Damit kann man ja alles umschreiben und zurücksetzen. Deswegen habe ich mich nun doch wieder dazu entschlossen, die allgemeine Beschränkung reinzunehmen, aber wesentlich höher zu setzen, auf mehr als 100 Zeichen, und zusätzlich in der Doku zu beschreiben, wie man über den EP seine eigenen Lösungen einbaut.

dergel commented 1 year ago

Ich denke, dass dies ein guter Kompromiss. Sorry, wenn das nicht für jeden damit ideal ist.

alxndr-w commented 1 year ago

Ich denke, das ist ein akzeptabler Kompromiss.

tbaddade commented 1 year ago

Gar keine Dots initial, wer kürzen mag kann ja über den EP gehen. Die Texte werden ja auch gekürzt in den Selects und Widgets angezeigt und da war das ziemlich suboptimal.