// retoor import { Http } from "./Http.js"; import { wireSearch, wireBootToggle } from "./ContainerFormControls.js"; export class ContainerEdit { constructor(form) { this.form = form; this.uid = form ? form.dataset.uid : ""; } init() { if (!this.form) return; wireSearch(this.form, "user", "/admin/containers/users/search", "run_as_uid", (r) => r.uid, (r) => r.username); wireBootToggle(this.form); this.form.addEventListener("submit", (e) => { e.preventDefault(); this.save(); }); } toast(message, type) { if (window.app && window.app.toast) window.app.toast.show(message, { type: type || "info" }); } async save() { const f = this.form; const params = { run_as_uid: f.elements.run_as_uid.value.trim(), boot_language: f.elements.boot_language.value, boot_script: f.elements.boot_script.value, boot_command: f.elements.boot_command.value.trim(), restart_policy: f.elements.restart_policy.value, cpu_limit: f.elements.cpu_limit.value.trim(), mem_limit: f.elements.mem_limit.value.trim(), start_on_boot: f.elements.start_on_boot.checked ? "true" : "false", }; try { await Http.send(`/admin/containers/${this.uid}/edit`, params); this.toast("Saved", "success"); window.location.assign(`/admin/containers/${this.uid}`); } catch (err) { return; } } }