github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/templates/csi/plugins/index.hbs (about)

     1  {{page-title "CSI Plugins"}}
     2  <div class="tabs is-subnav">
     3    <ul>
     4      <li data-test-tab="volumes"><LinkTo @route="csi.volumes.index" @activeClass="is-active">Volumes</LinkTo></li>
     5      <li data-test-tab="plugins"><LinkTo @route="csi.plugins.index" @activeClass="is-active">Plugins</LinkTo></li>
     6    </ul>
     7  </div>
     8  <section class="section">
     9    {{#if this.isForbidden}}
    10      <ForbiddenMessage />
    11    {{else}}
    12      <div class="toolbar">
    13        <div class="toolbar-item">
    14          {{#if this.model.length}}
    15            <SearchBox
    16              data-test-plugins-search
    17              @searchTerm={{mut this.searchTerm}}
    18              @onChange={{action this.resetPagination}}
    19              @placeholder="Search plugins..." />
    20          {{/if}}
    21        </div>
    22      </div>
    23      {{#if this.sortedPlugins}}
    24        <ListPagination
    25          @source={{this.sortedPlugins}}
    26          @size={{this.pageSize}}
    27          @page={{this.currentPage}} as |p|>
    28          <ListTable
    29            @source={{p.list}}
    30            @sortProperty={{this.sortProperty}}
    31            @sortDescending={{this.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                  <LinkTo @route="csi.plugins.plugin" @model={{row.model.plainId}} class="is-primary">{{row.model.plainId}}</LinkTo>
    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                    {{#if (gt row.model.controllersExpected 0)}}
    50                      {{if (gt row.model.controllersHealthy 0) "Healthy" "Unhealthy"}}
    51                      ({{row.model.controllersHealthy}}/{{row.model.controllersExpected}})
    52                    {{else}}
    53                      <em class="is-faded">Node Only</em>
    54                    {{/if}}
    55                  {{/if}}
    56                </td>
    57                <td data-test-plugin-node-health>
    58                  {{if (gt row.model.nodesHealthy 0) "Healthy" "Unhealthy"}}
    59                  ({{row.model.nodesHealthy}}/{{row.model.nodesExpected}})
    60                </td>
    61                <td data-test-plugin-provider>{{row.model.provider}}</td>
    62              </tr>
    63            </t.body>
    64          </ListTable>
    65          <div class="table-foot">
    66            <PageSizeSelect @onChange={{action this.resetPagination}} />
    67            <nav class="pagination">
    68              <div class="pagination-numbers">
    69                {{p.startsAt}}&ndash;{{p.endsAt}} of {{this.sortedPlugins.length}}
    70              </div>
    71              <p.prev @class="pagination-previous">{{x-icon "chevron-left"}}</p.prev>
    72              <p.next @class="pagination-next">{{x-icon "chevron-right"}}</p.next>
    73              <ul class="pagination-list"></ul>
    74            </nav>
    75          </div>
    76        </ListPagination>
    77      {{else}}
    78        <div data-test-empty-plugins-list class="empty-message">
    79          {{#if (eq this.model.length 0)}}
    80            <h3 data-test-empty-plugins-list-headline class="empty-message-headline">No Plugins</h3>
    81            <p class="empty-message-body">
    82              The cluster currently has no registered CSI Plugins.
    83            </p>
    84          {{else if this.searchTerm}}
    85            <h3 data-test-empty-plugins-list-headline class="empty-message-headline">No Matches</h3>
    86            <p class="empty-message-body">
    87              No plugins match the term <strong>{{this.searchTerm}}</strong>
    88            </p>
    89          {{/if}}
    90        </div>
    91      {{/if}}
    92    {{/if}}
    93  </section>