Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 21.06.2015, 14:12
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

это устаревшая опция autoCreateViewport
вместо нее mainView надо юзать
Ответить с цитированием
  #22 (permalink)  
Старый 21.06.2015, 15:08
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Спасибо, буду дальше пример осиливать. Вот только как его маленьким сделать не знаю, тут по сути надо половину функционала в пример перенести, чтобы что-то походило на реальную ситуацию.

Как я понял, основная причина почему не работал пример, это отсутствие прокси с урлом в моделе. Я за основу взял https://fiddle.sencha.com/#fiddle/g56 чтобы смотреть как там сделано и повторять, но у них без прокси работает почему-то. (Ну да ладно, просто мысли в слух.)
Ответить с цитированием
  #23 (permalink)  
Старый 21.06.2015, 15:12
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Читал я в документации про это, но Sencha Cmd генерирует autoCreateViewport, хотя и взята последняя версия у меня. Пробовал переделать на mainView, но там как всегда непонятные ошибки лезут, поэтому оставил как робот сделал, а то и без этого с каждой ошибкой несколько дней на место топчусь.

Сообщение от khusamov Посмотреть сообщение
это устаревшая опция autoCreateViewport
вместо нее mainView надо юзать
Ответить с цитированием
  #24 (permalink)  
Старый 21.06.2015, 15:28
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Ясно. С mainView тогда позже разберемся. Мне тоже надо его внедрять скоро в проект. Руки еще не добрались.
Ответить с цитированием
  #25 (permalink)  
Старый 21.06.2015, 17:41
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сделал пример, массу всего пришлось нагородить, но все проблемы в файле 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: 'тут ид родителя таблицы, но как получить?'
            }
        });*/
    },
Ответить с цитированием
  #26 (permalink)  
Старый 21.06.2015, 17:42
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Ссылка: https://fiddle.sencha.com/#fiddle/p53
Ответить с цитированием
  #27 (permalink)  
Старый 21.06.2015, 19:03
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
Если делать все правильно, то вызов getStore() не понадобиться.

нужно переписать так:

{
        xtype: 'noteGrid',
        fieldLabel: 'Заметки:',
        viewModel: {
            type: 'order',
            stores: { notes: { type: "notes" } }
        },
        bind: {
            store: '{notes}'
        },
    }

Т.е. помимо определения стора в ViewModel, ещё надо его прописать при определении таблицы?

У меня у формы, содержащей таблицу, есть ViewModel. К которой, я предполагаю будет обращаться и вложенная таблица. Пробовал для вложенной таблицы делать свой ViewModel, но ничего не работало. Когда убрал ViewModel таблицы и стал обращаться к ViewModel формы, то вроде заработало.
[/quote]
Сообщение от khusamov Посмотреть сообщение
Автолоад нужен, но грид заметок должен создаваться ПОСЛЕ выбора ордера. После закрытия вкладки ордера грид должен уничтожаться (destroy). Тогда все встанет на свои места. Тогда и автолоад заработает как нужно. Такой вариант во многих примерах сенчи расписан. То есть щелкнули по ордеру - вкладка и грид в ней и вообще все создается на лету, а при закрытии вкладки - все уничтожается.
Я правильно понял, что вместо определения таблицы как в коде вверху, т.е., среди определения полей в разделе items формы, надо как-то по другому?

Получается нужно в функции initComponent самой формы, создавать вложенную таблицу и тогда автолоад заработает? Тогда по идее можно будет создать что-то вроде переменной во вложенной таблице, куда записать ИД, из создавшей её формы. Хотя попробовал в initComponent самой формы, получить её ИД, то тоже был null. В общем как всегда, непонятки и ошибки всякие.
Ответить с цитированием
  #28 (permalink)  
Старый 21.06.2015, 19:49
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Цитата:
Т.е. помимо определения стора в ViewModel, ещё надо его прописать при определении таблицы?
Что вы подразумеваете под определением?
Ответить с цитированием
  #29 (permalink)  
Старый 21.06.2015, 19:56
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

А что вообще должно получиться?
Я вижу пока грид с ордерами:

items:[{
            xtype: 'orderGroup',
            itemId: 'orderGroup_1',
            listeners: {
                vieworder: 'onCreateTab'
            }
        }]


Для чего нужна эта вкладка с таблицей ордеров?

Для чего нужен аккордион слева?

{
        xtype: 'panel',
        layout: {
            type: 'accordion',
            animate: true     
        },    
        collapsible: true,
        ...
    }


В общем нужно описание ФУНКЦИОНАЛЬНОСТИ вашего примера.

Последний раз редактировалось khusamov, 21.06.2015 в 20:06.
Ответить с цитированием
  #30 (permalink)  
Старый 21.06.2015, 20:46
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
Что вы подразумеваете под определением?
Вот определение стора в ViewModel:

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}'
        },
    }

Т.е. надо их так дублировать специально?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Dojo/store/Memory объект как store для DataGrid abstract Dojo toolkit 7 08.02.2013 17:12
Как получить данные из opener в open melihovgv Javascript под браузер 1 07.12.2012 10:36
как получить offsetHeight для элемента с display:none cyber Events/DOM/Window 4 01.06.2012 19:19
Данные из store не успевают попадать в chart kalya ExtJS 0 02.11.2011 14:14