64 lines
2.4 KiB
Handlebars
64 lines
2.4 KiB
Handlebars
{{#global-header class="page-header"}}
|
|
{{app-breadcrumbs}}
|
|
{{/global-header}}
|
|
{{#gutter-menu class="page-body" onNamespaceChange=(action "refresh")}}
|
|
<section class="section">
|
|
{{#if isForbidden}}
|
|
{{partial "partials/forbidden-message"}}
|
|
{{else}}
|
|
{{#if filteredJobs.length}}
|
|
<div class="content">
|
|
<div>{{search-box data-test-jobs-search searchTerm=(mut searchTerm) placeholder="Search jobs..."}}</div>
|
|
</div>
|
|
{{/if}}
|
|
{{#list-pagination
|
|
source=sortedJobs
|
|
size=pageSize
|
|
page=currentPage as |p|}}
|
|
{{#list-table
|
|
source=p.list
|
|
sortProperty=sortProperty
|
|
sortDescending=sortDescending
|
|
class="with-foot" as |t|}}
|
|
{{#t.head}}
|
|
{{#t.sort-by prop="name"}}Name{{/t.sort-by}}
|
|
{{#t.sort-by prop="status"}}Status{{/t.sort-by}}
|
|
{{#t.sort-by prop="type"}}Type{{/t.sort-by}}
|
|
{{#t.sort-by prop="priority"}}Priority{{/t.sort-by}}
|
|
<th>Groups</th>
|
|
<th class="is-3">Summary</th>
|
|
{{/t.head}}
|
|
{{#t.body key="model.id" as |row|}}
|
|
{{job-row data-test-job-row job=row.model onClick=(action "gotoJob" row.model)}}
|
|
{{/t.body}}
|
|
{{/list-table}}
|
|
<div class="table-foot">
|
|
<nav class="pagination">
|
|
<div class="pagination-numbers">
|
|
{{p.startsAt}}–{{p.endsAt}} of {{sortedJobs.length}}
|
|
{{#if searchTerm}}
|
|
<em>({{dec sortedJobs.length filteredJobs.length}} hidden by search term)</em>
|
|
{{/if}}
|
|
</div>
|
|
{{#p.prev class="pagination-previous"}} < {{/p.prev}}
|
|
{{#p.next class="pagination-next"}} > {{/p.next}}
|
|
<ul class="pagination-list"></ul>
|
|
</nav>
|
|
</div>
|
|
{{else}}
|
|
<div data-test-empty-jobs-list class="empty-message">
|
|
{{#if (eq filteredJobs.length 0)}}
|
|
<h3 data-test-empty-jobs-list-headline class="empty-message-headline">No Jobs</h3>
|
|
<p class="empty-message-body">
|
|
The cluster is currently empty.
|
|
</p>
|
|
{{else if searchTerm}}
|
|
<h3 data-test-empty-jobs-list-headline class="empty-message-headline">No Matches</h3>
|
|
<p class="empty-message-body">No jobs match the term <strong>{{searchTerm}}</strong></p>
|
|
{{/if}}
|
|
</div>
|
|
{{/list-pagination}}
|
|
{{/if}}
|
|
</section>
|
|
{{/gutter-menu}}
|