« get me outta code hell

use ESM module syntax & minor cleanups - 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/ConfirmDialog.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-05-12 17:42:09 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-05-13 12:48:36 -0300
commit6ea74c268a12325296a1d2e7fc31b02030ddb8bc (patch)
tree5da94d93acb64e7ab650d240d6cb23c659ad02ca /ui/form/ConfirmDialog.js
parente783bcf8522fa68e6b221afd18469c3c265b1bb7 (diff)
use ESM module syntax & minor cleanups
The biggest change here is moving various element classes under
more scope-specific directories, which helps to avoid circular
dependencies and is just cleaner to navigate and expand in the
future.

Otherwise this is a largely uncritical port to ESM module syntax!
There are probably a number of changes and other cleanups that
remain much needed.

Whenever I make changes to tui-lib it's hard to believe it's
already been <INSERT COUNTING NUMBER HERE> years since the
previous time. First commits are from January 2017, and the
code originates a month earlier in KAaRMNoD!
Diffstat (limited to 'ui/form/ConfirmDialog.js')
-rw-r--r--ui/form/ConfirmDialog.js79
1 files changed, 0 insertions, 79 deletions
diff --git a/ui/form/ConfirmDialog.js b/ui/form/ConfirmDialog.js
deleted file mode 100644
index 230230d..0000000
--- a/ui/form/ConfirmDialog.js
+++ /dev/null
@@ -1,79 +0,0 @@
-const telc = require('../../util/telchars')
-
-const FocusElement = require('./FocusElement')
-
-const Button = require('./Button')
-const Form = require('./Form')
-const Label = require('../Label')
-const Pane = require('../Pane')
-
-module.exports = class ConfirmDialog extends FocusElement {
-  // A basic yes/no dialog. Has two buttons, confirm/cancel, and a label.
-  // The escape (esc) key can be used to exit the dialog (which sends a
-  // 'cancelled' event, as the cancel button also does).
-
-  constructor(text) {
-    super()
-
-    this.pane = new Pane()
-    this.addChild(this.pane)
-
-    this.form = new Form()
-    this.pane.addChild(this.form)
-
-    this.confirmBtn = new Button('Confirm')
-    this.form.addInput(this.confirmBtn)
-
-    this.cancelBtn = new Button('Cancel')
-    this.form.addInput(this.cancelBtn)
-
-    this.label = new Label(text)
-    this.form.addChild(this.label)
-
-    this.initEventListeners()
-  }
-
-  initEventListeners() {
-    this.confirmBtn.on('pressed', () => this.confirmPressed())
-    this.cancelBtn.on('pressed', () => this.cancelPressed())
-  }
-
-  fixLayout() {
-    this.w = this.parent.contentW
-    this.h = this.parent.contentH
-
-    this.pane.w = Math.max(40, 2 + this.label.w)
-    this.pane.h = 7
-    this.pane.centerInParent()
-
-    this.form.w = this.pane.contentW
-    this.form.h = this.pane.contentH
-
-    this.label.x = Math.floor((this.form.contentW - this.label.w) / 2)
-    this.label.y = 1
-
-    this.confirmBtn.x = 1
-    this.confirmBtn.y = this.form.contentH - 2
-
-    this.cancelBtn.x = this.form.right - this.cancelBtn.w - 1
-    this.cancelBtn.y = this.form.contentH - 2
-  }
-
-  selected() {
-    this.root.select(this.form)
-  }
-
-  keyPressed(keyBuf) {
-    if (telc.isCancel(keyBuf)) {
-      this.emit('cancelled')
-    }
-  }
-
-  confirmPressed() {
-    this.emit('confirmed')
-  }
-
-  cancelPressed() {
-    this.emit('cancelled')
-  }
-}