mirror of
https://github.com/embarklabs/neo-blessed.git
synced 2025-01-09 10:42:02 +00:00
allow 0-width 0-height elements. see slap-editor/slap#153.
This commit is contained in:
parent
3f8ed04898
commit
f37a619cc6
@ -2821,6 +2821,8 @@ Element.prototype.__defineGetter__('visible', function() {
|
|||||||
do {
|
do {
|
||||||
if (el.detached) return false;
|
if (el.detached) return false;
|
||||||
if (el.hidden) return false;
|
if (el.hidden) return false;
|
||||||
|
// if (!el.lpos) return false;
|
||||||
|
// if (el.position.width === 0 || el.position.height === 0) return false;
|
||||||
} while (el = el.parent);
|
} while (el = el.parent);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
@ -3154,7 +3156,7 @@ Element.prototype._getPos = function() {
|
|||||||
|
|
||||||
Element.prototype._getWidth = function(get) {
|
Element.prototype._getWidth = function(get) {
|
||||||
var parent = get ? this.parent._getPos() : this.parent
|
var parent = get ? this.parent._getPos() : this.parent
|
||||||
, width = this.position.width || 0
|
, width = this.position.width
|
||||||
, left
|
, left
|
||||||
, expr;
|
, expr;
|
||||||
|
|
||||||
@ -3174,7 +3176,7 @@ Element.prototype._getWidth = function(get) {
|
|||||||
// the content width, and the content width is initially
|
// the content width, and the content width is initially
|
||||||
// decided by the width the element, so it needs to be
|
// decided by the width the element, so it needs to be
|
||||||
// calculated here.
|
// calculated here.
|
||||||
if (!width) {
|
if (width == null) {
|
||||||
left = this.position.left || 0;
|
left = this.position.left || 0;
|
||||||
if (typeof left === 'string') {
|
if (typeof left === 'string') {
|
||||||
if (left === 'center') left = '50%';
|
if (left === 'center') left = '50%';
|
||||||
@ -3203,7 +3205,7 @@ Element.prototype.__defineGetter__('width', function() {
|
|||||||
|
|
||||||
Element.prototype._getHeight = function(get) {
|
Element.prototype._getHeight = function(get) {
|
||||||
var parent = get ? this.parent._getPos() : this.parent
|
var parent = get ? this.parent._getPos() : this.parent
|
||||||
, height = this.position.height || 0
|
, height = this.position.height
|
||||||
, top
|
, top
|
||||||
, expr;
|
, expr;
|
||||||
|
|
||||||
@ -3223,7 +3225,7 @@ Element.prototype._getHeight = function(get) {
|
|||||||
// the content width, and the content width is initially
|
// the content width, and the content width is initially
|
||||||
// decided by the width the element, so it needs to be
|
// decided by the width the element, so it needs to be
|
||||||
// calculated here.
|
// calculated here.
|
||||||
if (!height) {
|
if (height == null) {
|
||||||
top = this.position.top || 0;
|
top = this.position.top || 0;
|
||||||
if (typeof top === 'string') {
|
if (typeof top === 'string') {
|
||||||
if (top === 'center') top = '50%';
|
if (top === 'center') top = '50%';
|
||||||
@ -3950,6 +3952,16 @@ Element.prototype.render = function() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (coords.xl - coords.xi <= 0) {
|
||||||
|
coords.xl = Math.max(coords.xl, coords.xi);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (coords.yl - coords.yi <= 0) {
|
||||||
|
coords.yl = Math.max(coords.yl, coords.yi);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var lines = this.screen.lines
|
var lines = this.screen.lines
|
||||||
, xi = coords.xi
|
, xi = coords.xi
|
||||||
, xl = coords.xl
|
, xl = coords.xl
|
||||||
|
@ -175,6 +175,33 @@ var stext = blessed.scrollabletext({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
stext.width = 0;
|
||||||
|
screen.render();
|
||||||
|
setTimeout(function() {
|
||||||
|
stext.width = '50%';
|
||||||
|
screen.render();
|
||||||
|
setTimeout(function() {
|
||||||
|
stext.height = 0;
|
||||||
|
screen.render();
|
||||||
|
setTimeout(function() {
|
||||||
|
stext.height = 6;
|
||||||
|
screen.render();
|
||||||
|
setTimeout(function() {
|
||||||
|
stext.width = 0;
|
||||||
|
stext.height = 0;
|
||||||
|
screen.render();
|
||||||
|
setTimeout(function() {
|
||||||
|
stext.width = '50%';
|
||||||
|
stext.height = 6;
|
||||||
|
screen.render();
|
||||||
|
}, 1000);
|
||||||
|
}, 1000);
|
||||||
|
}, 1000);
|
||||||
|
}, 1000);
|
||||||
|
}, 1000);
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
screen.append(stext);
|
screen.append(stext);
|
||||||
stext.on('keypress', function(ch, key) {
|
stext.on('keypress', function(ch, key) {
|
||||||
if (key.name === 'up' || key.name === 'k') {
|
if (key.name === 'up' || key.name === 'k') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user