github.com/manicqin/nomad@v0.9.5/ui/app/templates/jobs/index.hbs (about)

     1  {{title "Jobs"}}
     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 visibleJobs.length}}
     9            {{search-box
    10              data-test-jobs-search
    11              searchTerm=(mut searchTerm)
    12              onChange=(action resetPagination)
    13              placeholder="Search jobs..."}}
    14          {{/if}}
    15        </div>
    16        {{#if (media "isMobile")}}
    17          <div class="toolbar-item is-right-aligned">
    18            {{#link-to "jobs.run" data-test-run-job class="button is-primary"}}Run Job{{/link-to}}
    19          </div>
    20        {{/if}}
    21        <div class="toolbar-item is-right-aligned is-mobile-full-width">
    22          <div class="button-bar">
    23            {{multi-select-dropdown
    24              data-test-type-facet
    25              label="Type"
    26              options=optionsType
    27              selection=selectionType
    28              onSelect=(action setFacetQueryParam "qpType")}}
    29            {{multi-select-dropdown
    30              data-test-status-facet
    31              label="Status"
    32              options=optionsStatus
    33              selection=selectionStatus
    34              onSelect=(action setFacetQueryParam "qpStatus")}}
    35            {{multi-select-dropdown
    36              data-test-datacenter-facet
    37              label="Datacenter"
    38              options=optionsDatacenter
    39              selection=selectionDatacenter
    40              onSelect=(action setFacetQueryParam "qpDatacenter")}}
    41            {{multi-select-dropdown
    42              data-test-prefix-facet
    43              label="Prefix"
    44              options=optionsPrefix
    45              selection=selectionPrefix
    46              onSelect=(action setFacetQueryParam "qpPrefix")}}
    47          </div>
    48        </div>
    49        {{#if (not (media "isMobile"))}}
    50          <div class="toolbar-item is-right-aligned">
    51            {{#link-to "jobs.run" data-test-run-job class="button is-primary"}}Run Job{{/link-to}}
    52          </div>
    53        {{/if}}
    54      </div>
    55      {{#if sortedJobs}}
    56        {{#list-pagination
    57          source=sortedJobs
    58          size=pageSize
    59          page=currentPage as |p|}}
    60          {{#list-table
    61            source=p.list
    62            sortProperty=sortProperty
    63            sortDescending=sortDescending
    64            class="with-foot" as |t|}}
    65            {{#t.head}}
    66              {{#t.sort-by prop="name"}}Name{{/t.sort-by}}
    67              {{#t.sort-by prop="status"}}Status{{/t.sort-by}}
    68              {{#t.sort-by prop="type"}}Type{{/t.sort-by}}
    69              {{#t.sort-by prop="priority"}}Priority{{/t.sort-by}}
    70              <th>Groups</th>
    71              <th class="is-3">Summary</th>
    72            {{/t.head}}
    73            {{#t.body key="model.id" as |row|}}
    74              {{job-row data-test-job-row=row.model.plainId job=row.model onClick=(action "gotoJob" row.model)}}
    75            {{/t.body}}
    76          {{/list-table}}
    77          <div class="table-foot">
    78            <nav class="pagination">
    79              <div class="pagination-numbers">
    80                {{p.startsAt}}&ndash;{{p.endsAt}} of {{sortedJobs.length}}
    81                {{#if searchTerm}}
    82                  <em>({{dec sortedJobs.length filteredJobs.length}} hidden by search term)</em>
    83                {{/if}}
    84              </div>
    85              {{#p.prev class="pagination-previous"}} &lt; {{/p.prev}}
    86              {{#p.next class="pagination-next"}} &gt; {{/p.next}}
    87              <ul class="pagination-list"></ul>
    88            </nav>
    89          </div>
    90        {{/list-pagination}}
    91      {{else}}
    92        <div data-test-empty-jobs-list class="empty-message">
    93          {{#if (eq visibleJobs.length 0)}}
    94            <h3 data-test-empty-jobs-list-headline class="empty-message-headline">No Jobs</h3>
    95            <p class="empty-message-body">
    96              The cluster is currently empty.
    97            </p>
    98          {{else if (eq filteredJobs.length 0)}}
    99            <h3 data-test-empty-jobs-list-headline class="empty-message-headline">No Matches</h3>
   100            <p class="empty-message-body">
   101              No jobs match your current filter selection.
   102            </p>
   103          {{else if searchTerm}}
   104            <h3 data-test-empty-jobs-list-headline class="empty-message-headline">No Matches</h3>
   105            <p class="empty-message-body">No jobs match the term <strong>{{searchTerm}}</strong></p>
   106          {{/if}}
   107        </div>
   108      {{/if}}
   109    {{/if}}
   110  </section>