Seite 1 von 1

Habpanel: Spotify Playlist im Dropdown Menü

Verfasst: 2. Apr 2020 12:24
von kaloschke
Hi,

ich habe nun schon stundenlang gesucht, komme aber nicht weiter damit.
Ich habe in Openhab 2.5.2 das Spotify Binding installiert und kann mit dem PaperUI die Playlists sehen und abspielen.
Dies möchte ich auch im Habpanel erreichen, komme aber mit dem, was ich bisher gefunden habe, nicht weiter.

Die Idee ist, in einer Dropdownbox den Inhalt der Playlist über ng-repeat auszugeben, also ähnlich wie bei dem untenstehenden Codesnippet aus dem Netz. Dieses bezieht sich aber wohl nicht auf das aktuelle Binding, denn die benutzten Items gibt es mit diesen Namen dort nicht.

Code: Alles auswählen

    <div class="widget">
      <div class="icon off" ng-click="sendCmd('spotify_action', 'playlists')"><svg viewBox="0 0 48 48"><use xlink:href="/static/matrix-theme/squidink.svg#double-arrow"></use></svg></div>
      <div class="nameGroup"><div class="name">Play Lists </div></div>
      <div class="btn-group" dropdown-append-to-body="true" uib-dropdown>            
        <button id="single-button" type="button" class="btn btn-primary" uib-dropdown-toggle>
          Select <span class="caret"></span>
        </button>
        <ul class="dropdown-menu" uib-dropdown-menu role="menu" style="overflow: auto; max-height:300px; overflow-x:hidden" aria-labelledby="single-button">
          <div ng-init="playlists=itemValue('spotify_playlists')"></div>
          <div ng-repeat="item in $eval(playlists).items" ng-if="item.state!='NULL'">
            <li role="menuitem"><a ng-click='sendCmd("spotify_action", "play \"" + item.uri + "\"")'>{{item.name}}</a></li>
          </div>         
        </ul>
      </div>
    </div>

Mir ist natürlich auch jede andere Lösung recht :-)

Re: Habpanel: Spotify Playlist im Dropdown Menü

Verfasst: 2. Apr 2020 23:41
von udo1toni
Dir ist aber schon klar, dass Du die Items selbst anlegen musst?

Re: Habpanel: Spotify Playlist im Dropdown Menü

Verfasst: 3. Apr 2020 11:41
von kaloschke
Ich habe die Items so übernommen, wie sie in der Doku des Spotify-Bindings beschrieben werden.
In dem oben von mir genannten Beispiel ist mir die Bedeutung von "spotify_playlists" natürlich klar, die von "spotify_action" aber nicht.
Ich habe "spotifyPlay" aus der Bindingdoku probiert, aber ohne Erfolg

Re: Habpanel: Spotify Playlist im Dropdown Menü

Verfasst: 15. Mai 2020 16:19
von kaloschke
Falls es jemand anders interessiert, ich habe es bei installiertem Spotifybinding mit dem Selection-Widget folgendermaßen hinbekommen:

Code: Alles auswählen

                        <div ng-init="model={ name: '', item: 'spotifyPlaylists', choices_columns: '1', choices_source: 'server', nolinebreak: 'true',font_size: '12'}">
                            <widget-selection ng-model="model"></widget-selection>
                        </div>
Das Aussehen kann man ändern, indem man ein eigenes CSS-File einbindet und dort die gewünschten Eigenschaften einstellt, z.B:

Code: Alles auswählen

.selection-choice {
    margin: 0px;
    padding-bottom: 5px;
}

.selection-choice.active {
    font-weight: bold;
}

.switch-content {
    background-color: #1d3a29;
}
Einfach mal in Firefox ö.ä. das gewünschte Element untersuchen.