это устаревшая опция 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, время: 17:46. |