Select mit data-alias "füttern"

Begonnen von evilknivel, 11 Januar 2017, 13:18:41

Vorheriges Thema - Nächstes Thema

evilknivel

Hi zusammen ich versuche ein Select-Feld im Tablet UI mit data-alias zu füllen habt ihr da erfahrungen?

Es handelt sich um einen Enigma2 Receiver der die Sender in der Form mit Unterstrich erwartet das finde ich nur etwas unschön.
Das Reading chList ohne die Unterstriche habe ich per UserReading selber erzeugt.

Momentan habe ich es so im UI.

<div data-type="select" data-device="vuplus" data-delimiter="," data-list="channelList" data-alias="chList" data-get="channel" data-set="channel" class=""></div>

läuft aber leider nicht wie gedacht siehe Bild. Sieht aus als würde der data-delimiter da nicht fassen um die Werte zu trennen.

sinus61

data-alias erwartet aber laut Beschreibung ein Array als alias für data-items, nicht eine delimeter getrennte Liste wie bei data-list

evilknivel

Hi danke für die Info!

Dann weiß ich ja schonmal warum es nicht läuft, das heißt das Array fürs Alias müsste quasi wie ein Mapping aufgebaut sein, richtig? Oder wie wäre das Format?

setstate

data-alias ist nur eine einfache Liste (als Array) von Ersetzungen indexbasiert. D.h. Erster Eintrag im Alias ersetzt erstes Listitem, zweites Alias ersetzt zweiten Listeintrag usw.

data-alias kann aber mit Device:Reading auf ein Reading zeigen, das solch eine Liste ( Doppelpunkt getrennt) liefert.

sinus61

Dann müsste obiges Beispiel ja funktionieren wenn die alias Liste mit Doppelpunkt getrennt wird.

setstate

Leider ist der delimiter für die alias Liste noch fest ein :

Das muss ich noch ändern.

Reinerlein

Hallo setstate,

ich würde das Thema gerne mal hochholen.
Bist du schon dazu gekommen, den als Delimiter für die Daten eingestellten Trenner auch für die Aliase zu verwenden?

Ich würde gerne meine Sonos-Favoriten anzeigen, die aber Doppelpunkte enthalten :)

Danke schon mal...

Grüße
Reinerlein

setstate

... habe ich jetzt gemacht. Der data-delimiter gilt jetzt auch für den Alias.

Reinerlein

Hi setstate,

danke für die Anpassung... funktioniert super...

Grüße
Reinerlein

Reinerlein

Hi setstate,

eine Frage habe ich dazu noch:
mit welcher Liste wird denn der per "data-get" ermittelte Wert verglichen, um die Auswahl darzustellen?
Ich habe es ehrlich gesagt schon mit beiden Varianten versucht, und keinen Erfolg gehabt. Er zeigt immer das erste Element als Vorgabeauswahl an (was z.B. auch blöd ist, wenn man genau dieses dann auswählen will... es ist ja keine Änderung, und verursacht dementsprechend keine set-Anweisung).

Kannst du mir einen Tipp geben, was ich da falsch mache?

Hier noch kurz meine Definition:

<div data-type="select"
data-device="Device"
data-list="FavouritesList"
data-alias="FavouritesListAlias"
data-delimiter="|"
data-quote="/"
data-get="currentFavouriteNameMasked"
data-set="StartFavourite"
class="w3x inline"></div>


Danke schon mal...

Grüße
Reinerlein

setstate

Der Wert in data-get muss einem Listenelement entsprechen. Nicht eines Aliases. 

Reinerlein

Hi setstate,

hmm... das klappt bei mir nicht.

Folgende Werte haben die Readings meiner Definition oben:

FavouritesList
80s:.Café.80s.FM|80s:.FFH.Digital.-.Die.80er|80s:.RADIO.fresh80s|80s:.Radio.RMF.80s|Antenne.Niedersachsen|FFH.Digital.-.Eurodance|FFH.Digital.-.Lounge|Hit-Radio.Antenne.Bremen.104.8.(Pop)|KUSCHELROCK.(Rock.+..Pop.Ballads)|Kuschel.FM|Mit.Star.bewertet.Reiner|R.:.Spiel-Aktuelles|Songs.to.Sing.in.the.Car|Symphonia.(Super.Deluxe.Edition)|XMas:.Antenne.Niedersachsen.X-Mas|XMas:.Christmas.Radio.FM|XMas:.Forever.Christmas.Radio|XMas:.Radio.Santa.Claus|XMas:.Radio.Weihnacht|radio.ffn



FavouritesListAlias
80s: Café 80s FM|80s: FFH Digital - Die 80er|80s: RADIO fresh80s|80s: Radio RMF 80s|Antenne Niedersachsen|FFH Digital - Eurodance|FFH Digital - Lounge|Hit-Radio Antenne Bremen 104.8 (Pop)|KUSCHELROCK (Rock + Pop Ballads)|Kuschel FM|Mit Star bewertet Reiner|R.: Spiel-Aktuelles|Songs to Sing in the Car|Symphonia (Super Deluxe Edition)|XMas: Antenne Niedersachsen X-Mas|XMas: Christmas Radio.FM|XMas: Forever Christmas Radio|XMas: Radio Santa Claus|XMas: Radio Weihnacht|radio ffn



currentFavouriteNameMasked
Mit.Star.bewertet.Reiner


Anbei mal zwei Screenshots, wie die Initiale Anzeige aussieht, und der Inhalt der Klappbox. Bis auf die Initiale Anzeige sieht das alles super aus. Der Favorit wird auch aktiviert, wenn ich ihn auswähle (also einen anderen als den ersten :) )

Was könnte dass dann sein?

Grüße
Reinerlein

Standarduser

Bei mir funktioniert das auch nicht richtig.

Mein Select widget sieht so aus:

<div data-type="select"
data-device="DG.ku.MM.Squeezebox"
data-list="ftuiFavoritesItems"
data-alias="ftuiFavoritesAlias"
data-get="favorites"
data-set="favorites"
data-cmd="set"
class="width-300">
</div>


Die zugehörigen so:

favorites
Discover_Weekly

ftuiFavoritesAlias
YOUR SOUL:Ed Sheeran:Musik:nervt:Discover Weekly:Favoriten

ftuiFavoritesItems
YOUR_SOUL:Ed_Sheeran:Musik:nervt:Discover_Weekly:Favoriten

Nach einem Reload der Seite hat das Select-Widget immer "YOUR SOUL" ausgewählt.

Reinerlein

Hi setstate,

ich muss das nochmal hochholen, da ich immer noch keine Lösung für dieses Problem gefunden habe.
Sobald die Liste Auswahlwerte enthält, wird immer das erste vorausgewählt, unabhängig vom Wert in data-get (bzw. dem Reading dazu).

Ich hätte aber gerne das folgende Verhalten:
- Wenn es ein passendes Element in der Auswahlliste (bzgl. data-get) gibt, dann diese verwenden
- Wenn es kein passendes Element gibt, dann keine Vorauswahl treffen. Die Anzeige ist dann erstmal leer. Aktuell kann man das erste Element dann nicht auswählen, da es ja kein Wechsel der Auswahl darstellt.

Danke schon mal...

Grüße
Reinerlein

Reinerlein

Hi,

Ich habe noch ein anderes Problem:
Wenn die zugrundeliegenden Listen aktualisiert werden, dann landen diese nur fehlerhaft auf der Oberfläche.
Es werden Teile der vorherigen Version der Liste behalten und Teile der neuen Liste übernommen.

Das ist alles ziemlich komisch, aber auch lästig :)

Grüße
Reinerlein