github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/templates/components/job-editor.hbs (about)

     1  {{#if this.parseError}}
     2    <div data-test-parse-error class="notification is-danger">
     3      <h3 class="title is-4" data-test-parse-error-title>Parse Error</h3>
     4      <p data-test-parse-error-message>{{this.parseError}}</p>
     5    </div>
     6  {{/if}}
     7  {{#if this.planError}}
     8    <div data-test-plan-error class="notification is-danger">
     9      <h3 class="title is-4" data-test-plan-error-title>Plan Error</h3>
    10      <p data-test-plan-error-message>{{this.planError}}</p>
    11    </div>
    12  {{/if}}
    13  {{#if this.runError}}
    14    <div data-test-run-error class="notification is-danger">
    15      <h3 class="title is-4" data-test-run-error-title>Run Error</h3>
    16      <p data-test-run-error-message>{{this.runError}}</p>
    17    </div>
    18  {{/if}}
    19  
    20  {{#if (eq this.stage "editor")}}
    21    {{#if (and this.showEditorMessage (eq this.context "new"))}}
    22      <div class="notification is-info">
    23        <div class="columns">
    24          <div class="column">
    25            <h3 class="title is-4" data-test-editor-help-title>Run a Job</h3>
    26            <p data-test-editor-help-message>Paste or author HCL or JSON to submit to your cluster. A plan will be requested before the job is submitted.</p>
    27          </div>
    28          <div class="column is-centered is-minimum">
    29            <button class="button is-info" onclick={{toggle-action "showEditorMessage" this}} data-test-editor-help-dismiss type="button">Okay</button>
    30          </div>
    31        </div>
    32      </div>
    33    {{/if}}
    34    <div class="boxed-section">
    35      <div class="boxed-section-head">
    36        Job Definition
    37        {{#if this.cancelable}}
    38          <button class="button is-light is-compact pull-right" onclick={{action this.onCancel}} data-test-cancel-editing type="button">Cancel</button>
    39        {{/if}}
    40      </div>
    41      <div class="boxed-section-body is-full-bleed">
    42        <IvyCodemirror
    43          data-test-editor
    44          aria-label="Job definition"
    45          @value={{or this.job._newDefinition this.jobSpec}}
    46          @valueUpdated={{action (mut this.job._newDefinition)}}
    47          @options={{hash
    48            mode="javascript"
    49            theme="hashi"
    50            screenReaderLabel="Job definition editor"
    51            tabSize=2
    52            lineNumbers=true
    53          }} />
    54      </div>
    55    </div>
    56    <div class="content is-associative">
    57      <button class="button is-primary {{if this.plan.isRunning "is-loading"}}" type="button" onclick={{perform this.plan}} disabled={{or this.plan.isRunning (not this.job._newDefinition)}} data-test-plan>Plan</button>
    58    </div>
    59  {{/if}}
    60  
    61  {{#if (eq this.stage "plan")}}
    62    {{#if this.showPlanMessage}}
    63      <div class="notification is-info">
    64        <div class="columns">
    65          <div class="column">
    66            <h3 class="title is-4" data-test-plan-help-title>Job Plan</h3>
    67            <p data-test-plan-help-message>This is the impact running this job will have on your cluster.</p>
    68          </div>
    69          <div class="column is-centered is-minimum">
    70            <button class="button is-info" onclick={{toggle-action "showPlanMessage" this}} data-test-plan-help-dismiss type="button">Okay</button>
    71          </div>
    72        </div>
    73      </div>
    74    {{/if}}
    75    <div class="boxed-section">
    76      <div class="boxed-section-head">Job Plan</div>
    77      <div class="boxed-section-body is-dark">
    78        <JobDiff data-test-plan-output @diff={{this.planOutput.diff}} @verbose={{false}} />
    79      </div>
    80    </div>
    81    <div class="boxed-section {{if this.planOutput.failedTGAllocs "is-warning" "is-primary"}}" data-test-dry-run-message>
    82      <div class="boxed-section-head" data-test-dry-run-title>Scheduler dry-run</div>
    83      <div class="boxed-section-body" data-test-dry-run-body>
    84        {{#if this.planOutput.failedTGAllocs}}
    85          {{#each this.planOutput.failedTGAllocs as |placementFailure|}}
    86            <PlacementFailure @failedTGAlloc={{placementFailure}} />
    87          {{/each}}
    88        {{else}}
    89          All tasks successfully allocated.
    90        {{/if}}
    91      </div>
    92    </div>
    93    {{#if (and this.planOutput.preemptions.isFulfilled this.planOutput.preemptions.length)}}
    94      <div class="boxed-section is-warning" data-test-preemptions>
    95        <div class="boxed-section-head" data-test-preemptions-title>
    96          Preemptions (if you choose to run this job, these allocations will be stopped)
    97        </div>
    98        <div class="boxed-section-body" data-test-preemptions-body>
    99          <ListTable
   100            @source={{this.planOutput.preemptions}}
   101            @class="allocations is-isolated" as |t|>
   102            <t.head>
   103              <th class="is-narrow"></th>
   104              <th>ID</th>
   105              <th>Task Group</th>
   106              <th>Created</th>
   107              <th>Modified</th>
   108              <th>Status</th>
   109              <th>Version</th>
   110              <th>Node</th>
   111              <th>Volume</th>
   112              <th>CPU</th>
   113              <th>Memory</th>
   114            </t.head>
   115            <t.body as |row|>
   116              <AllocationRow @allocation={{row.model}} @context="job" />
   117            </t.body>
   118          </ListTable>
   119        </div>
   120      </div>
   121    {{/if}}
   122    <div class="content is-associative">
   123      <button class="button is-primary {{if this.submit.isRunning "is-loading"}}" type="button" onclick={{perform this.submit}} disabled={{this.submit.isRunning}} data-test-run>Run</button>
   124      <button class="button is-light" type="button" onclick={{action this.reset}} data-test-cancel>Cancel</button>
   125    </div>
   126  {{/if}}