Показать сообщение отдельно
  #12 (permalink)  
Старый 09.01.2017, 23:29
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Sogl,

Прошу прощения, был в отпуске, а потом закрутился. Надеюсь, что ещё не поздно.

Если я правильно понял ваше последнее сообщение, то вам нужно закрыть маской всю TabPanel изначально, до момента, пока не выбрана запись в Grid с левой стороны. В таком случае, почему бы не использовать привязку (binding) к выбранной записи в 1-м Grid, точно так же, как вы делаете во втором Grid? У каждого компонента есть метод setLoading, так что можно сделать вот такую привязку:

bind: {
    loading: '{!customerGrid.selection.orders}'
}


Это не решит вопрос с изначальным маскированием TabPanel, т.к. bindings стреляют только в момент обновления. Для этого как раз подойдёт событие boxready на самой TabPanel:

listeners: {
    boxready: function(panel) {
        panel.setLoading({ useMsg: false });
    }
}


Я подправил и сохранил ваш fiddle, можете посмотреть вживую. Если что-то работает не так, как надо, уточните задачу.
Ответить с цитированием