« get me outta code hell

Pass false to firstInput to not select the form if it wasn't already selected - 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:
authorFlorrie <towerofnix@gmail.com>2018-01-19 09:29:57 -0400
committerFlorrie <towerofnix@gmail.com>2018-01-19 09:29:57 -0400
commit6ee1936266dda3bd22e4412a7b51cdc6e3c396d5 (patch)
tree8b07b4ed2d6ebab22814c792c4e1c6e29249498f /ui/form
parent159c042e3cddf1f585812840b4189295f2e5ebba (diff)
Pass false to firstInput to not select the form if it wasn't already selected
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) {