github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/ui/app/templates/clients/index.hbs (about) 1 {{title "Clients"}} 2 <section class="section"> 3 {{#if isForbidden}} 4 {{partial "partials/forbidden-message"}} 5 {{else}} 6 <div class="toolbar"> 7 <div class="toolbar-item"> 8 {{#if nodes.length}} 9 {{search-box 10 searchTerm=(mut searchTerm) 11 onChange=(action resetPagination) 12 placeholder="Search clients..."}} 13 {{/if}} 14 </div> 15 <div class="toolbar-item is-right-aligned is-mobile-full-width"> 16 <div class="button-bar"> 17 {{multi-select-dropdown 18 data-test-class-facet 19 label="Class" 20 options=optionsClass 21 selection=selectionClass 22 onSelect=(action setFacetQueryParam "qpClass")}} 23 {{multi-select-dropdown 24 data-test-state-facet 25 label="State" 26 options=optionsState 27 selection=selectionState 28 onSelect=(action setFacetQueryParam "qpState")}} 29 {{multi-select-dropdown 30 data-test-datacenter-facet 31 label="Datacenter" 32 options=optionsDatacenter 33 selection=selectionDatacenter 34 onSelect=(action setFacetQueryParam "qpDatacenter")}} 35 {{multi-select-dropdown 36 data-test-volume-facet 37 label="Volume" 38 options=optionsVolume 39 selection=selectionVolume 40 onSelect=(action setFacetQueryParam "qpVolume")}} 41 </div> 42 </div> 43 </div> 44 {{#if sortedNodes}} 45 {{#list-pagination 46 source=sortedNodes 47 size=pageSize 48 page=currentPage as |p|}} 49 {{#list-table 50 source=p.list 51 sortProperty=sortProperty 52 sortDescending=sortDescending 53 class="with-foot" as |t|}} 54 {{#t.head}} 55 <th class="is-narrow"></th> 56 {{#t.sort-by prop="id"}}ID{{/t.sort-by}} 57 {{#t.sort-by class="is-200px is-truncatable" prop="name"}}Name{{/t.sort-by}} 58 {{#t.sort-by prop="compositeStatus"}}State{{/t.sort-by}} 59 <th>Address</th> 60 {{#t.sort-by prop="datacenter"}}Datacenter{{/t.sort-by}} 61 <th># Volumes</th> 62 <th># Allocs</th> 63 {{/t.head}} 64 {{#t.body as |row|}} 65 {{client-node-row data-test-client-node-row node=row.model onClick=(action "gotoNode" row.model)}} 66 {{/t.body}} 67 {{/list-table}} 68 <div class="table-foot"> 69 {{page-size-select onChange=(action resetPagination)}} 70 <nav class="pagination" data-test-pagination> 71 <div class="pagination-numbers"> 72 {{p.startsAt}}–{{p.endsAt}} of {{sortedNodes.length}} 73 </div> 74 {{#p.prev class="pagination-previous"}}{{x-icon "chevron-left"}}{{/p.prev}} 75 {{#p.next class="pagination-next"}}{{x-icon "chevron-right"}}{{/p.next}} 76 <ul class="pagination-list"></ul> 77 </nav> 78 </div> 79 {{/list-pagination}} 80 {{else}} 81 <div class="empty-message" data-test-empty-clients-list> 82 {{#if (eq nodes.length 0)}} 83 <h3 class="empty-message-headline" data-test-empty-clients-list-headline>No Clients</h3> 84 <p class="empty-message-body"> 85 The cluster currently has no client nodes. 86 </p> 87 {{else if (eq filteredNodes.length 0)}} 88 <h3 data-test-empty-clients-list-headline class="empty-message-headline">No Matches</h3> 89 <p class="empty-message-body"> 90 No clients match your current filter selection. 91 </p> 92 {{else if searchTerm}} 93 <h3 class="empty-message-headline" data-test-empty-clients-list-headline>No Matches</h3> 94 <p class="empty-message-body">No clients match the term <strong>{{searchTerm}}</strong></p> 95 {{/if}} 96 </div> 97 {{/if}} 98 {{/if}} 99 </section>