Клуб API Карт

Ошибка в ToolBar.remove()

Пост в архиве.
API 2.0.9: Ошибка в методе ToolBar.remove(item) не даёт убрать элемент управления из панели.
Простейший пример по ссылке http://jsfiddle.net/DBkMe/

    remove: function (button) {
        delete this._childWidths[Id.get(child)];
        this._recalculateSize();
        ToolBar.superclass.remove.call(this, button);
    }

    remove: function (button) {
        delete this._childWidths[Id.get(button)];
        this._recalculateSize();
        ToolBar.superclass.remove.call(this, button);
    }
7 комментариев

Большое спасибо за репорт, обязательно починим в ближайшем релизе.

Вижу в 2.0.10 уже не успевали а вот сегодняшняя 2.0.11 уже содержит исправление. И заодно, тьфу-тьфу, пропало открытие/закрытие лист-бокса при добавлении на карту, очень позитивно.

Спасибо!
Эх, поторопился, лист-бокс при добавлении ведёт себя всё также.

П.С. А после официального анонса новой версии апи напишу какую ещё ошибку в той же самой функции не исправили :)

С листбоксом такая история - он должен при добавлении на карту посчитать свою ширину. Для этого приходится его открыть, чтобы постролись все дочерние объекты, и корректно рассчиталась ширина, а потом закрыть.

Почему-то мне кажется такой костыль можно было сделать чуть изящнее. Например, во время этого просчёта прятать элемент за картой через z-index и потом показывать или поиграть с opacity... Не знаю, должно что-то быть.

Да, тут вы правы, будем думать.

Спасибо за отлично оформленный тест-кейс.

Ваш баг-репорт можно всем ставить в пример =)