Рассортировал файлы по папочкам в примере, но возможно он и не понадобиться для текущих моих проблем.
https://fiddle.sencha.com/#fiddle/p53
Т.к. возникли проблемы с загрузкой данных, автономной и вложенной в форму таблицы, то решил попробовать сделать пока добавление и удаление строк этой таблицы и у меня кажется возникло просветление, а может наоборот ещё сильнее в заблуждение погрузился. : )
Только сейчас осознал, что мой стор для автономной таблицы заметок, является глобальным и поэтому он грузиться при автолоаде сразу при создании приложения. Я последил за другими таблицами и получается, что при старте приложения, грузятся сторы, а затем происходят обмены с сервером, только конкретными записями (строками), а весь стор больше не разу не грузиться полностью, как при автолоаде.
Получается что даже если я смогу при load() отправлять ИД ордера, для которого надо получить заметки, то стор заметок будет обновляться и там будут данные только для одного текущего ордера, а если у меня их открыто несколько, то они будет иметь одни и те же заметки, т.к. стор содержит заметки только для одного ордера. И стор будет заменяться при каждом load(). А это не то что нужно.
Получается, что мне надо получить все заметки для всех ордеров, как происходит сейчас, но добавить к полям заметок ещё ИД их родителя, т.е. ордера, к которому относятся заметки. А уже в самой таблице, каким-то образом показывать заметки, только для ордера, который открыт в текущей закладке.
Для того что я хотел изначально, в ExtJS получается нужно создать отдельный стор с заметками для каждого ордера, т.е. если у меня 100 ордеров, то должно быть создано 100 уникальных сторов с заметками. Не знаю, насколько это правильно с точки зрения ExtJS.
Кстати, придумал как передать в таблицу заметок ИД ордера, т.е. добавил в bind переменную с ИД, во время создания таблицы.
{
xtype: 'noteGrid',
fieldLabel: 'Заметки:',
bind: {
data: {
orderId: '{singleOrder.id}'
}
},
}
Правда получение этой перемененной внутри таблицы получается каким-то уродским:
this.getView().bind.data.lastValue.orderId
Похоже теперь надо добавить ИД ордера в json с заметками и придумать как выводить в таблице только нужные заметки.