это устаревшая опция autoCreateViewport
вместо нее mainView надо юзать |
Спасибо, буду дальше пример осиливать. Вот только как его маленьким сделать не знаю, тут по сути надо половину функционала в пример перенести, чтобы что-то походило на реальную ситуацию.
Как я понял, основная причина почему не работал пример, это отсутствие прокси с урлом в моделе. Я за основу взял https://fiddle.sencha.com/#fiddle/g56 чтобы смотреть как там сделано и повторять, но у них без прокси работает почему-то. (Ну да ладно, просто мысли в слух.) |
Читал я в документации про это, но Sencha Cmd генерирует autoCreateViewport, хотя и взята последняя версия у меня. Пробовал переделать на mainView, но там как всегда непонятные ошибки лезут, поэтому оставил как робот сделал, а то и без этого с каждой ошибкой несколько дней на место топчусь. :)
Цитата:
|
Ясно. С mainView тогда позже разберемся. Мне тоже надо его внедрять скоро в проект. Руки еще не добрались.
|
Сделал пример, массу всего пришлось нагородить, но все проблемы в файле Note.js. В этом примере то что работает в реальном коде, здесь не работает, поэтому чтобы не было ошибки, закомментировал проблемный участок.
noteStore: null,
initComponent: function() {
this.callParent();
this.noteStore = Ext.getStore('Fiddle.store.NoteStore');
this.on('render', this.loadStore, this);
},
loadStore: function(grid) {
var formId = grid.up('orderEdit').getViewModel().data.singleOrder;
console.log('formId:', formId);
//console.log(':', grid.up('orderEdit').getViewModel().getData());
//console.log(grid.getStore());
/*this.noteStore.load({
scope: this,
params: {
orderid: 'тут ид родителя таблицы, но как получить?'
}
});*/
},
|
|
Цитата:
У меня у формы, содержащей таблицу, есть ViewModel. К которой, я предполагаю будет обращаться и вложенная таблица. Пробовал для вложенной таблицы делать свой ViewModel, но ничего не работало. Когда убрал ViewModel таблицы и стал обращаться к ViewModel формы, то вроде заработало. [/quote] Цитата:
Получается нужно в функции initComponent самой формы, создавать вложенную таблицу и тогда автолоад заработает? Тогда по идее можно будет создать что-то вроде переменной во вложенной таблице, куда записать ИД, из создавшей её формы. Хотя попробовал в initComponent самой формы, получить её ИД, то тоже был null. В общем как всегда, непонятки и ошибки всякие. :) |
Цитата:
|
А что вообще должно получиться?
Я вижу пока грид с ордерами:
items:[{
xtype: 'orderGroup',
itemId: 'orderGroup_1',
listeners: {
vieworder: 'onCreateTab'
}
}]
Для чего нужна эта вкладка с таблицей ордеров? Для чего нужен аккордион слева?
{
xtype: 'panel',
layout: {
type: 'accordion',
animate: true
},
collapsible: true,
...
}
В общем нужно описание ФУНКЦИОНАЛЬНОСТИ вашего примера. |
Цитата:
Ext.define('JournalApp.view.orders.OrderViewModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.order',
requires: [
'JournalApp.model.OrderModel',
//'JournalApp.model.NoteModel'
'JournalApp.store.NoteStore'
],
data: {
singleOrder: null
},
stores: {
notes: {
source: 'JournalApp.store.NoteStore',
}
}
});
Вот определение самой таблицы, где вы рекомендуете добавить ещё раздел стора:
{
xtype: 'noteGrid',
fieldLabel: 'Заметки:',
viewModel: {
type: 'order',
stores: { notes: { type: "notes" } }
},
bind: {
store: '{notes}'
},
}
Т.е. надо их так дублировать специально? |
| Часовой пояс GMT +3, время: 09:34. |