Recalculate $resizable offset when positioning resize label

Because it can change. Currently the resize label is not
positioned correctly if you use three of four resize handles.

Change-Id: I1a28bc57fda1097c94047fd7690ad8d403cdd478
This commit is contained in:
Ed Sanders 2013-10-22 21:01:17 +01:00 committed by Catrope
parent 760ef37e2b
commit 1efa327121

View file

@ -82,21 +82,24 @@ ve.ce.ResizableNode.prototype.updateSizeLabel = function ( dimensions ) {
if ( !this.$sizeLabel ) {
return;
}
var node, top, height;
var offset, node, top, height;
if ( dimensions ) {
offset = ve.Element.getRelativePosition(
this.$resizable, this.getRoot().getSurface().getSurface().$
);
// Things get a bit tight below 100px, so put the label on the outside
if ( dimensions.width < 100 ) {
top = dimensions.top + dimensions.height;
top = offset.top + dimensions.height;
height = 30;
} else {
top = dimensions.top;
top = offset.top;
height = dimensions.height;
}
this.$sizeLabel
.addClass( 've-ce-resizableNode-sizeLabel-resizing' )
.css( {
'top': top,
'left': dimensions.left,
'left': offset.left,
'width': dimensions.width,
'height': height,
'lineHeight': height + 'px'