component {
resources {
component(name = SemDependencias) {
text("{t('advanced.no_dependencies')}", class = u-muted)
}
}
scrollable(
direction = vertical,
class = u-fill-all,
) {
column(class = service__main) {
form(name = advanced, on_submit = advanced_save, class = form-panel) {
text("{t('advanced.replicas')}", class = u-label-cap)
spinbox(
field_class = field__spin,
form_control = service_form_replicas,
:value = service_form_replicas,
min = 1,
max = 20,
width = 90,
placeholder = 1,
)
text("{t('advanced.run_command')}", class = u-label-cap)
input(
class = field__input,
form_control = service_form_run_command,
:value = service_form_run_command,
on_change = field:service_form_run_command,
placeholder = "{t('advanced.image_default')}",
)
text("{t('advanced.current_run_args', service_run_args=service_run_args)}", class = u-muted)
toggle(
:checked = service_form_autostart,
on_toggle = field:service_form_autostart,
label = "{t('advanced.autostart')}",
)
text("{t('advanced.autostart_hint')}", class = u-muted)
if @service_source_kind == "Registry" {
toggle(
:checked = service_form_registry_auto_deploy,
on_toggle = field:service_form_registry_auto_deploy,
label = "{t('advanced.registry_auto_deploy')}",
)
text("{t('advanced.registry_auto_deploy_hint')}", class = u-muted)
}
row(class = env__add) {
button(class = "btn btn--primary", on_click = advanced_save, disabled = @busy_advanced_save, text = "{t('common.save_2')}")
text("@service_action_message", class = u-muted)
}
}
column(class = form-panel) {
text(
"{t('advanced.depends_on', service_dependencies_count=service_dependencies_count)}",
class = u-label-cap,
)
text("{t('advanced.depends_on_hint')}", class = u-muted)
column(class = kv-list, height = shrink) {
each @service_dependencies as d (fallback = SemDependencias) {
row(class = kv-list__row) {
button(
class = env__del,
on_click = dependency_delete:@d.id,
disabled = @busy_dependency_delete,
text = "✕",
)
text(class = env__sep)
text("@d.index.", class = env__key)
text("@d.name", class = "kv-list__val kv-list__val--compact")
}
}
}
text("{t('advanced.add_dependency')}", class = u-label-cap)
select(
class = form-select,
:options = service_dependency_options,
:value = service_form_dependency_add_id,
on_change = field:service_form_dependency_add_id,
placeholder = "{t('advanced.choose_service')}",
label_field = name,
value_field = id,
)
row(class = env__add) {
button(
class = "btn btn--primary",
if = @service_form_dependency_add_id,
equals = "",
disabled = true,
text = "{t('advanced.add_dependency_button')}",
)
button(
class = "btn btn--primary",
if = @service_form_dependency_add_id,
not_equals = "",
on_click = dependency_add,
disabled = @busy_dependency_add,
text = "{t('advanced.add_dependency_button')}",
)
}
}
column(class = form-panel) {
text(
"{t('advanced.pre_deploy_queue', pre_deploy_checks_count=pre_deploy_checks_count)}",
class = u-label-cap,
)
text(
"{t('advanced.runs_these_jobs_in_order_before')}",
class = u-muted,
)
scrollable(direction = vertical, class = u-fill-all) {
column(class = kv-list, height = shrink) {
template(
:for_each = pre_deploy_checks,
foreach_fallback = SemChecks,
var = c,
on_reorder = pre_deploy_check_reorder,
reorder_key = id,
) {
if @c.__dragging == "true" {
row(class = "kv-list__row kv-list__row--dragging") {
text(
"⋮",
class = "env__drag-handle env__drag-handle--dragging",
drag_handle = true,
)
button(
class = env__del,
on_click = pre_deploy_check_delete:@c.id,
disabled = @busy_pre_deploy_check_delete,
text = "✕",
)
text(class = env__sep)
text("@c.index.", class = env__key)
text("@c.name", class = "kv-list__val kv-list__val--compact")
}
} else {
row(class = kv-list__row) {
text(
"⋮",
class = env__drag-handle,
drag_handle = true,
)
button(
class = env__del,
on_click = pre_deploy_check_delete:@c.id,
disabled = @busy_pre_deploy_check_delete,
text = "✕",
)
text(class = env__sep)
text("@c.index.", class = env__key)
text("@c.name", class = "kv-list__val kv-list__val--compact")
}
}
}
}
}
text("{t('advanced.add_to_the_queue')}", class = u-label-cap)
select(
class = form-select,
:options = pre_deploy_available_jobs,
:value = service_form_pre_deploy_check_add_job_id,
on_change = field:service_form_pre_deploy_check_add_job_id,
placeholder = "{t('advanced.choose_job')}",
label_field = name,
value_field = id,
)
row(class = env__add) {
button(
class = "btn btn--primary",
if = @service_form_pre_deploy_check_add_job_id,
equals = "",
disabled = true,
text = "{t('advanced.add_to_the_queue_2')}",
)
button(
class = "btn btn--primary",
if = @service_form_pre_deploy_check_add_job_id,
not_equals = "",
on_click = pre_deploy_check_add,
disabled = @busy_pre_deploy_check_add,
text = "{t('advanced.add_to_the_queue_2')}",
)
}
}
}
}
}