github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/components/evaluation-sidebar/detail.hbs (about)

     1  {{#let this.currentEvalDetail as |evaluation|}}
     2    {{#if this.isSideBarOpen}}
     3      {{keyboard-commands this.keyCommands}}
     4    {{/if}}
     5    <Portal @target="eval-detail-portal">
     6      <div
     7        data-test-eval-detail
     8        data-test-eval-detail-is-open={{this.isSideBarOpen}}
     9        class="sidebar {{if this.isSideBarOpen "open"}}"
    10        {{on-click-outside
    11          this.closeSidebar
    12          capture=true
    13          exceptSelector="tr[data-eval-row]"
    14        }}
    15      >
    16        {{#if this.isLoading}}
    17          <div data-test-eval-loading>
    18            <section class="section has-text-centered">
    19              <LoadingSpinner />
    20            </section>
    21          </div>
    22        {{/if}}
    23        {{#if this.isError}}
    24          <div data-test-eval-detail-header class="error-header">
    25            <button
    26              data-test-eval-sidebar-x
    27              class="button is-borderless"
    28              type="button"
    29              {{on "click" this.closeSidebar}}
    30            >
    31              {{x-icon "cancel"}}
    32            </button>
    33          </div>
    34          <div class="error-container">
    35            <div data-test-eval-error class="error-message">
    36              <h1 data-test-error-title class="title is-spaced">
    37                Not Found
    38              </h1>
    39              <p data-test-error-message class="subtitle">
    40                The requested evaluation could not be found. You may not be authorized to view this evaluation, it may have been garbage collected, or the ID is invalid.
    41              </p>
    42            </div>
    43          </div>
    44        {{/if}}
    45        {{#if this.isSuccess}}
    46          {{! Evaluation Detail Header}}
    47          <div data-test-eval-detail-header class="detail-header">
    48            <h1 data-test-title class="title">
    49              {{evaluation.shortId}}
    50              <span class="bumper-left tag is-primary">
    51                {{evaluation.status}}
    52              </span>
    53            </h1>
    54            <button
    55              data-test-eval-sidebar-x
    56              class="button is-borderless"
    57              type="button"
    58              {{on "click" this.closeSidebar}}
    59            >
    60              {{x-icon "cancel"}}
    61            </button>
    62          </div>
    63          {{! Start Evaluation Stats}}
    64          <div class="boxed-section is-small">
    65            <div
    66              class="boxed-section-body inline-definitions"
    67              style="display: flex;"
    68            >
    69              <span class="label" style="width: 6.125rem;">
    70                Evaluation Details
    71              </span>
    72              <div style="display: flex; flex-direction: column">
    73                <span class="pair">
    74                  <span class="term">
    75                    Job
    76                  </span>
    77                  <LinkTo
    78                    data-test-evaluation-job
    79                    @model={{concat evaluation.plainJobId "@" evaluation.namespace
    80                    }}
    81                    @route="jobs.job"
    82                  >
    83                    {{evaluation.plainJobId}}
    84                  </LinkTo>
    85                </span>
    86                <span class="pair">
    87                  <span class="term">
    88                    Triggered By
    89                  </span>
    90                  {{evaluation.triggeredBy}}
    91                </span>
    92              </div>
    93              <div style="display: flex; flex-direction: column">
    94                <span class="pair">
    95                  <span class="term">
    96                    Priority
    97                  </span>
    98                  {{evaluation.priority}}
    99                </span>
   100              </div>
   101              <div style="display: flex; flex-direction: column">
   102                <span class="pair">
   103                  <span class="term">
   104                    Created
   105                  </span>
   106                  {{format-month-ts evaluation.createTime}}
   107                </span>
   108                <span class="pair">
   109                  <span class="term">
   110                    Placement Failure
   111                  </span>
   112                  {{evaluation.hasPlacementFailures}}
   113                </span>
   114              </div>
   115            </div>
   116          </div>
   117          {{! Placement Failures}}
   118          {{#if evaluation.failedTGAllocs}}
   119            <div class="boxed-section is-danger">
   120              <div class="boxed-section-head">
   121                Placement Failures
   122              </div>
   123              <div class="boxed-section-body">
   124                {{#each evaluation.failedTGAllocs as |placementFailure|}}
   125                  <PlacementFailure @failedTGAlloc={{placementFailure}} />
   126                {{/each}}
   127              </div>
   128            </div>
   129          {{/if}}
   130          {{! Related Evaluations}}
   131          {{#if this.descendentsMap}}
   132            <EvaluationSidebar::RelatedEvaluations
   133              @fns={{hash
   134                handleResize=this.handleResize
   135                handleEvaluationClick=@fns.handleEvaluationClick
   136              }}
   137              @data={{hash
   138                width=this.width
   139                height=this.height
   140                parentEvaluation=this.parentEvaluation
   141                descendentsMap=this.descendentsMap
   142                activeEvaluationID=this.currentEvalDetail.id
   143              }}
   144            />
   145          {{else}}
   146            <div class="boxed-section">
   147              <div class="boxed-section-head">
   148                Related Evaluations
   149              </div>
   150              <div class="boxed-section-body">
   151                <div data-test-eval-error class="error-message title">
   152                  <p data-test-error-message class="subtitle">
   153                    The related evaluations cannot be visualized.
   154                  </p>
   155                </div>
   156              </div>
   157            </div>
   158          {{/if}}
   159          {{! Evaluation JSON Response}}
   160          <div class="boxed-section">
   161            <div class="boxed-section-head">
   162              Evaluation Response
   163            </div>
   164            <div class="boxed-section-body is-full-bleed">
   165              <JsonViewer @json={{evaluation}} />
   166            </div>
   167          </div>
   168        {{/if}}
   169      </div>
   170    </Portal>
   171  {{/let}}