| 1 | <table> |
| 2 | <thead> |
| 3 | <tr ng-model="$ctrl.savedSearch.api_params.select" ui-sortable="sortableColumnOptions"> |
| 4 | <th class="crm-search-result-select"> |
| 5 | <input type="checkbox" ng-checked="$ctrl.allRowsSelected" ng-click="selectAllRows()" ng-disabled="!(loading === false && !loadingAllRows && $ctrl.results[$ctrl.page] && $ctrl.results[$ctrl.page][0].id)"> |
| 6 | </th> |
| 7 | <th ng-repeat="col in $ctrl.savedSearch.api_params.select" ng-click="setOrderBy(col, $event)" title="{{:: ts('Drag to reorder columns, click to sort results (shift-click to sort by multiple).')}}"> |
| 8 | <i class="crm-i {{ getOrderBy(col) }}"></i> |
| 9 | <span ng-class="{'crm-sortable': $index || !$ctrl.groupExists}">{{ $ctrl.getFieldLabel(col) }}</span> |
| 10 | <span ng-switch="$index || !$ctrl.groupExists ? 'sortable' : 'locked'"> |
| 11 | <i ng-switch-when="locked" class="crm-i fa-lock" aria-hidden="true"></i> |
| 12 | <a href ng-switch-default class="crm-hover-button" title="{{:: ts('Clear') }}" ng-click="$ctrl.clearParam('select', $index)"><i class="crm-i fa-times" aria-hidden="true"></i></a> |
| 13 | </span> |
| 14 | </th> |
| 15 | <th class="form-inline"> |
| 16 | <input class="form-control crm-action-menu fa-plus" ng-model="controls.select" crm-ui-select="::{data: fieldsForSelect, placeholder: ts('Add')}" ng-change="addParam('select')"> |
| 17 | </th> |
| 18 | </tr> |
| 19 | </thead> |
| 20 | <tbody> |
| 21 | <tr ng-repeat="row in $ctrl.results[$ctrl.page]"> |
| 22 | <td> |
| 23 | <input type="checkbox" ng-checked="isRowSelected(row)" ng-click="selectRow(row)" ng-disabled="!(loading === false && !loadingAllRows && row.id)"> |
| 24 | </td> |
| 25 | <td ng-repeat="col in $ctrl.savedSearch.api_params.select"> |
| 26 | {{ formatResult(row, col) }} |
| 27 | </td> |
| 28 | <td></td> |
| 29 | </tr> |
| 30 | </tbody> |
| 31 | </table> |
| 32 | <div class="messages warning no-popup" ng-if="error"> |
| 33 | <h4>{{:: ts('An error occurred') }}</h4> |
| 34 | <p>{{ error }}</p> |
| 35 | </div> |