PATH:
usr
/
local
/
lib
/
node_modules
/
pm2
/
node_modules
/
blessed
/
lib
/
widgets
/** * log.js - log element for blessed * Copyright (c) 2013-2015, Christopher Jeffrey and contributors (MIT License). * https://github.com/chjj/blessed */ /** * Modules */ var util = require('util'); var nextTick = global.setImmediate || process.nextTick.bind(process); var Node = require('./node'); var ScrollableText = require('./scrollabletext'); /** * Log */ function Log(options) { var self = this; if (!(this instanceof Node)) { return new Log(options); } options = options || {}; ScrollableText.call(this, options); this.scrollback = options.scrollback != null ? options.scrollback : Infinity; this.scrollOnInput = options.scrollOnInput; this.on('set content', function() { if (!self._userScrolled || self.scrollOnInput) { nextTick(function() { self.setScrollPerc(100); self._userScrolled = false; self.screen.render(); }); } }); } Log.prototype.__proto__ = ScrollableText.prototype; Log.prototype.type = 'log'; Log.prototype.log = Log.prototype.add = function() { var args = Array.prototype.slice.call(arguments); if (typeof args[0] === 'object') { args[0] = util.inspect(args[0], true, 20, true); } var text = util.format.apply(util, args); this.emit('log', text); var ret = this.pushLine(text); if (this._clines.fake.length > this.scrollback) { this.shiftLine(0, (this.scrollback / 3) | 0); } return ret; }; Log.prototype._scroll = Log.prototype.scroll; Log.prototype.scroll = function(offset, always) { if (offset === 0) return this._scroll(offset, always); this._userScrolled = true; var ret = this._scroll(offset, always); if (this.getScrollPerc() === 100) { this._userScrolled = false; } return ret; }; /** * Expose */ module.exports = Log;
[-] radioset.js
[edit]
[-] screen.js
[edit]
[-] box.js
[edit]
[-] question.js
[edit]
[-] textbox.js
[edit]
[-] terminal.js
[edit]
[-] line.js
[edit]
[-] textarea.js
[edit]
[+]
..
[-] text.js
[edit]
[-] button.js
[edit]
[-] filemanager.js
[edit]
[-] input.js
[edit]
[-] progressbar.js
[edit]
[-] layout.js
[edit]
[-] checkbox.js
[edit]
[-] list.js
[edit]
[-] prompt.js
[edit]
[-] video.js
[edit]
[-] scrollablebox.js
[edit]
[-] bigtext.js
[edit]
[-] message.js
[edit]
[-] loading.js
[edit]
[-] listbar.js
[edit]
[-] form.js
[edit]
[-] table.js
[edit]
[-] scrollabletext.js
[edit]
[-] image.js
[edit]
[-] node.js
[edit]
[-] element.js
[edit]
[-] log.js
[edit]
[-] ansiimage.js
[edit]
[-] radiobutton.js
[edit]
[-] overlayimage.js
[edit]
[-] listtable.js
[edit]