Fixed the vc item redimension when it has a label

This commit is contained in:
Alejandro Gallardo Escobar 2019-06-24 18:24:01 +02:00
parent b6f10f89d0
commit bc84ad4e5e
3 changed files with 21 additions and 4 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -265,12 +265,10 @@ abstract class VisualConsoleItem<Props extends ItemProps> {
case "up": case "up":
case "down": case "down":
height -= labelHeight; height -= labelHeight;
if (width < labelWidth) width = labelWidth;
break; break;
case "left": case "left":
case "right": case "right":
width -= labelWidth; width -= labelWidth;
if (height < labelHeight) height = labelHeight;
break; break;
} }
} }
@ -739,6 +737,25 @@ abstract class VisualConsoleItem<Props extends ItemProps> {
// The most valuable size is the content size. // The most valuable size is the content size.
this.childElementRef.style.width = width > 0 ? `${width}px` : null; this.childElementRef.style.width = width > 0 ? `${width}px` : null;
this.childElementRef.style.height = height > 0 ? `${height}px` : null; this.childElementRef.style.height = height > 0 ? `${height}px` : null;
if (this.props.label && this.props.label.length > 0) {
// Ugly table to show the label as its legacy counterpart.
const tables = this.labelElementRef.getElementsByTagName("table");
const table = tables.length > 0 ? tables.item(0) : null;
if (table) {
switch (this.props.labelPosition) {
case "up":
case "down":
table.style.width = width > 0 ? `${width}px` : null;
break;
case "left":
case "right":
table.style.height = height > 0 ? `${height}px` : null;
break;
}
}
}
} }
/** /**