promenu: register swipe as part of setUI
... for removing later, e.g. when a submenu comes alongmaster
parent
832306f4db
commit
dd0fd23af1
|
|
@ -150,16 +150,21 @@ E.showMenu = function (items) {
|
||||||
else if (backItem && "back" in backItem)
|
else if (backItem && "back" in backItem)
|
||||||
back = backItem.back;
|
back = backItem.back;
|
||||||
}
|
}
|
||||||
|
var onSwipe;
|
||||||
if (typeof back === "function") {
|
if (typeof back === "function") {
|
||||||
var back_1 = back;
|
var back_1 = back;
|
||||||
Bangle.on('swipe', function (lr, _ud) {
|
onSwipe = function (lr) {
|
||||||
if (lr < 0)
|
if (lr < 0)
|
||||||
back_1();
|
back_1();
|
||||||
});
|
};
|
||||||
|
Bangle.on('swipe', onSwipe);
|
||||||
}
|
}
|
||||||
Bangle.setUI({
|
Bangle.setUI({
|
||||||
mode: "updown",
|
mode: "updown",
|
||||||
back: back,
|
back: back,
|
||||||
|
remove: function () {
|
||||||
|
Bangle.removeListener("swipe", onSwipe);
|
||||||
|
},
|
||||||
}, function (dir) {
|
}, function (dir) {
|
||||||
if (dir)
|
if (dir)
|
||||||
l.move(dir);
|
l.move(dir);
|
||||||
|
|
|
||||||
|
|
@ -170,17 +170,21 @@ type ActualMenuItem = Exclude<Menu["..."], MenuOptions | undefined>;
|
||||||
else if (backItem && "back" in backItem)
|
else if (backItem && "back" in backItem)
|
||||||
back = backItem.back;
|
back = backItem.back;
|
||||||
}
|
}
|
||||||
|
let onSwipe: SwipeCallback | undefined;
|
||||||
if (typeof back === "function") {
|
if (typeof back === "function") {
|
||||||
const back_ = back;
|
const back_ = back;
|
||||||
Bangle.on('swipe', (lr, _ud) => {
|
onSwipe = (lr/*, ud*/) => {
|
||||||
if (lr < 0) back_();
|
if (lr < 0) back_();
|
||||||
})
|
};
|
||||||
|
Bangle.on('swipe', onSwipe);
|
||||||
}
|
}
|
||||||
|
|
||||||
Bangle.setUI(
|
Bangle.setUI({
|
||||||
{
|
|
||||||
mode: "updown",
|
mode: "updown",
|
||||||
back,
|
back,
|
||||||
|
remove: () => {
|
||||||
|
Bangle.removeListener("swipe", onSwipe);
|
||||||
|
},
|
||||||
} as SetUIArg<"updown">,
|
} as SetUIArg<"updown">,
|
||||||
dir => {
|
dir => {
|
||||||
if (dir) l.move(dir);
|
if (dir) l.move(dir);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue