component {
resources {
component(name = SemJobsNoProjeto) {
text("{t('common.no_jobs_registered_yet')}", class = u-muted)
}
}
row(class = env__head) {
text("{t('project_jobs.job_s', project_jobs_count=project_jobs_count)}", class = "u-muted u-fill")
button(
class = "btn btn--primary btn--sm",
on_click = open_new_job_window,
disabled = @busy_open_new_job_window,
text = "{t('common.new_job')}",
)
}
scrollable(direction = vertical, class = u-fill-all) {
column(class = kv-list) {
each @project_jobs as j (fallback = SemJobsNoProjeto) {
row(class = kv-list__row) {
text("@j.name", class = env__key)
text("@j.recurrence", class = "u-muted table__col-dur")
StateCell(
kind = @j.last_run_kind,
label = @j.last_run_label,
)
text(
"→ @j.next_run_at",
class = "u-muted kv-list__val kv-list__val--compact",
)
StateCell(kind = @j.warm_kind, label = @j.warm_label)
JobActions(
job_id = @j.id,
job_name = @j.name_full,
running = @j.running,
enabled = @j.enabled,
enabled_label = @j.enabled_label,
last_run_id = @j.last_run_id,
is_warm = @j.is_warm,
is_warming = @j.is_warming,
warm_kind = @j.warm_kind,
warm_label = @j.warm_label,
warm_reason = @j.warm_reason,
warmed_at_label = @j.warmed_at_label,
)
}
}
}
}
}