проверка на предишният елемент..

vasilev

Registered
здравейте,
създадох такава таблица:

Код:
`id` int(11) NOT NULL AUTO_INCREMENT,
  `parentid` int(11) NOT NULL DEFAULT '0',
  `nextid` int(11) NOT NULL DEFAULT '0',
  `taskstatus` int(1) NOT NULL DEFAULT '0',
  `started` datetime NOT NULL DEFAULT '2001-01-01 00:00:00',
  `finished` datetime NOT NULL DEFAULT '2001-01-01 00:00:00',

имаме ID, parentid, nextid. пример

1,0,2,0,timestamp,timestamp
2,1,3,0,....
3,2,4,0....

и така нататък. изкарвам записите в json обект в angularjs

Код:
$scope.names = response.data;
dir-paginate="d in names | orderBy:'id'"..
<div>{{d.parentid}}</div>..

може ли и как точно да проверя предишният елемент какъв статус има ?
статусите са - 0 - new, 1- started, 2- finished.
ако е finished, то се появява бутон само на текущият ред примерно - старт.
в друг случай - нищо не се появява. трябва да има само един бутон в цялата тази таблица.
отначало тъй като всички записи са със статус 0 - трябва да има бутон само на първият ред - id - 1.
след като ръчно сменя статуса на първият запис, трябва да се появи бутонът на вторият ред и тн..
 
Малко сложно си го обяснил, но май те разбрах какво искаш :D

С Lodash можеш да намериш първия елемент който има status==0 и спрямо него да показваш бутона който искаш. Не съм сигурен дали няма да му повлияе това orderBy - при всички положения по-добре да си направиш подредбата в бекенда :)

https://lodash.com/docs/4.17.15#find
https://lodash.com/docs/4.17.15#findKey

Не съм разцъквал angular, но трябва да е нещо от сорта на:

Код:
$scope.names = response.data;
dir-paginate="d in names | orderBy:'id'"..
<div>{{d.parentid}}
<div ng-show="_.find(names, { 'taskstatus': 0 }).id == d.id">Бутон</div>
</div>..
 
.. сложно е така както съм го започнал.
ще запиша просто current ID в друга таблица и ще проверя ако записът е = currentid -> button :)
не ми трябват предишен и следващ. ще ги направя с jquery nestable serialize и така ще са подредени по ИД.


мерси !
 

Горе