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

     1  <ListAccordion
     2    data-test-job-summary
     3    @source={{array this.job}}
     4    @key="id"
     5    @startExpanded={{this.isExpanded}}
     6    @onToggle={{action this.persist}} as |a|
     7  >
     8    <a.head
     9      @buttonLabel={{if a.isOpen "collapse" "expand"}}
    10      @buttonType={{if a.item.hasChildren "children-status" "allocation-status"}}
    11    >
    12      <div class="columns">
    13        <div class="column is-minimum nowrap">
    14          {{#if a.item.hasChildren}}
    15            Children Status
    16            <span class="badge {{if a.isOpen "is-white" "is-light"}}">
    17              {{a.item.summary.totalChildren}}
    18            </span>
    19          {{else}}
    20            Allocation Status
    21            <span class="badge {{if a.isOpen "is-white" "is-light"}}">
    22              {{a.item.summary.totalAllocs}}
    23            </span>
    24          {{/if}}
    25        </div>
    26        {{#unless a.isOpen}}
    27          <div class="column">
    28            <div class="inline-chart bumper-left">
    29              {{#if a.item.hasChildren}}
    30                {{#if (gt a.item.totalChildren 0)}}
    31                  <ChildrenStatusBar @job={{a.item}} @isNarrow={{true}} />
    32                {{else}}
    33                  <em class="is-faded">
    34                    No Children
    35                  </em>
    36                {{/if}}
    37              {{else}}
    38                <AllocationStatusBar
    39                  @allocationContainer={{a.item}}
    40                  @isNarrow={{true}}
    41                />
    42              {{/if}}
    43            </div>
    44          </div>
    45        {{/unless}}
    46      </div>
    47    </a.head>
    48    <a.body>
    49      {{#if a.item.hasChildren}}
    50        <ChildrenStatusBar
    51          @allocationContainer={{a.item.summary}}
    52          @job={{a.item.summary}}
    53          @class="split-view" as |chart|
    54        >
    55          <ol data-test-legend class="legend">
    56            {{#each chart.data as |datum index|}}
    57              <li
    58                class="{{datum.className}}
    59  
    60                  {{if (eq datum.label chart.activeDatum.label) "is-active"}}
    61  
    62                  {{if (eq datum.value 0) "is-empty"}}"
    63              >
    64                <JobPage::Parts::SummaryLegendItem
    65                  @datum={{datum}}
    66                  @index={{index}}
    67                />
    68              </li>
    69            {{/each}}
    70          </ol>
    71        </ChildrenStatusBar>
    72      {{else}}
    73        <AllocationStatusBar
    74          @allocationContainer={{a.item.summary}}
    75          @job={{this.job}}
    76          @onSliceClick={{this.onSliceClick}}
    77          @class="split-view" as |chart|
    78        >
    79          <ol data-test-legend class="legend">
    80            {{#each chart.data as |datum index|}}
    81              <li
    82                data-test-legend-label="{{datum.className}}"
    83                class="{{datum.className}}
    84  
    85                  {{if (eq datum.label chart.activeDatum.label) "is-active"}}
    86  
    87                  {{if (eq datum.value 0) "is-empty" "is-clickable"}}"
    88              >
    89                {{#if (and (gt datum.value 0) datum.legendLink)}}
    90                  <LinkTo
    91                    @route="jobs.job.allocations"
    92                    @model={{this.job}}
    93                    @query={{datum.legendLink.queryParams}}
    94                  >
    95                    <JobPage::Parts::SummaryLegendItem
    96                      @datum={{datum}}
    97                      @index={{index}}
    98                    />
    99                  </LinkTo>
   100                {{else}}
   101                  <JobPage::Parts::SummaryLegendItem
   102                    @datum={{datum}}
   103                    @index={{index}}
   104                  />
   105                {{/if}}
   106              </li>
   107            {{/each}}
   108          </ol>
   109        </AllocationStatusBar>
   110      {{/if}}
   111    </a.body>
   112  </ListAccordion>