MAINT-11 round 2: disable the cycle buttons that cannot work
Stop cycle is disabled on a battery that is not cycling. Start cycle is disabled while any battery cycles and on a switched-off battery. Page only; the add-on still refuses each of these. DECISIONS notes the one-battery case. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bdqr7PiaHcBnzPituu2yTC
This commit is contained in:
co-authored by
Claude
parent
fd059126cb
commit
5ee1061398
@@ -352,15 +352,22 @@
|
||||
finally { packBusy = false; }
|
||||
await refresh(true);
|
||||
}
|
||||
// A button that cannot work is disabled (the add-on still refuses it): Stop
|
||||
// needs this battery cycling; Start needs no battery cycling and this one on.
|
||||
function cycleState(b) {
|
||||
const cycling = (x) => x.maintenance !== "idle";
|
||||
return { start: !S.batteries.some(cycling) && b.use !== false, abort: cycling(b) };
|
||||
}
|
||||
function cycleButtons(b, i) {
|
||||
const can = cycleState(b);
|
||||
const ask1 = (key, what) => () => {
|
||||
const w = t("batteries.cycle." + key);
|
||||
ask({ name: say(w.name, { name: b.name }), description: say(w.description, { name: b.name }), yes: w.yes },
|
||||
() => cycleAct(what, b));
|
||||
};
|
||||
return h("div", { class: "cyc", style: "display:flex;gap:8px;flex-wrap:wrap;margin-top:10px" },
|
||||
h("button", { type: "button", class: "btn", id: "bcs-" + i, onclick: ask1("start_dialog", "maint_start") }, t("batteries.cycle.start")),
|
||||
h("button", { type: "button", class: "btn danger", id: "bca-" + i, onclick: ask1("abort_dialog", "maint_abort") }, t("batteries.cycle.abort")));
|
||||
h("button", { type: "button", class: "btn", id: "bcs-" + i, disabled: !can.start, onclick: ask1("start_dialog", "maint_start") }, t("batteries.cycle.start")),
|
||||
h("button", { type: "button", class: "btn danger", id: "bca-" + i, disabled: !can.abort, onclick: ask1("abort_dialog", "maint_abort") }, t("batteries.cycle.abort")));
|
||||
}
|
||||
function onSwitch(b, i, where, lid) {
|
||||
const sw = h("button", { type: "button", class: "switch", role: "switch", id: "bsw-" + where + i,
|
||||
|
||||
Reference in New Issue
Block a user