pass pop menu clicks to children. handle touch pop ops for cam
This commit is contained in:
parent
63b2b00b21
commit
4c5cb4925e
2 changed files with 31 additions and 8 deletions
|
|
@ -352,13 +352,14 @@ CAM.init = function(kiri, api) {
|
||||||
let timer = null;
|
let timer = null;
|
||||||
let inside = true;
|
let inside = true;
|
||||||
let poprec = popOp[rec.type];
|
let poprec = popOp[rec.type];
|
||||||
|
el.rec = rec;
|
||||||
el.unpop = () => {
|
el.unpop = () => {
|
||||||
let pos = [...el.childNodes].indexOf(poprec.div);
|
let pos = [...el.childNodes].indexOf(poprec.div);
|
||||||
if (pos >= 0) {
|
if (pos >= 0) {
|
||||||
el.removeChild(poprec.div);
|
el.removeChild(poprec.div);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
el.onmouseenter = (ev) => {
|
function onEnter(ev) {
|
||||||
if (poppedRec && poppedRec != rec) {
|
if (poppedRec && poppedRec != rec) {
|
||||||
func.surfaceDone();
|
func.surfaceDone();
|
||||||
func.traceDone();
|
func.traceDone();
|
||||||
|
|
@ -377,8 +378,8 @@ CAM.init = function(kiri, api) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
UC.setSticky(false);
|
UC.setSticky(false);
|
||||||
}, 0);
|
}, 0);
|
||||||
};
|
}
|
||||||
el.onmouseleave = () => {
|
function onLeave(ev) {
|
||||||
inside = false;
|
inside = false;
|
||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
timer = setTimeout(() => {
|
timer = setTimeout(() => {
|
||||||
|
|
@ -386,9 +387,8 @@ CAM.init = function(kiri, api) {
|
||||||
el.unpop();
|
el.unpop();
|
||||||
}
|
}
|
||||||
}, 250);
|
}, 250);
|
||||||
};
|
}
|
||||||
el.rec = rec;
|
function onDown(ev) {
|
||||||
el.onmousedown = (ev) => {
|
|
||||||
func.surfaceDone();
|
func.surfaceDone();
|
||||||
func.traceDone();
|
func.traceDone();
|
||||||
let target = ev.target, clist = target.classList;
|
let target = ev.target, clist = target.classList;
|
||||||
|
|
@ -451,7 +451,26 @@ CAM.init = function(kiri, api) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
if (moto.space.info.mob) {
|
||||||
|
el.ontouchstart = (ev) => {
|
||||||
|
if (poppedRec === rec) {
|
||||||
|
onLeave(ev);
|
||||||
|
} else {
|
||||||
|
onEnter(ev);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
// el.ontouchmove = (ev) => {
|
||||||
|
// console.log('touch.move');
|
||||||
|
// };
|
||||||
|
// el.ontouchend = (ev) => {
|
||||||
|
// console.log('touch.end');
|
||||||
|
// };
|
||||||
|
} else {
|
||||||
|
el.onmousedown = onDown;
|
||||||
|
el.onmouseenter = onEnter;
|
||||||
|
el.onmouseleave = onLeave;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -999,7 +999,11 @@ 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", () => {
|
el.addEventListener("touchstart", (ev) => {
|
||||||
|
if (ev.target.onclick) {
|
||||||
|
// pass action clicks on children
|
||||||
|
ev.target.onclick(ev);
|
||||||
|
}
|
||||||
mobile = true;
|
mobile = true;
|
||||||
if (popped) {
|
if (popped) {
|
||||||
closeit();
|
closeit();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue