Ankündigung

Einklappen
Keine Ankündigung bisher.

basic.slider - Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    basic.slider - Frage

    Hallo zusammen,

    ich will mir grad ein Widget für meine squeezebox Anbindung in Verbindung mit openhab erstellen. (Es benötigt ein paar Adaptionen zum Standard)

    Leider hab ich grad ein "Problem" mit dem basic.slider in der SV2.9.
    Ich habe zwei items welche die Tracktime betrifft.
    1x TrackDuration
    1x TrackPosition

    Jetzt wollte ich im widget den max_value abhängig von TrackDuration machen.
    HTML-Code:
    {{ basic.slider('', 'EG_Kueche_CurrentTime', 0, 'EG_Kueche_Music_TrackDuration', 1, '', 'handle', '', '') }}
    Leider klappt es mit der Darstellung nicht ganz.
    Siehe Slider unten.


    slider.jpg

    Gibt es da eine Möglichkeit dies dynamisch zu gestalten? (Abhängig von Trackdauer)
    besten Dank im Voraus

    #2
    Dazu müsstest Du Dir ein eignes Widget bauen, das den max-Wert als item übergibt. Max und min werden nur als Optionen (Attribute) übergeben und werden beim Rendern der html-Seite statisch. Schau Dir mal im develop-Ast die Marcos slider in basic.html und basic.js an. Da siehst Du, wie die Übergabe gemacht wird.

    Kommentar


      #3
      Hallo,

      danke fürs Feedback.
      Du meinst ein eigenes Widget für den basic.slider den ich dann in das music widget einbaue, nehme ich an. > nur für mich zum Verständnis. Nicht dass ich mich im falschen widget verlaufe.

      besten Dank für die Bestätigung im Voraus
      beste Grüße
      wu3mi

      Kommentar


        #4
        Ja so sehe ich das. Nehmen wir an, Dein widget heißt music.html (plus music.js), dann kannst Du die slider macros aus basic.html und basic.js in music.html und -.js kopieren, dort Deine Änderungen vornehmen und das ganze dann mit "music.slider" aufrufen.

        Die Änderungen (grob geschildert):
        • im html-Teil ein zusätzliches item z.B. "item2" für Deinen veränderlichen max-Wert als Parameter definieren und beim Aufruf zusätzlich übergeben. Im Aufruf des js-Teils ist dann der Name des widgets und die Parameter zu ändern:
          Code:
          data-widget="music.slider " data-item ="{{ item }}, {{ item2 }}"
        • im js-Teil ist der Aufruf zu ändern:
          Code:
          initSelector: 'input[data-widget="music.slider"]',
          und dann die Verarbeitung Deines item2 zu programmieren, das als Variable bei _update: als response[1] ankommen sollte.
        Ich muss dazu sagen, dass ich mich gerade erst in diese Thematik eingearbeitet habe. Bitte um Ergänzung durch die Community, falls ich etwas vergessen haben sollte.

        Gruß Wolfram

        Kommentar

        Lädt...
        X