Patchvorschlag für variable Feldbreite Widget Text / Multple

Begonnen von DS_Starter, 18 November 2023, 20:32:05

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo Rudi,

bis jetzt wird in der fhemweb.js eine feste Feldbreite 30 für Textfelder (Widget textField...) bzw. Multiple (Widget multiple...) verwendet.

Bei einer meiner aktuellen Applikationen wäre eine einstellbare Feldbreite wünschenswert (Beispiel im Anhang).
Für die Erstellung dieser grafischen Elemente verwende ich die Funktion FW_widgetFallbackFn des FHEMWEB Moduls.

Ich hätte eine Idee/Vorschlag dem User eine optionale Einstellbarkeit der Feldbreiten per FHEMWEB-Attribut anzubieten.
Bist du für eine solche Erweiterung offen?
Wenn ja, würde ich mich hinsetzen und einen Patchvorschlag erarbeiten. Der Patch würde sowohl FHEMWEB als auch fhemweb.js betreffen.

VG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

ZitatIch hätte eine Idee/Vorschlag dem User eine optionale Einstellbarkeit der Feldbreiten per FHEMWEB-Attribut anzubieten.
Waere es nicht sinnvoller, die Feldbreite ueber einen weiteren, mit Komma getrennten Parameter in der Widget-Spezifikation einzugeben?

Z.Zt. gilt:
textField[,placeholder]
textFieldNL[,placeholder]
textField-long[,sizePct]
textFieldNL-long[,sizePct]

Ich schlage einen weiteren optionalen Pameter size vor.
Uebersehe ich etwas?

DS_Starter

Naja, hinter dem Change steckt meine Idee, die Einstellung der optimalen Breite dem Anwender zu ermöglichen.
Die optimale Breite hängt von verschiedenen Faktoren wie dem Inhalt der Felder ab.

Deswegen kam mir der Gedanke an Attribute. Mit einem zusätzlichen Parameter könnte ja nur der Modulautor entsprechend agieren. Prinzipiell ja nicht verkehrt, würde aber das ursprüngliche Anliegen nicht wirklich treffen.

Was denkst du?

 
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

ZitatMit einem zusätzlichen Parameter könnte ja nur der Modulautor entsprechend agieren.
Der Benutzer hat doch die Moeglichkeit ueber das widgetOverride Attribut das bei jedem Geraet unterschiedlich einzustellen.
Duerfte nicht umstaendlicher sein, als ein spezielles Attribut.

DS_Starter

Das widgetOverride Attribut hatte ich völlig verdrängt.  ;)
Ja klar, darüber kann der User sich die Breite dann individuell einstellen.

Unter Berücksichtigung meiner bisher betrachteten Einsatzfälle betrifft es die folgenden Widgets bei denen
das Ergebnistextfeld (eingestellte, gesetzte Werte) einstellbar sein sollte:

textField
textFieldNL
textField-long
textFieldNL-long
multiple
multiple-strict

Das sind auch die, deren Feldbreite zur Zeit fix 30 ist. Time hat die fixe Breite 5. Ich persönlich sehe da keinen Mehrwert dieses Breite änderbar zu gestalten, aber vllt. hat jemand eine andere Meinung dazu oder möglicherweise ist es unter einem ganzheitlichen Gesichtspunkt es sinnvoll auch dieses Widget anpassbar zu gestalten.

Wäre sehr hilfreich wenn du das implementieren würdest.  :)

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

Ich habe das fuer die textField "Familie" eingebaut, und Doku angepasst:
ZitattextField[,placeholder,tfsize] - show an input field. tfsize is the size attribute for the input field, defaults to 30.
textFieldNL[,placeholder,tfsize] - show the input field and hide the label.
textField-long[,sizePct,tfsize] - show an input-field, but upon clicking on the input field open a textArea. sizePct specifies the size of the dialog relative to the screen, in percent. Default is 75
textFieldNL-long[,sizePct,tfsize] - the behaviour is the same as :textField-long, but no label is displayed.

Die NL Varianten habe ich nicht getestet, mangels fertiger Testkonfiguration.

Bei multiple weiss ich nicht, wie/wo ich diesen Parameter angeben soll.

DS_Starter

Ich habe textFieldNL getestet. Funktioniert!

ZitatBei multiple weiss ich nicht, wie/wo ich diesen Parameter angeben soll.
Wäre es eine Variante den letzten Parameter auf ein führendes '#" zu testen? Also z.B.:

multiple,<val1>,<val2>,...,#10
Ist der letzte Parameter ein #... ist es die Angabe der Breite.
Im Sinn der Einheitlichkeit wäre dann allerdings mein Vorschlag die Breite generell mit einem führenden '#' angeben zu lassen auch wenn es bei textField eigentlich nicht nötig ist.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

Ich habe dein Vorschlag für multiple implementiert, die textField Familie aber nicht geändert: die Parameter sind mAn unterschiedlich genug.

DS_Starter

Habs gestet ... klappt einwandfrei wie gewünscht.

Vielen Dank Rudi!
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Mir ist gerade aufgefallen dass die neuen Ergänzungen in der deutschen Hilfe zu fhemweb.js noch fehlen!?

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig