From 1337e00646d1b888db6ad8827faf1db9a0329cf3 Mon Sep 17 00:00:00 2001 From: Florrie Date: Sun, 25 Aug 2019 19:47:12 -0300 Subject: Select already selected option from dropdown menu ...by default. --- ui.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ui.js b/ui.js index 840c7ee..e0ab4f6 100644 --- a/ui.js +++ b/ui.js @@ -1821,7 +1821,8 @@ class InlineListPickerElement extends FocusElement { label: label, action: () => { this.curIndex = index - } + }, + isDefault: index === this.curIndex })) }) } else { @@ -2919,7 +2920,7 @@ class ContextMenu extends FocusElement { this.submenu = null } - show({x = 0, y = 0, items}) { + show({x = 0, y = 0, defaultIndex = 0, items}) { items = items.filter(Boolean) if (!items.length) { return @@ -2951,6 +2952,9 @@ class ContextMenu extends FocusElement { addDividerIfWanted() this.form.addInput(item.element) item.element.showContextMenu = this.showSubmenu + if (item.isDefault) { + this.root.select(item.element) + } } else if (item.divider) { wantDivider = true } else { @@ -2964,12 +2968,17 @@ class ContextMenu extends FocusElement { }) } this.form.addInput(button) + if (item.isDefault) { + this.root.select(button) + } } } this.fixLayout() - this.form.firstInput() + if (!items.some(item => item.isDefault)) { + this.form.firstInput() + } this.keyboardSelector.reset() } -- cgit 1.3.0-6-gf8a5