Reputation: 10906
I've got a filter so you can filter on a role. It looks like this:
<h3>Role</h3>
<form>
<div class="radio radio-primary">
<label>
<input checked="checked" ng-click="homeCtrl.roleFilter = ''" name="role" type="radio"/><span class="circle"></span><span class="check"></span>Alles
</label>
</div>
<div class="radio radio-primary" ng-repeat="employee in homeCtrl.employees | unique:'Role.RoleName'">
<label>
<input ng-click="homeCtrl.roleFilter = employee.Role.RoleName" name="role" type="radio"/><span class="circle"></span><span class="check"></span>{{ employee.Role.RoleName }}
</label>
</div>
</form>
<table class="table table-hover">
<thead>
<tr>
<th>Functie</th>
<th>Bedrijf</th>
<th>Naam</th>
<th>Achternaam</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="employee in homeCtrl.employees | filter: { Role.RoleName: homeCtrl.roleFilter }" ng-click="homeCtrl.redirectToShow(employee.EmployeeId,$event)">
<td>{{ employee.Role.RoleName }}</td>
<td>{{ employee.Department.Company.CompanyName }}</td>
<td>{{ employee.FirstName }}</td>
<td>{{ employee.LastName }}</td>
<td ng-if="homeCtrl.canEditAdmin || homeCtrl.canEditInternAdmin && employee.Role.RoleName == 'Stagiaire'" ng-click="homeCtrl.redirectToEdit(employee.EmployeeId,$event)"><span class="glyphicon glyphicon-pencil"></span></td>
</tr>
</tbody>
</table>
But it's not working. When I console.log
in my controller, everything is received right. What could be wrong?
Error message:
Error: $parse:syntax
Syntax Error
Syntax Error: Token '.' is unexpected, expecting [:] at column 36 of the expression [homeCtrl.employees |] starting at [{4}].
When I put the RoleName
directly on the employee object like this: employee.RoleName
(instead of employee.Role.RoleName
) it's working?!
--EDIT--
Upvotes: 0
Views: 43
Reputation: 5353
Solution as posted in my comment :
filter: { Role:{RoleName: homeCtrl.roleFilter }}
Upvotes: 2