github.com/aminovpavel/nomad@v0.11.8/ui/app/templates/csi/plugins/index.hbs (about) 1 {{title "CSI Plugins"}} 2 <div class="tabs is-subnav"> 3 <ul> 4 <li data-test-tab="volumes">{{#link-to "csi.volumes.index" activeClass="is-active"}}Volumes{{/link-to}}</li> 5 <li data-test-tab="plugins">{{#link-to "csi.plugins.index" activeClass="is-active"}}Plugins{{/link-to}}</li> 6 </ul> 7 </div> 8 <section class="section"> 9 {{#if isForbidden}} 10 {{partial "partials/forbidden-message"}} 11 {{else}} 12 <div class="toolbar"> 13 <div class="toolbar-item"> 14 {{#if model.length}} 15 {{search-box 16 data-test-plugins-search 17 searchTerm=(mut searchTerm) 18 onChange=(action resetPagination) 19 placeholder="Search plugins..."}} 20 {{/if}} 21 </div> 22 </div> 23 {{#if sortedPlugins}} 24 {{#list-pagination 25 source=sortedPlugins 26 size=pageSize 27 page=currentPage as |p|}} 28 {{#list-table 29 source=p.list 30 sortProperty=sortProperty 31 sortDescending=sortDescending 32 class="with-foot" as |t|}} 33 {{#t.head}} 34 {{#t.sort-by prop="plainId"}}ID{{/t.sort-by}} 35 {{#t.sort-by prop="controllersHealthyProportion"}}Controller Health{{/t.sort-by}} 36 {{#t.sort-by prop="nodesHealthyProportion"}}Node Health{{/t.sort-by}} 37 {{#t.sort-by prop="provider"}}Provider{{/t.sort-by}} 38 {{/t.head}} 39 {{#t.body key="model.id" as |row|}} 40 <tr class="is-interactive" data-test-plugin-row {{on "click" (action "gotoPlugin" row.model)}}> 41 <td data-test-plugin-id> 42 {{#link-to "csi.plugins.plugin" row.model.plainId class="is-primary"}}{{row.model.plainId}}{{/link-to}} 43 </td> 44 <td data-test-plugin-controller-health> 45 {{#if row.model.controllerRequired}} 46 {{if (gt row.model.controllersHealthy 0) "Healthy" "Unhealthy"}} 47 ({{row.model.controllersHealthy}}/{{row.model.controllersExpected}}) 48 {{else}} 49 <em class="is-faded">Node Only</em> 50 {{/if}} 51 </td> 52 <td data-test-plugin-node-health> 53 {{if (gt row.model.nodesHealthy 0) "Healthy" "Unhealthy"}} 54 ({{row.model.nodesHealthy}}/{{row.model.nodesExpected}}) 55 </td> 56 <td data-test-plugin-provider>{{row.model.provider}}</td> 57 </tr> 58 {{/t.body}} 59 {{/list-table}} 60 <div class="table-foot"> 61 {{page-size-select onChange=(action resetPagination)}} 62 <nav class="pagination"> 63 <div class="pagination-numbers"> 64 {{p.startsAt}}–{{p.endsAt}} of {{sortedPlugins.length}} 65 </div> 66 {{#p.prev class="pagination-previous"}}{{x-icon "chevron-left"}}{{/p.prev}} 67 {{#p.next class="pagination-next"}}{{x-icon "chevron-right"}}{{/p.next}} 68 <ul class="pagination-list"></ul> 69 </nav> 70 </div> 71 {{/list-pagination}} 72 {{else}} 73 <div data-test-empty-plugins-list class="empty-message"> 74 {{#if (eq model.length 0)}} 75 <h3 data-test-empty-plugins-list-headline class="empty-message-headline">No Plugins</h3> 76 <p class="empty-message-body"> 77 The cluster currently has no registered CSI Plugins. 78 </p> 79 {{else if searchTerm}} 80 <h3 data-test-empty-plugins-list-headline class="empty-message-headline">No Matches</h3> 81 <p class="empty-message-body"> 82 No plugins match the term <strong>{{searchTerm}}</strong> 83 </p> 84 {{/if}} 85 </div> 86 {{/if}} 87 {{/if}} 88 </section>