FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Markus Bloch am 02 April 2015, 00:41:29

Titel: Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 02 April 2015, 00:41:29
Hallo zusammen,

ich stehe beim FB_CALLMONITOR aktuell vor einem Problem. Ich möchte gerne eine Möglichkeit anbieten mit der man als Attribut eine Reihenfolge von vorgegebenen Werten einstellen kann. Es geht im speziellen Fall um die Rückwärtssuche. Der User soll einstellen können, wie die Rückwärtssuche ablaufen soll (zuerst Telefonbuch, dann Cache und anschließend Internetabfrage). Dazu habe ich mir überlegt ein neues Widget zu bauen, mit denen man vorgegebene (und eigene) Werte graphisch sortieren kann (so wie: http://jqueryui.com/sortable/).

Dazu hatte ich gedacht folgende Widgets mit Hilfe von jquery-ui zu bauen:

- ein Widget was aus aus freien Werten bestückt werden kann und alle hinzugefügten Werte dann entsprechend sortieren und Elemente löschen kann.
- ein Widget was aus einer vorgegebenen Liste nur diese Werte zur Sortierung anbietet (evtl. mit der Möglichkeit nicht alle Werte verwenden zu müssen; ähnlich zu: http://jqueryui.com/sortable/#empty-lists)

Bevor ich aber das Wochenende dafür draufgehen lass, möchte ich gerne eure Meinung dazu hören, ob das überhaupt sinnvoll ist, oder nicht. Evtl. kann man das auch an anderen stellen nutzen, wo man bereits Werte einsortieren muss.

Das Ergebnis wäre dann eine kommaseparierte Werteliste von links nach rechts aufsteigend sortiert.

Was haltet ihr davon?

Vielen Dank

Gruß
Markus
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: rudolfkoenig am 02 April 2015, 08:21:08
Ich gehe davon aus, dass wenn man Eintraege entfernen kann, dann man auch welche hinzufuegen will.
Vielleicht kann man sortable mit dem multiple widget verheiraten.
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 02 April 2015, 08:52:25
Natürlich, sonst macht das recht wenig Sinn. Ich würde es aber jetzt nicht direkt als Ablöse für multiple sehen, auch wenn es deren Funktion impliziert.
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 03 April 2015, 01:39:23
Hallo zusammen,

hier mal der erste Versuch.

Es gibt 3 verschiedene Widgets:


Das Widget benötigt ein paar CSS-Statements die ich aktuell direkt im Javascript untergebracht habe, damit es einfacher zu testen ist. Getestet wurden die CSS-Settings mit dem default-Theme.

Ich habe zum testen bei mir folgende dummy-Definition angelegt:

define test dummy
attr test userattr sortable:sortable,foo,bar,apple,banana sortable-given:sortable-given,foo,bar,apple,banana sortable-strict:sortable-strict,foo,bar,apple,banana sortable-empty-list:sortable
attr test setList sortable:sortable,foo,bar,apple,banana sortable-given:sortable-given,foo,bar,apple,banana sortable-strict:sortable-strict,foo,bar,apple,banana sortable-empty-list:sortable


Man kann die Elemente in der Liste hin und her schieben. Es werden nach jeder Änderung die entsprechende Nummer davor geschrieben. Elemente können einmal durch schieben hinzugefügt werden oder durch klicken auf das entsprechende Element in der "available"-Liste. Gelöscht werden können Elemente durch klick auf das rote X. Jenachdem ob sie manuellen Ursprungs sind, oder zu den verfügbaren Elementen gehören wird das Element wieder in die "available"-Liste verschoben oder eben direkt gelöscht.

Wo ich noch Probleme habe ist mit den Icons in jquery. Ich würde gerne für die Links zum löschen und hinzufügen Symbole aus der jquery-Welt nutzen, allerdings funktioniert das bei mir nicht so einfach, wie es in der Doku steht. Evtl. kann mir hier jemand einen Tipp geben.

Zum testen einfach das angehangene .js-File nach www\pgm2 kopieren und anschließend einen "shutdown restart" durchführen.

Bei Farbe und Design habe ich erstmal das erst beste genommen. Wenn jemand hier Vorschläge hat, immer her damit.

Bin gespannt, was ihr dazu sagt.

Viele Grüße

Markus
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 06 April 2015, 13:02:56
Hallo zusammen,

nachdem Rudi ein Update von jquery/jquery-ui samt vollständiger Icon List eingecheckt hat, habe ich mich nochmal rangemacht an die Icons. Nun funktionieren die Icons perfekt und ich habe das sortable-Widget entsprechend angepasst.

Dazu habe ich noch ein paar kleinere Fehler behoben.

Änderungen sind seit der initialen Version:

- Beim hinzufügen von Freitextelemente werden kommagetrennte Werte als jeweils einzelne Items erkannt.
- Eingabeprüfung, ob überhaupt ein Text eingegeben wurde bevor ein Item hinzugefügt wird.
- Löschen Icon nun von jquery verwendet
- leichte Style-Anpassungen
- CSS Statements auf Minimum reduziert

Aus meiner Sicht währe das Widget an sich fertig. Man müsste jetzt noch die CSS Definitionen an die entsprechenden Themes anpassen die in FHEM aktuell existieren (primär wegen Farben).

Sofern das Widget an sich in der Funktionalität und Aufbau eurer Meinung nach passt, würde ich die entsprechenden CSS Definitionen für die Themes erstellen und dann ein gesammeltes Diff erzeugen.

Viele Grüße

Markus
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 06 April 2015, 16:42:01
Hallo zusammen,

anbei ein kompletter Patch inkl. CSS für default- und dark-Style (ios-Styles habe ich bewusst ausgelassen, weil ich dazu vorher Sandra kontaktieren würde), sowie FHEMWEB-commandref und natürlich dem js-File.

Würde mich freuen, wenn das eingecheckt werden würde.

Vielen Dank

Gruß
Markus
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: fhainz am 06 April 2015, 18:34:43
iOS7 Style kannst gerne mit aufnehmen, wenn du das möchtest. :)
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: rudolfkoenig am 07 April 2015, 11:17:45
Habs eingecheckt, vorher die englische Beschreibung umformatiert.
Bei mir sind die Loesch-Buttons deplaziert, siehe Screenshot.
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 07 April 2015, 12:47:19
Welchen Browser nutzt du? Bei mir mit Firefox und Chrome sieht es entsprechend meiner Screenshots aus.
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: rudolfkoenig am 07 April 2015, 12:53:09
In Chrome schaut auch bei mir richtig aus, Firefox 35 und 37 hat aber das gezeigte Problem. Merkwuerdig.
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 07 April 2015, 14:00:33
Ich schau es mir an und melde mich
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 07 April 2015, 19:12:00
Anbei ein Patch für die verschobenen delete-Links in FF sowie die CSS Definitionen für ios7 Style.

Der Übeltäter war white-space: nowrap;

Gruß
Markus
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: rudolfkoenig am 08 April 2015, 10:13:14
Jetzt stimmt es im Firefox, habs auch eingecheckt.
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: Markus Bloch am 09 April 2015, 17:40:42
Vielen Dank. Ich hab gesehen, dass Andre als Maintainer für fhemweb_uzsu.js eingetragen ist. Würde ich ebenfalls für fhem_sortable.js anbieten, falls du das möchtest.

Gruß
Markus
Titel: Antw:Vorschlag - neues FHEMWEB Widget zur Sortierung von Values
Beitrag von: rudolfkoenig am 09 April 2015, 17:46:50
gerne