improve usability of hover pop menu items on touch devices
This commit is contained in:
parent
4d96fc7cd2
commit
63b2b00b21
2 changed files with 15 additions and 3 deletions
|
|
@ -2363,9 +2363,9 @@ gapp.register("kiri.init", [], (root, exports) => {
|
||||||
uc.hoverPop(ui.ltfile, { group: hpops, target: $('file-pop') });
|
uc.hoverPop(ui.ltfile, { group: hpops, target: $('file-pop') });
|
||||||
uc.hoverPop(ui.ltview, { group: hpops, target: $('pop-view') });
|
uc.hoverPop(ui.ltview, { group: hpops, target: $('pop-view') });
|
||||||
uc.hoverPop(ui.ltact, { group: hpops, target: $('pop-slice') });
|
uc.hoverPop(ui.ltact, { group: hpops, target: $('pop-slice') });
|
||||||
uc.hoverPop(ui.render, { group: hpops, target: $('pop-render'), sticky: false });
|
uc.hoverPop(ui.render, { group: hpops, target: $('pop-render'), xsticky: false });
|
||||||
uc.hoverPop(ui.edit, { group: hpops, target: $('pop-tools'), sticky: false });
|
uc.hoverPop(ui.edit, { group: hpops, target: $('pop-tools'), xsticky: false });
|
||||||
uc.hoverPop(ui.nozzle, { group: hpops, target: $('pop-nozzle'), sticky: true });
|
uc.hoverPop(ui.nozzle, { group: hpops, target: $('pop-nozzle'), xsticky: true });
|
||||||
uc.hoverPop($('app-acct'), { group: hpops, target: $('acct-pop') } );
|
uc.hoverPop($('app-acct'), { group: hpops, target: $('acct-pop') } );
|
||||||
// uc.hoverPop($('app-mode'), { group: hpops, target: $('mode-info') } );
|
// uc.hoverPop($('app-mode'), { group: hpops, target: $('mode-info') } );
|
||||||
uc.hoverPop($('app-name'), { group: hpops, target: $('app-info') } );
|
uc.hoverPop($('app-name'), { group: hpops, target: $('app-info') } );
|
||||||
|
|
|
||||||
|
|
@ -978,6 +978,7 @@ gapp.register("kiri.ui", [], (root, exports) => {
|
||||||
let group = opt.group || [];
|
let group = opt.group || [];
|
||||||
let closes = opt.closes || group;
|
let closes = opt.closes || group;
|
||||||
let target = opt.target || el;
|
let target = opt.target || el;
|
||||||
|
let mobile = false;
|
||||||
let popped = false;
|
let popped = false;
|
||||||
group.push(target);
|
group.push(target);
|
||||||
if (closes !== group) {
|
if (closes !== group) {
|
||||||
|
|
@ -998,6 +999,14 @@ gapp.register("kiri.ui", [], (root, exports) => {
|
||||||
};
|
};
|
||||||
if (opt.auto !== false) {
|
if (opt.auto !== false) {
|
||||||
el.addEventListener("mouseenter", openit);
|
el.addEventListener("mouseenter", openit);
|
||||||
|
el.addEventListener("touchstart", () => {
|
||||||
|
mobile = true;
|
||||||
|
if (popped) {
|
||||||
|
closeit();
|
||||||
|
} else {
|
||||||
|
openit();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
el.addEventListener("mouseleave", (ev) => {
|
el.addEventListener("mouseleave", (ev) => {
|
||||||
closes.timer = setTimeout(() => {
|
closes.timer = setTimeout(() => {
|
||||||
|
|
@ -1006,6 +1015,9 @@ gapp.register("kiri.ui", [], (root, exports) => {
|
||||||
});
|
});
|
||||||
if (!opt.sticky) {
|
if (!opt.sticky) {
|
||||||
el.addEventListener("mouseup", (ev) => {
|
el.addEventListener("mouseup", (ev) => {
|
||||||
|
if (mobile) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (popped) {
|
if (popped) {
|
||||||
closeit();
|
closeit();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue