add sticky option to popHover. checkpoint belt anchors
This commit is contained in:
parent
e1250f5f93
commit
d48e001e1e
4 changed files with 87 additions and 40 deletions
|
|
@ -2099,10 +2099,10 @@
|
|||
UC.hoverPop(UI.ltfile, { group: ltpops, target: $('file-pop') });
|
||||
UC.hoverPop(UI.ltview, { group: ltpops, target: $('pop-view') });
|
||||
UC.hoverPop(UI.ltact, { group: ltpops, target: $('pop-slice') });
|
||||
UC.hoverPop(UI.render, { group: ltpops, target: $('pop-render') });
|
||||
UC.hoverPop(UI.rotate, { group: ltpops, target: $('pop-rotate') });
|
||||
UC.hoverPop(UI.scale, { group: ltpops, target: $('pop-scale') });
|
||||
UC.hoverPop(UI.nozzle, { group: ltpops, target: $('pop-nozzle') });
|
||||
UC.hoverPop(UI.render, { group: ltpops, target: $('pop-render'), sticky: true });
|
||||
UC.hoverPop(UI.rotate, { group: ltpops, target: $('pop-rotate'), sticky: true });
|
||||
UC.hoverPop(UI.scale, { group: ltpops, target: $('pop-scale'), sticky: true });
|
||||
UC.hoverPop(UI.nozzle, { group: ltpops, target: $('pop-nozzle'), sticky: true });
|
||||
|
||||
UC.onBlur([
|
||||
UI.toolName,
|
||||
|
|
|
|||
|
|
@ -891,26 +891,42 @@
|
|||
let group = opt.group || [];
|
||||
let closes = opt.closes || group;
|
||||
let target = opt.target || el;
|
||||
let popped = false;
|
||||
group.push(target);
|
||||
if (closes !== group) {
|
||||
closes.push(target);
|
||||
}
|
||||
el.addEventListener("mouseenter", (ev) => {
|
||||
let openit = () => {
|
||||
clearTimeout(closes.timer);
|
||||
for (let close of closes) {
|
||||
close.classList.remove("hoverpop");
|
||||
}
|
||||
target.classList.add("hoverpop");
|
||||
});
|
||||
popped = true;
|
||||
};
|
||||
let closeit = () => {
|
||||
target.classList.remove("hoverpop");
|
||||
clearTimeout(closes.timer);
|
||||
popped = false;
|
||||
};
|
||||
el.addEventListener("mouseenter", openit);
|
||||
el.addEventListener("mouseleave", (ev) => {
|
||||
closes.timer = setTimeout(() => {
|
||||
target.classList.remove("hoverpop");
|
||||
}, 750);
|
||||
});
|
||||
if (!opt.sticky) {
|
||||
el.addEventListener("mouseup", (ev) => {
|
||||
if (popped) {
|
||||
closeit();
|
||||
} else {
|
||||
openit();
|
||||
}
|
||||
});
|
||||
}
|
||||
document.addEventListener("keydown", (ev) => {
|
||||
if (ev.keyCode === 27 || ev.code === 'Escape') {
|
||||
target.classList.remove("hoverpop");
|
||||
clearTimeout(closes.timer);
|
||||
closeit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue