diff options
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 |
commit | 6ea74c268a12325296a1d2e7fc31b02030ddb8bc (patch) | |
tree | 5da94d93acb64e7ab650d240d6cb23c659ad02ca /ui/Label.js | |
parent | e783bcf8522fa68e6b221afd18469c3c265b1bb7 (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/Label.js')
-rw-r--r-- | ui/Label.js | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/ui/Label.js b/ui/Label.js deleted file mode 100644 index f2cd405..0000000 --- a/ui/Label.js +++ /dev/null @@ -1,52 +0,0 @@ -const ansi = require('../util/ansi') - -const DisplayElement = require('./DisplayElement') - -module.exports = class Label extends DisplayElement { - // A simple text display. Automatically adjusts size to fit text. - - constructor(text = '') { - super() - - this.text = text - this.textAttributes = [] - } - - fixLayout() { - this.w = ansi.measureColumns(this.text) - } - - drawTo(writable) { - if (this.textAttributes.length) { - writable.write(ansi.setAttributes(this.textAttributes)) - } - - this.writeTextTo(writable) - - if (this.textAttributes.length) { - writable.write(ansi.resetAttributes()) - } - - super.drawTo(writable) - } - - writeTextTo(writable) { - writable.write(ansi.moveCursor(this.absTop, this.absLeft)) - writable.write(this.text) - } - - set text(newText) { - const ret = this.setDep('text', newText) - this.fixLayout() - return ret - } - - get text() { - return this.getDep('text') - } - - // Kinda bad, but works as long as you're overwriting the array instead of - // mutating it. - set textAttributes(val) { return this.setDep('textAttributes', val) } - get textAttributes() { return this.getDep('textAttributes') } -} |