From 33152e54d5660f8bb18ab4f31f5768e9d20f66a8 Mon Sep 17 00:00:00 2001 From: Mashy Date: Tue, 19 Nov 2019 11:35:30 +1000 Subject: [PATCH] select vbox multiple wip --- client/src/components/vbox.component.jsx | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/client/src/components/vbox.component.jsx b/client/src/components/vbox.component.jsx index a13c1c4e..f80270a6 100644 --- a/client/src/components/vbox.component.jsx +++ b/client/src/components/vbox.component.jsx @@ -172,14 +172,13 @@ class Vbox extends preact.Component { if (!vboxSelecting) return false; document.activeElement.blur(); clearVboxSelected(); - sendVboxAccept(vboxSelected[0], vboxSelected[1]); + sendVboxAccept(vboxSelected[0][0], vboxSelected[0][1]); return true; } function availableBtn(v, group, index) { if (!v) return ; - const selected = vboxSelected[0] === group && vboxSelected[1] === index; - + const selected = vboxSelected.length && vboxSelected.some(vs => vs[0] === group && vs[1] === index); // state not yet set in double click handler function onDblClick(e) { clearVboxSelected(); @@ -190,10 +189,11 @@ class Vbox extends preact.Component { function onClick(e) { e.stopPropagation(); setItemEquip(null); - setCombiner([]); setInfo(vbox.free[group][index]); - if (vboxSelected[0] === group && vboxSelected[1] === index) return clearVboxSelected(); - return setVboxSelected([group, index]); + if (vboxSelected.length && vboxSelected.some(vs => vs[0] === group && vs[1] === index)) { + return setVboxSelected(vboxSelected.filter(vs => !(vs[0] === group && vs[1] === index))); + } + return setVboxSelected([...vboxSelected, [group, index]]); } const combinerItems = combiner.map(j => vbox.bound[j]); @@ -217,10 +217,7 @@ class Vbox extends preact.Component { const disabled = vbox.bits <= group; return (