mirror of https://github.com/portainer/portainer
79 lines
3.7 KiB
HTML
79 lines
3.7 KiB
HTML
<div class="row">
|
|
<div class="col-sm-12">
|
|
<rd-widget>
|
|
<rd-widget-header icon="fa-tasks" title="Associated tasks">
|
|
<div class="pull-right">
|
|
Items per page:
|
|
<select ng-model="$ctrl.state.pagination_count" ng-change="$ctrl.changePaginationCount()">
|
|
<option value="0">All</option>
|
|
<option value="10">10</option>
|
|
<option value="25">25</option>
|
|
<option value="50">50</option>
|
|
<option value="100">100</option>
|
|
</select>
|
|
</div>
|
|
</rd-widget-header>
|
|
<rd-widget-taskbar classes="col-sm-12">
|
|
<div class="pull-right">
|
|
<input type="text" id="filter" ng-model="$ctrl.state.filter" placeholder="Filter..." class="form-control input-sm" />
|
|
</div>
|
|
</rd-widget-taskbar>
|
|
<rd-widget-body classes="no-padding">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Id</th>
|
|
<th>
|
|
<a ng-click="$ctrl.order('Status.State')">
|
|
Status
|
|
<span ng-show="$ctrl.sortType === 'Status.State' && !$ctrl.sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
|
<span ng-show="$ctrl.sortType === 'Status.State' && $ctrl.sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
|
</a>
|
|
</th>
|
|
<th ng-if="service.Mode !== 'global'">
|
|
<a ng-click="$ctrl.order('Slot')">
|
|
Slot
|
|
<span ng-show="$ctrl.sortType === 'Slot' && !$ctrl.sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
|
<span ng-show="$ctrl.sortType === 'Slot' && $ctrl.sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a ng-click="$ctrl.order('NodeId')">
|
|
Node
|
|
<span ng-show="$ctrl.sortType === 'NodeId' && !$ctrl.sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
|
<span ng-show="$ctrl.sortType === 'NodeId' && $ctrl.sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a ng-click="$ctrl.order('Updated')">
|
|
Last update
|
|
<span ng-show="$ctrl.sortType === 'Updated' && !$ctrl.sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
|
<span ng-show="$ctrl.sortType === 'Updated' && $ctrl.sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
|
</a>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr dir-paginate="task in $ctrl.tasks | filter:$ctrl.state.filter | orderBy:$ctrl.sortType:$ctrl.sortReverse | itemsPerPage:$ctrl.state.pagination_count">
|
|
<td><a ui-sref="task({ id: task.Id })">{{ task.Id }}</a></td>
|
|
<td><span class="label label-{{ task.Status.State | taskstatusbadge }}">{{ task.Status.State }}</span></td>
|
|
<td>{{ task.Slot ? task.Slot : '-' }}</td>
|
|
<td>{{ task.NodeId | tasknodename: $ctrl.nodes }}</td>
|
|
<td>{{ task.Updated | getisodate }}</td>
|
|
</tr>
|
|
<tr ng-if="!$ctrl.tasks">
|
|
<td colspan="5" class="text-center text-muted">Loading...</td>
|
|
</tr>
|
|
<tr ng-if="($ctrl.tasks | filter:$ctrl.state.filter | orderBy:$ctrl.sortType:$ctrl.sortReverse | itemsPerPage: $ctrl.state.pagination_count).length === 0">
|
|
<td colspan="5" class="text-center text-muted">No tasks available.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="pagination-controls">
|
|
<dir-pagination-controls></dir-pagination-controls>
|
|
</div>
|
|
</rd-widget-body>
|
|
</rd-widget>
|
|
</div>
|
|
</div>
|