maestrano/mno-enterprise

View on GitHub
frontend-admin/src/app/components/mnoe-staffs-list/mnoe-staffs-list.html

Summary

Maintainability
Test Coverage
<rd-widget>
  <rd-widget-header icon="fa-wrench" title="{{$ctrl.staff.widgetTitle}}">
    &nbsp;All staff
  </rd-widget-header>
  <rd-widget-body classes="large no-padding"> <!-- loading="staff.loading"  -->
    <div>
      <table class="table" st-pipe="$ctrl.callServer" st-table="$ctrl.displayed">
      <table st-pipe="$ctrl.callServer" st-table="$ctrl.listOfStaff" class="table table-striped" >
        <thead>
          <tr>
            <th st-sort="name" class="col-lg-2">First name </th>
            <th st-sort="surname" class="col-lg-3">Last name</th>
            <th st-sort="created_at" class="col-lg-3">Creation</th>
            <th st-sort="admin_role" class="col-lg-3">Role</th>
            <th></th>
            <th></th>
            </tr>
            <tr>
            <th>
                <input st-search="name" placeholder="Search for name" class="form-control input-sm  search-bar" type="text"/>
            </th>
            <th>
                <input st-search="surname" placeholder="Search for surname" class="form-control input-sm  search-bar" type="text"/>
            </th>
            <th></th>
            <th>
              <select st-search="admin_role" class="form-control input-sm">
                  <option value="">All</option>
                  <option ng-repeat="role in $ctrl.staff.roles" value="{{role}}">{{role}}</option>
              </select>
            </th>
            <th></th>
            <th></th>
            </tr>
          </thead>
        <tbody ng-show="$ctrl.staff.loading">
          <tr>
            <td colspan="6" class="text-center">Loading ... </td>
          </tr>
        </tbody>
          <tbody ng-show="!$ctrl.staff.loading" >
          <tr ng-repeat="staffElem in $ctrl.listOfStaff">
            <td>{{staffElem.name}}</td>
            <td>{{staffElem.surname}}</td>
            <td>{{staffElem.created_at | date: 'dd/MM/yyyy'}}</td>
            <td><span ng-show="!$ctrl.staff.editmode[staffElem.id]">{{staffElem.admin_role}}</span>
              <select ng-model="staffElem.admin_role" ng-show="$ctrl.staff.editmode[staffElem.id]" class="user-role-select form-control input-sm">
                <option ng-repeat="role in $ctrl.staff.roles" value="{{role}}">{{role}}</option>
              </select>
            </td>
            <td>
              <div ng-hide="$ctrl.staff.oneAdminLeft && staffElem.admin_role == 'admin'">
                <a href="" ng-hide="$ctrl.staff.editmode[staffElem.id]" ng-click="$ctrl.staff.editmode[staffElem.id] = true"><i class="fa fa-pencil"></i></a>
              </div>
            </td>
            <td>
              <div ng-hide="$ctrl.staff.oneAdminLeft && staffElem.admin_role == 'admin'">
                <a href="" ng-hide="$ctrl.staff.editmode[staffElem.id]" ng-click="$ctrl.staff.remove(staffElem)"><i class="fa fa-times"></i></a>
              </div>
              <a href="" ng-show="$ctrl.staff.editmode[staffElem.id]" ng-click="$ctrl.staff.update(staffElem)"><i class="fa fa-check"></i></a>
            </td>
          </tr>
          </tbody>
      </table>
    </div>
  </rd-widget-body>
  <rd-widget-footer ng-show="$ctrl.listOfStaff && $ctrl.state == 'all' && !searchMode">
    <mno-pagination
      page="$ctrl.staff.page"
      nb-items="$ctrl.staff.nbItems"
      total-items="$ctrl.staff.totalItems"
      on-change-cb="$ctrl.staff.pageChangedCb(nbItems, page)"
      is-loading="$ctrl.staff.loading">
    </mno-pagination>
  </rd-widget-footer>
</rd-widget>