select vbox multiple wip

This commit is contained in:
Mashy 2019-11-19 11:35:30 +10:00
parent 0d08536837
commit 33152e54d5

View File

@ -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 <button disabled class='empty' key={(group * 10) + index} >&nbsp;</button>;
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 (
<label draggable='true'
onDragStart={ev => {
onClick(ev);
ev.dataTransfer.setData('text', '')
}}
onDragStart={ev => ev.dataTransfer.setData('text', '')}
key={group * 10 + index}
onDragEnd={clearVboxSelected}>
<button