Я не уверен, что именно вы пытаетесь достичь с помощью этого кода. Я создал js fiddle , который демонстрирует панель "изменяемого размера" (с анимированным переходом), это код, который я получаю в итоге:
new Ext.Panel({
title: 'Resize me',
x: 100,
y: 100,
renderTo: Ext.getBody(),
floating: true,
frame: true,
width: 400,
height: 200,
listeners: {
render: function(p) {
new Ext.Resizable(p.getEl(), {
animate: true,
duration: '.6',
easing: 'backIn',
handles: 'all',
pinned: false,
transparent: true,
resizeElement: function() {
var box = this.proxy.getBox();
if (this.updateBox) {
this.el.setBox(
box, false, this.animate, this.duration, function() {
p.updateBox(box);
if (p.layout) {
p.doLayout();
}
}, this.easing);
} else {
this.el.setSize(
box.width, box.height, this.animate, this.duration, function() {
p.updateBox(box);
if (p.layout) {
p.doLayout();
}
}, this.easing);
}
this.updateChildSize();
if (!this.dynamic) {
this.proxy.hide();
}
if (this.draggable && this.constrainTo) {
this.dd.resetConstraints();
this.dd.constrainTo(this.constrainTo);
}
return box;
}
});
}
}
});
Вам не нужно рассчитывать положение панели после изменения размера, но если вам действительно нужна эта информация для вашего пользовательского кода приложения, вы можете использовать переменную box внутри функции resizeElement
.