github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/templates/components/job-page/parts/job-client-status-summary.hbs (about)

     1  {{#if this.job.hasClientStatus}}
     2    <ListAccordion
     3      data-test-job-client-summary
     4      @source={{array this.job}}
     5      @key="id"
     6      @startExpanded={{this.isExpanded}}
     7      @onToggle={{action this.persist}} as |a|
     8    >
     9      {{#if (can "read client")}}
    10        <a.head @buttonLabel={{if a.isOpen "collapse" "expand"}}>
    11          <div class="columns">
    12            <div class="column is-minimum nowrap">
    13              Job Status in Client
    14              <span class="badge {{if a.isOpen "is-white" "is-light"}}">
    15                {{this.jobClientStatus.totalNodes}}
    16              </span>
    17              <span
    18                class="tooltip multiline"
    19                aria-label="Aggreate status of job's allocations in each client."
    20              >
    21                {{x-icon "info-circle-outline" class="is-faded"}}
    22              </span>
    23            </div>
    24            {{#unless a.isOpen}}
    25              <div class="column">
    26                <div class="inline-chart bumper-left">
    27                  <JobClientStatusBar
    28                    @onSliceClick={{action this.onSliceClick}}
    29                    @job={{this.job}}
    30                    @jobClientStatus={{this.jobClientStatus}}
    31                    @isNarrow={{true}}
    32                  />
    33                </div>
    34              </div>
    35            {{/unless}}
    36          </div>
    37        </a.head>
    38        <a.body>
    39          <JobClientStatusBar
    40            @onSliceClick={{action this.onSliceClick}}
    41            @job={{this.job}}
    42            @jobClientStatus={{this.jobClientStatus}}
    43            class="split-view" as |chart|
    44          >
    45            <ol data-test-legend class="legend">
    46              {{#each chart.data as |datum index|}}
    47                <li
    48                  data-test-legent-label="{{datum.className}}"
    49                  class="{{datum.className}}
    50  
    51                    {{if (eq datum.label chart.activeDatum.label) "is-active"}}
    52  
    53                    {{if (eq datum.value 0) "is-empty" "is-clickable"}}"
    54                >
    55                  {{#if (gt datum.value 0)}}
    56                    <LinkTo
    57                      @route="jobs.job.clients"
    58                      @model={{this.job}}
    59                      @query={{datum.legendLink.queryParams}}
    60                    >
    61                      <JobPage::Parts::SummaryLegendItem
    62                        @datum={{datum}}
    63                        @index={{index}}
    64                      />
    65                    </LinkTo>
    66                  {{else}}
    67                    <JobPage::Parts::SummaryLegendItem
    68                      @datum={{datum}}
    69                      @index={{index}}
    70                    />
    71                  {{/if}}
    72                </li>
    73              {{/each}}
    74            </ol>
    75          </JobClientStatusBar>
    76        </a.body>
    77      {{else}}
    78        <a.head @buttonLabel={{if a.isOpen "collapse" "expand"}}>
    79          <div class="columns">
    80            <div class="column is-minimum nowrap">
    81              Job Status in Client
    82              <span
    83                class="tooltip multiline"
    84                aria-label="Aggreate status of job's allocations in each client."
    85              >
    86                {{x-icon "info-circle-outline" class="is-faded"}}
    87              </span>
    88            </div>
    89          </div>
    90        </a.head>
    91        <a.body>
    92          <div class="empty-message">
    93            <h3 data-test-nodes-not-authorized class="empty-message-headline">
    94              Not Authorized
    95            </h3>
    96            <p class="empty-message-body">
    97              Your
    98              <LinkTo @route="settings.tokens">
    99                ACL token
   100              </LinkTo>
   101              does not provide
   102              <code>
   103                node:read
   104              </code>
   105              permission.
   106            </p>
   107          </div>
   108        </a.body>
   109      {{/if}}
   110    </ListAccordion>
   111  {{/if}}