Seite 1 von 1

Durcheinander einer Itemgruppe mit ng-repeat im habpanel

Verfasst: 18. Nov 2019 06:30
von klab777
Hallo,

ich möchte als Gruppe definierte Items in Habpanel anzeigen. Dazu verwende ich ng-repeat. Das klappt soweit auch, allerdings ist die Reihenfolge in der Darstellung immer eine andere. Mal ist sie richtig herum, mal genau verkehrt, mal ganz durcheinander.

Die Gruppe sieht so aus

Code: Alles auswählen

Group 	GWozVZeit
Number 	WozVZeit0		"0.0°C"			(GWozVZeit)	
Number 	WozVZeit1		"0.5°C"			(GWozVZeit)
Number 	WozVZeit2		"1.0°C"			(GWozVZeit)
Number 	WozVZeit3		"1.5°C"			(GWozVZeit)
Number 	WozVZeit4		"2.0°C"			(GWozVZeit)
Number 	WozVZeit5		"2.5°C"			(GWozVZeit)
Number 	WozVZeit6		"3.0°C"			(GWozVZeit)	
In Habpanel erstelle ich eine Tabelle:

Code: Alles auswählen

<table id="tabvorzeit">
    <tr>
     ...
    </tr>
    
    <tr ng-repeat="vtime in itemsInGroup(config.vorzeit) track by vtime.name"> 
      <td class="dtborder"
          style="font-size: 0.6vw; color: lightgreen;">
        <div id="vorzeit">
        	{{vtime.label}}
        </div>
      </td>
      
      <td>
        <widget-icon iconset="'eclipse-smarthome-classic'" icon="'time'" size="30" backdrop="false" center="false"  inline="true"/>
      </td>
      
      <td ng-init="models[vtime.name] = {item: vtime.name, floor: 200,  ceil: 480,  step: 10, unit: 's', hidepointer: false, hidelimits: true, showticks: false,
            			        showticksvalues: false, inverted: false, bigslider: false, vertical: false}"
          style="width: 75%;">
        <widget-slider ng-model="models[vtime.name]"></widget-slider>
      </td>
    </tr>
  </table>
Ich übergebe den Gruppennamen ans Widget für verschiedene Räume. Die Reihenfolge der Zeilen bleibt jeweils die gleiche - verkehrt oder richtig.
Wie bekomme ich's hin. Das die Reihenfolge der in der Gruppe entspricht?

Re: Durcheinander einer Itemgruppe mit ng-repeat im habpanel

Verfasst: 18. Nov 2019 10:01
von seppy
Hi,

hier mal als Denkanstoß, ich nutze kein HabPanel:

Code: Alles auswählen

<div ng-repeat="item in itemsInGroup('config.vorzeit') |orderBy:'groupNames[2]':'reverse'">
Grüße,
Seppy

Re: Durcheinander einer Itemgruppe mit ng-repeat im habpanel

Verfasst: 18. Nov 2019 17:07
von klab777
Hallo,
es wirkt. Bisher hat sich ja gar nichts am 'Durcheinander' getan. Jetzt ist es -mit 'reverse'- andersherum. Das muss ich mir aber genauer ansehen. Die Richtung habe ich. Vielen Dank für den Denkanstoß.

Re: Durcheinander einer Itemgruppe mit ng-repeat im habpanel

Verfasst: 19. Nov 2019 07:09
von klab777
Moin,
habe mir mit

Code: Alles auswählen

{{itemsInGroup(config.vorzeit)}}
die Gruppe angesehen. In 'groupNames' stehen die (Unter-)Gruppennamen. Da ich keine Untergruppen habe, geht's bei mir einfacher:

Code: Alles auswählen

<tr ng-repeat="vtime in itemsInGroup(config.vorzeit) | orderBy : 'name'"> 
Wobei 'name' der Name des Items ist. 'label' sollte also auch genutzt werden können, falls es eine Reihenfolge gibt. 'tag' probiere ich bei Gelegenheit mal aus.
Jetzt würde ich gerne 'Gelöst' anklicken, finde das aber nicht. Also nochmals Danke seppy.