Jamie
Jamie

Reputation: 10906

Angularjs filter error

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--

enter image description here

Upvotes: 0

Views: 43

Answers (1)

Walfrat
Walfrat

Reputation: 5353

Solution as posted in my comment :

filter: { Role:{RoleName: homeCtrl.roleFilter }}

Upvotes: 2

Related Questions