app/views/good_job/jobs/show.html.erb in good_job-3.2.0 vs app/views/good_job/jobs/show.html.erb in good_job-3.3.0
- old
+ new
@@ -1,57 +1,66 @@
<div class="break-out bg-light border-bottom py-2 mb-3">
<div class="container-fluid pt-2">
- <div class="d-flex align-items-center">
- <div class="flex-fill">
+ <div class="row align-items-center">
+ <div class="col-5">
<nav aria-label="breadcrumb">
<ol class="breadcrumb small mb-0">
<li class="breadcrumb-item"><%= link_to "Jobs", jobs_path %></li>
- <li class="breadcrumb-item active" aria-current="page">ActiveJob ID: <%= tag.code @job.id %></li>
+ <li class="breadcrumb-item active" aria-current="page"><%= tag.code @job.id, class: "text-muted" %></li>
</ol>
</nav>
- <h2 class="mb-1"><%= tag.code @job.job_class %></h2>
- <div class="text-muted small d-flex gap-2">
- <div>Queue: <%= tag.strong @job.queue_name %></div>
- •
- <div>Priority: <%= tag.strong @job.priority %></div>
+ <h2 class="mb-0"><%= tag.code @job.job_class %></h2>
+ </div>
+ <div class="col-2">
+ <div class="small text-muted text-uppercase">Queue</div>
+ <div class="badge bg-primary bg-opacity-25 text-dark font-monospace my-2">
+ <%= tag.strong @job.queue_name %>
</div>
</div>
- <div>
- <% job_reschedulable = @job.status.in? [:scheduled, :retried, :queued] %>
- <%= button_to reschedule_job_path(@job.id), method: :put,
- class: "btn btn-sm #{job_reschedulable ? 'btn-outline-primary' : 'btn-outline-secondary'}",
- form_class: "d-inline-block",
- disabled: !job_reschedulable,
- aria: { label: "Reschedule job" },
- title: "Reschedule job",
- data: { confirm: "Confirm reschedule" } do %>
- <%= render_icon "skip_forward" %>
- Reschedule
+ <div class="col-2">
+ <div class="small text-muted text-uppercase">Priority</div>
+ <div class="font-monospace fw-bold small my-2"><%= tag.strong @job.priority %></div>
+ </div>
+ <div class="col text-end">
+ <% if @job.status.in? [:scheduled, :retried, :queued] %>
+ <%= button_to reschedule_job_path(@job.id), method: :put,
+ class: "btn btn-sm btn-outline-primary",
+ form_class: "d-inline-block",
+ aria: { label: "Reschedule job" },
+ title: "Reschedule job",
+ data: { confirm: "Confirm reschedule" } do %>
+ <%= render_icon "skip_forward" %>
+ Reschedule
+ <% end %>
<% end %>
- <% job_discardable = @job.status.in? [:scheduled, :retried, :queued] %>
- <%= button_to discard_job_path(@job.id), method: :put, class: "btn btn-sm #{job_discardable ? 'btn-outline-primary' : 'btn-outline-secondary'}", form_class: "d-inline-block", disabled: !job_discardable, aria: { label: "Discard job" }, title: "Discard job", data: { confirm: "Confirm discard" } do %>
- <%= render_icon "stop" %>
- Discard
+ <% if @job.status.in? [:scheduled, :retried, :queued] %>
+ <%= button_to discard_job_path(@job.id), method: :put, class: "btn btn-sm btn-outline-primary", form_class: "d-inline-block", aria: { label: "Discard job" }, title: "Discard job", data: { confirm: "Confirm discard" } do %>
+ <%= render_icon "stop" %>
+ Discard
+ <% end %>
<% end %>
- <%= button_to retry_job_path(@job.id), method: :put, class: "btn btn-sm #{@job.status == :discarded ? 'btn-outline-primary' : 'btn-outline-secondary'}", form_class: "d-inline-block", disabled: @job.status != :discarded, aria: { label: "Retry job" }, title: "Retry job", data: { confirm: "Confirm retry" } do %>
- <%= render_icon "arrow_clockwise" %>
- Retry
+ <% if @job.status == :discarded %>
+ <%= button_to retry_job_path(@job.id), method: :put, class: "btn btn-sm btn-outline-primary", form_class: "d-inline-block", aria: { label: "Retry job" }, title: "Retry job", data: { confirm: "Confirm retry" } do %>
+ <%= render_icon "arrow_clockwise" %>
+ Retry
+ <% end %>
<% end %>
- <% job_destroyable = @job.status.in? [:discarded, :finished] %>
- <%= button_to job_path(@job.id), method: :delete, class: "btn btn-sm #{job_destroyable ? 'btn-outline-primary' : 'btn-outline-secondary'}", form_class: "d-inline-block", disabled: !job_destroyable, aria: { label: "Destroy job" }, title: "Destroy job", data: { confirm: "Confirm destroy" } do %>
- <%= render_icon "trash" %>
- Destroy
+ <% if @job.status.in? [:discarded, :finished] %>
+ <%= button_to job_path(@job.id), method: :delete, class: "btn btn-sm btn-outline-primary", form_class: "d-inline-block", aria: { label: "Destroy job" }, title: "Destroy job", data: { confirm: "Confirm destroy" } do %>
+ <%= render_icon "trash" %>
+ Destroy
+ <% end %>
<% end %>
</div>
</div>
</div>
</div>
<div class="my-4">
<h5>Arguments</h5>
- <%= tag.pre @job.serialized_params["arguments"].map(&:inspect).join(', ') %>
+ <%= tag.pre @job.serialized_params["arguments"].map(&:inspect).join(', '), class: 'text-wrap text-break' %>
</div>
<%= render 'executions', executions: @job.executions.includes_advisory_locks.reverse %>