Dojox FloatingPane растет каждый раз, когда я обновляю контент - PullRequest
1 голос
/ 28 сентября 2011

Я создал простой виджет картирования, используя Dojo и Google Maps. Карта отображается в dijit.layout.ContentPane, установленном в качестве центральной панели dijit.layout.BorderContainer (который имеет поле адреса и BusyButton на верхней панели); BorderContainer, в свою очередь, обернут в dojox.layout.FloatingPane. Виджет имеет подписку на тему, которая будет вызывать обновление отображения карты при предоставлении новых данных адреса. Функция обновления очень проста и выглядит следующим образом:

_updateAddress: function(data) {
    this.addressMapper.show();

    if (data === null || !data.address || data.address === "" ) {
        this.address.attr("value", "");
    } else {
        this.address.attr("value", data.address);
    }

    this.mapBtn.makeBusy();
    this._getMap();
}

Каждый раз, когда я вызываю эту функцию, метод resize () FloatingPane вызывается, когда я вызываю show (), и он увеличивает высоту и ширину BorderContainer на 12 пикселей каждый раз, когда отображается панель (даже с doLayout и isLayoutContainer) установить в false на FloatingPane). Кажется, я не могу предотвратить это или исправить после этого, что бы я ни пытался.

У кого-нибудь есть идеи, как это исправить?

Заранее спасибо!

- Джо М -

...