2013-08-26 1 views
0

Я создал шаблон ячейки, который зависит от фильтра, но фильтр не обрабатывается.Шаблон ячейки с фильтром в ng-сетке

Ячейка определяется как {field:'status', displayName:'Status', cellTemplate: 'cell/statusCellTemplate.html'}] где шаблон

<button class="btn btn-primary" ng-click="changeStatus(row.getProperty('id'),'{{row.getProperty(col.field) || switchStatus}}')">{{row.getProperty(col.field)}}</button> 

РЕДАКТИРОВАТЬ

myapp.filter('switchStatus', function() { 
    return function(input) { 
     return (input == 'STOPPED') ? 'STARTED' : 'STOPPED'; 
    }; 
}); 

Визуализированное клетка <button class="btn btn-primary ng-scope ng-binding" ng-click="changeStatus(row.getProperty('id'),'STOPPED')">STOPPED</button>. Я ожидаю, что НАЧАЛОСЬ для второго параметра.

Plunker: при нажатии на STOPPED, текущий статус должен быть НАЧАТЬ

ответ

0

Где data взялось? Я думаю, что вы имели в виду, чтобы проверить, если input является «STOPPED» или «НАЧАТЬ», как это:

app.filter('switchStatus', function() { 
return function(input) { 
    var out = ""; 
    if (input == 'STOPPED') { 
     out = 'STARTED'; 
    } else if (input == 'STARTED') { 
     out = 'STOPPED'; 
    } 
    console.log(input + " " + out); 
    return out; 
}; 

Вы можете сделать свой фильтр короче, написав:

app.filter('switchStatus', function() { 
return function(input) { 
    return (input == 'STOPPED') ? 'STARTED' : 'STOPPED'; 
}; 
+0

Хороший улов, но, к сожалению, это не решает проблему , – Sydney

+0

Plunker сейчас не работает для меня в моем браузере, поэтому я сразу подумал, что это может быть проблемой, но я не смог подтвердить ... – Kabb5

+0

Plunker сейчас выключен – Sydney

 Смежные вопросы

  • Нет связанных вопросов^_^