bricks-cli
Version:
Command line tool for developing ambitious ember.js apps
46 lines (39 loc) • 1.37 kB
JavaScript
var ScrollableTextPanel = require('./scrollable_text_panel')
var log = require('npmlog')
var Chars = require('../../chars')
var ErrorMessagesPanel = module.exports = ScrollableTextPanel.extend({
initialize: function(attrs){
this.updateVisibility()
this.on('change:text', function(self, text){
self.updateVisibility()
})
ScrollableTextPanel.prototype.initialize.call(this, attrs)
}
, updateVisibility: function(){
var text = this.get('text')
this.set('visible', !!text)
}
, render: function(){
var visible = this.get('visible')
if (!visible) return
ScrollableTextPanel.prototype.render.call(this)
// draw a box
var line = this.get('line')
var col = this.get('col') - 1
var width = this.get('width') + 1
var height = this.get('height') + 1
var screen = this.get('screen')
screen.foreground('red')
screen.position(col, line)
screen.write(Chars.topLeft + Array(width).join(Chars.horizontal) + Chars.topRight)
for (var l = line + 1; l < line + height; l++){
screen.position(col, l)
screen.write(Chars.vertical)
screen.position(col + width, l)
screen.write(Chars.vertical)
}
screen.position(col, line + height)
screen.write(Chars.bottomLeft + Array(width).join(Chars.horizontal) + Chars.bottomRight)
screen.display('reset')
}
})