« get me outta code hell

tui-lib - Pure Node.js library for making visual command-line programs (ala vim, ncdu)
about summary refs log tree commit diff
path: root/ui/form
diff options
context:
space:
mode:
Diffstat (limited to 'ui/form')
-rw-r--r--ui/form/Form.js12
-rw-r--r--ui/form/ListScrollForm.js4
2 files changed, 9 insertions, 7 deletions
diff --git a/ui/form/Form.js b/ui/form/Form.js
index 708de1f..ce064aa 100644
--- a/ui/form/Form.js
+++ b/ui/form/Form.js
@@ -80,15 +80,17 @@ module.exports = class Form extends FocusElement {
     this.updateSelectedElement()
   }
 
-  firstInput() {
+  firstInput(selectForm = true) {
     this.curIndex = 0
 
-    this.updateSelectedElement()
+    if (selectForm || (
+      this.root.isChildOrSelfSelected && this.root.isChildOrSelfSelected(this)
+    )) {
+      this.updateSelectedElement()
+    }
   }
 
   focused() {
-    if (this.root.select) {
-      this.root.select(this.inputs[this.curIndex])
-    }
+    this.updateSelectedElement()
   }
 }
diff --git a/ui/form/ListScrollForm.js b/ui/form/ListScrollForm.js
index daa640a..a06efda 100644
--- a/ui/form/ListScrollForm.js
+++ b/ui/form/ListScrollForm.js
@@ -106,10 +106,10 @@ module.exports = class ListScrollForm extends Form {
     this.fixLayout()
   }
 
-  firstInput() {
+  firstInput(...args) {
     this.scrollItems = 0
 
-    super.firstInput()
+    super.firstInput(...args)
   }
 
   getItemPos(item) {