Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Кнопки удаляются, а bind остается (https://javascript.ru/forum/extjs/63815-knopki-udalyayutsya-bind-ostaetsya.html)

snnwolf 01.07.2016 12:12

Кнопки удаляются, а bind остается
 
Есть панелька с тулбаром и гридом внутри.
https://gist.github.com/snnwolf/1079...001d3e23cd9474

Эта панелька динамическая, обновляется после выбора пункта из дерева уровнем выше. Набор кнопок может быть разные в зависимости от выбранного меню. Поэтому сделали просто: удалили всё в тулбаре, удалили грид. Создали всё новое.
Кнопки по задаче не активны, а становятся таковыми при выборе хотя бы одной записи в гриде, срабатывает `onOpenRepresentation`.
Сделал через bind
inwork: {
                xtype: 'button',
                id: 'inwork',
                text: 'В работу',
                bind: {
                    disabled: '{!countSelected}'
                }
            }


Сценарий такой:
  1. выбираю из меню п1, получаю грид с кнопками
  2. выбираю в гриде строчку, кноки - активны
  3. выбираю в меню п2, получаю ошибку
    Код:

    Uncaught TypeError: Cannot read property 'addCls' of null

Раскопки в коде показали, что после удаления всех кнопок, бинд к ним остается.
tbar = this.lookupReference('tickets-top-toolbar');
tbar.removeAll();

Подскажите, плз, как с этим бороться? Это бага extjs или просто обычные кривые ручки?
Пытался ставить параметр `countSelected = 0` как до очистки тулбара, так и после.

nohuhu 01.07.2016 21:46

Похоже на баг, сделайте Fiddle пожалуйста.

snnwolf 06.07.2016 11:44

Цитата:

Сообщение от nohuhu (Сообщение 421084)
Похоже на баг, сделайте Fiddle пожалуйста.

Вот, накорябал: https://fiddle.sencha.com/#fiddle/1d4t

- выделяем строку в гриде
- жмем кнопку "refresh"
- выбираем другую строку или кликаем по выбранной (в devTools ошибка)
- жмём "refresh" ещё раз → кнопки пропадают совсем

или
- жмем "refresh"
- выбираем строку в гриде (ошибка в devtools)
- "refresh" кнопки исчезли

Ошибка проявилась на версии 6.0.1.
Снял скринкаст, на всякий, http://take.ms/tvWzm

Попробовал в фидле запустить на 6.0.2 - работает... вот жеж...
Не в курсе, где можно взять gpl-версию? На офф. сайте дают ссылку только 6.0.1 :-?

nohuhu 06.07.2016 18:19

Значит, пофиксили уже. В GPL доступна только 6.0.1, и скорее всего будет GPL 6.2. Можете попробовать бету (6.2 EA).

snnwolf 14.07.2016 17:04

Цитата:

Сообщение от nohuhu (Сообщение 421437)
Значит, пофиксили уже. В GPL доступна только 6.0.1, и скорее всего будет GPL 6.2. Можете попробовать бету (6.2 EA).

А можно пруф? А то на офф. сайте только старые дают скачивать :(

nohuhu 15.07.2016 16:19

Не совсем понимаю, подтверждение чего вы хотите. Версия 6.2 EA вышла уже месяц назад: https://www.sencha.com/forum/showthr...-Now-Available

Предрелизные версии никогда не бывают доступны в GPL, поэтому в боевых сборках использовать их нельзя. Но в тестовых и для разработки можно сколько угодно, беты для этого и предназначены.

Будет ли 6.2 GA доступна в GPL я не знаю, такие вопросы от меня не зависят. Обычно минорные версии выходят под обеими лицензиями, так что скорее всего будет.

snnwolf 19.07.2016 11:54

Цитата:

Сообщение от nohuhu (Сообщение 422160)
Не совсем понимаю, подтверждение чего вы хотите. Версия 6.2 EA вышла уже месяц назад: https://www.sencha.com/forum/showthr...-Now-Available

Спасибо огромное за наводку!


Часовой пояс GMT +3, время: 05:09.