From 6ea74c268a12325296a1d2e7fc31b02030ddb8bc Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 12 May 2023 17:42:09 -0300 Subject: 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 years since the previous time. First commits are from January 2017, and the code originates a month earlier in KAaRMNoD! --- ui/form/Button.js | 51 --------------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 ui/form/Button.js (limited to 'ui/form/Button.js') diff --git a/ui/form/Button.js b/ui/form/Button.js deleted file mode 100644 index 46329a6..0000000 --- a/ui/form/Button.js +++ /dev/null @@ -1,51 +0,0 @@ -const ansi = require('../../util/ansi') -const telc = require('../../util/telchars') - -const FocusElement = require('./FocusElement') - -module.exports = class Button extends FocusElement { - // A button. - - constructor(text) { - super() - - this.text = text - - this.cursorX = null - this.cursorY = null - } - - fixLayout() { - this.w = ansi.measureColumns(this.text) - this.h = 1 - } - - drawTo(writable) { - if (this.isSelected) { - writable.write(ansi.invert()) - } - - writable.write(ansi.moveCursor(this.absTop, this.absLeft)) - writable.write(this.text) - - writable.write(ansi.resetAttributes()) - - super.drawTo(writable) - } - - keyPressed(keyBuf) { - if (telc.isSelect(keyBuf)) { - this.emit('pressed') - } - } - - clicked(button) { - if (button === 'left') { - if (this.isSelected) { - this.emit('pressed') - } else { - this.root.select(this) - } - } - } -} -- cgit 1.3.0-6-gf8a5