From a9cb64751d35334dce978ba2165893eacb4d29bb Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 14 May 2024 16:35:00 -0300 Subject: remember which main context menu page was open --- ui.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'ui.js') diff --git a/ui.js b/ui.js index 3e0098f..b786838 100644 --- a/ui.js +++ b/ui.js @@ -199,6 +199,8 @@ export default class AppElement extends FocusElement { this.timestampDictionary = new WeakMap() + this.itemMenuPage = 0 + // We add this is a child later (so that it's on top of every element). this.menuLayer = new DisplayElement() this.menuLayer.clickThrough = true @@ -1515,10 +1517,15 @@ export default class AppElement extends FocusElement { // TODO: Implement this! :P // const isMarked = false - this.showContextMenu({ + const menu = this.showContextMenu({ x: el.absLeft, y: el.absTop + 1, - pages + pages, + pageNum: this.itemMenuPage + }) + + menu.on('page changed', pageNum => { + this.itemMenuPage = pageNum }) } @@ -4837,6 +4844,7 @@ class ContextMenu extends FocusElement { } this.close(false) this.show({x, y, pages, pageNum}) + this.emit('page changed', pageNum) } } @@ -4848,6 +4856,7 @@ class ContextMenu extends FocusElement { } this.close(false) this.show({x, y, pages, pageNum}) + this.emit('page changed', pageNum) } } @@ -4859,7 +4868,7 @@ class ContextMenu extends FocusElement { if (pages.length === 0) { return } - itemsArg = pages[pageNum] + itemsArg = pages[Math.min(pages.length - 1, pageNum)] } let items = (typeof itemsArg === 'function') ? itemsArg() : itemsArg -- cgit 1.3.0-6-gf8a5