[Angular]Master-detail volgend item in gesorteerde lijst

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Wokker
  • Registratie: September 2001
  • Laatst online: 12-10 20:28

Wokker

De avond wokkel

Topicstarter
Ik ben nu twee drie weekjes bezig om angular mezelf eigen te maken zodat we het straks in een project op mijn werk kunnen gaan gebruiken. Hiervoor was ik bezig met een test applicatie welke een soort mail client is.

Ik heb hier in een linker collum met alle binnen gekomen mailtjes en als je een mailtje selecteert wordt rechts de mail getoond. De mails worden doormiddel van een rest api van de server gehaald en bijgehouden in een factory. Als je in de lijst een item selecteren wordt in de factory het current item gezet. Het current item wordt in detail weergave gebruikt om alles te tonen. met behulp van twee knoppen kan je naar het vorig of het volgende item. De knoppen zijn gekoppeld aan functie in de factory next en prev item deze kijkt in de ontvangen data wat het volgende item zou moeten zijn.
Tot zover geen problemen :) Alleen nu kan ik ook de lijst met mails sorteren of filteren.
<div ng-repeat="mail in mailcontroller.mails | filter:searchText | orderBy:sortColumn:sortReverse">
Als ik echter op de knop volgende of vorige druk pakt hij het volgende item volgens de array in de factory. Echter wil ik dat hij de sorteer volgorde pakt zoals ik heb gekozen in mijn lijst met mails.

Ik heb al uitgebreid gegoogled maar kan niks vinden. Kan iemand mij een richting geven hoe ik dit probleem het beste kan aanvliegen? Ik zit waarschijnlijk ergens in een verkeerde richting te denken.

Het oneindige X 0


Acties:
  • 0 Henk 'm!

Verwijderd

Die factory hoeft m.i. niets te weten van sorteervolgorde, dat hoort thuis in je controller. Je moet die mails in de controller filteren en sorteren met $filter en in een scope variabele zetten. Je vorige/volgende werkt dan op die gefilterde en gesorteerde array.

Acties:
  • 0 Henk 'm!

  • Wokker
  • Registratie: September 2001
  • Laatst online: 12-10 20:28

Wokker

De avond wokkel

Topicstarter
Thnx, goed punt inderdaad in een factory hoort dit niet thuis.
Voor de intresseerde ik heb het als volgt opgelost:
<div ng-repeat="mail in mails.filtered =( mails.mails | filter:searchText | orderBy:ordercolumn:sortReverse ) ">

Het oneindige X 0


Acties:
  • 0 Henk 'm!

Verwijderd

Wat is mails hier, de factory? Dan stop je alsnog de filtered lijst in de factory.
Voor de leesbaarheid kun je het in een ng-init zetten op een hoger niveau.