« 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/FocusElement.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/form/FocusElement.js')
-rw-r--r--ui/form/FocusElement.js11
1 files changed, 5 insertions, 6 deletions
diff --git a/ui/form/FocusElement.js b/ui/form/FocusElement.js
index 79a8afc..9061838 100644
--- a/ui/form/FocusElement.js
+++ b/ui/form/FocusElement.js
@@ -9,20 +9,14 @@ module.exports = class FocusElement extends DisplayElement {
     this.cursorVisible = false
     this.cursorX = 0
     this.cursorY = 0
-
-    this.isFocused = false
   }
 
   focused() {
     // Should be overridden in subclasses.
-
-    this.isFocused = true
   }
 
   unfocused() {
     // Should be overridden in subclasses.
-
-    this.isFocused = false
   }
 
   get selectable() {
@@ -41,6 +35,11 @@ module.exports = class FocusElement extends DisplayElement {
     // http://stackoverflow.com/a/11432632/4633828
   }
 
+  get isSelected() {
+    const selected = this.root.selected
+    return selected && [selected, ...selected.directAncestors].includes(this)
+  }
+
   get absCursorX() { return this.absX + this.cursorX }
   get absCursorY() { return this.absY + this.cursorY }
 }