ScreenParser is now standalone…-able!

pull/1/head
cpsdqs 7 years ago
parent 32c6246c10
commit a5aa536f89
Signed by untrusted user: cpsdqs
GPG Key ID: 3F59586BB7448DD1
  1. 6
      js/term/screen.js
  2. 18
      js/term/screen_parser.js

@ -13,7 +13,7 @@ module.exports = class TermScreen extends EventEmitter {
this.canvas = mk('canvas') this.canvas = mk('canvas')
this.ctx = this.canvas.getContext('2d') this.ctx = this.canvas.getContext('2d')
this.parser = new ScreenParser(this) this.parser = new ScreenParser()
this.renderer = new ScreenRenderer(this) this.renderer = new ScreenRenderer(this)
// debug screen handle // debug screen handle
@ -737,6 +737,10 @@ module.exports = class TermScreen extends EventEmitter {
this.emit('TEMP:hide-load-failed-msg') this.emit('TEMP:hide-load-failed-msg')
break break
case 'notification':
this.showNotification(update.content)
break
default: default:
console.log('Unhandled update', update) console.log('Unhandled update', update)
} }

@ -52,17 +52,7 @@ const OPT_REVERSE_VIDEO = (1 << 14)
/* eslint-enable no-multi-spaces */ /* eslint-enable no-multi-spaces */
module.exports = class ScreenParser { module.exports = class ScreenParser {
constructor (screen) { constructor () {
// this.screen = screen
let didWarn = false
Object.defineProperty(this, 'screen', {
get () {
if (!didWarn) console.warn('Deprecated get ScreenParser#screen')
didWarn = true
return screen
}
})
// true if full content was loaded // true if full content was loaded
this.contentLoaded = false this.contentLoaded = false
} }
@ -361,8 +351,10 @@ module.exports = class ScreenParser {
break break
case 'G': case 'G':
this.screen.showNotification(content) return [{
break topic: 'notification',
content
}]
default: default:
console.warn(`Bad data message type; ignoring.\n${JSON.stringify(message)}`) console.warn(`Bad data message type; ignoring.\n${JSON.stringify(message)}`)

Loading…
Cancel
Save