Files
nomad/ui/app/components/job-diff.hbs

113 lines
3.3 KiB
Handlebars

{{!
Copyright (c) HashiCorp, Inc.
SPDX-License-Identifier: BUSL-1.1
~}}
{{! Job heading }}
{{! template-lint-disable simple-unless }}
<div
data-test-diff-section-label="job"
data-test-diff-field="{{lowercase this.diff.Type}}"
class="{{if
this.diff.Type
(concat 'diff-section-label is-' (lowercase this.diff.Type))
}}"
>
<span class="marker {{concat 'is-' (lowercase this.diff.Type)}}">
{{#if (eq (lowercase this.diff.Type) "added")}}
+
{{else if (eq (lowercase this.diff.Type) "deleted")}}
-
{{else if (eq (lowercase this.diff.Type) "edited")}}
+/-
{{/if}}
</span>
<span class="diff-section-bold">Job: "{{this.diff.ID}}"</span>
</div>
{{! Show job field and object diffs if the job is edited }}
{{#if (or this.verbose (eq (lowercase this.diff.Type) "edited"))}}
<div data-test-diff-section-label="job-diff" class="diff-section-label">
<JobDiffFieldsAndObjects
@fields={{this.diff.Fields}}
@objects={{this.diff.Objects}}
/>
</div>
{{/if}}
{{! Each task group }}
{{#each this.diff.TaskGroups as |group|}}
<div
data-test-diff-section-label="task-group"
class="{{if
group.Type
(concat 'diff-section-label is-' (lowercase group.Type))
}}"
>
<span class="marker {{concat 'is-' (lowercase group.Type)}}">
{{#if (eq (lowercase group.Type) "added")}}
+
{{else if (eq (lowercase group.Type) "deleted")}}
-
{{else if (eq (lowercase group.Type) "edited")}}
+/-
{{/if}}
</span>
<span class="diff-section-bold">Task Group: "{{group.Name}}"</span>
{{#if group.Updates}}
({{#each-in group.Updates as |updateType count|}}
<span class="job-diff-update-count {{css-class updateType}}">{{count}}
{{updateType}}</span>
{{/each-in}})
{{/if}}
{{! Show task group field and object diffs if the task group is edited }}
{{#if (or (eq (lowercase group.Type) "edited") this.verbose)}}
<div
data-test-diff-section-label="task-group-diff"
class="diff-section-label"
>
<JobDiffFieldsAndObjects
@fields={{group.Fields}}
@objects={{group.Objects}}
/>
</div>
{{/if}}
{{! Each task }}
{{#each group.Tasks as |task|}}
<div
data-test-diff-section-label="task"
data-test-diff-field="{{lowercase task.Type}}"
class="{{if
task.Type
(concat 'diff-section-label is-' (lowercase task.Type))
}}"
>
<span class="marker {{concat 'is-' (lowercase task.Type)}}">
{{#if (eq (lowercase task.Type) "added")}}
+
{{else if (eq (lowercase task.Type) "deleted")}}
-
{{else if (eq (lowercase task.Type) "edited")}}
+/-
{{/if}}
</span>
Task: "{{task.Name}}"
{{#if task.Annotations}}
({{~#each task.Annotations as |annotation index|}}
<span class="{{css-class annotation}}">{{annotation}}</span>
{{#unless (eq index (dec task.Annotations.length))}},{{/unless}}
{{/each~}})
{{/if}}
{{#if (or this.verbose (eq (lowercase task.Type) "edited"))}}
<JobDiffFieldsAndObjects
@fields={{task.Fields}}
@objects={{task.Objects}}
/>
{{/if}}
</div>
{{/each}}
</div>
{{/each}}