Javascript.RU

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

Цитата:
Получается, что мне надо получить все заметки для всех ордеров, как происходит сейчас, но добавить к полям заметок ещё ИД их родителя, т.е. ордера, к которому относятся заметки. А уже в самой таблице, каким-то образом показывать заметки, только для ордера, который открыт в текущей закладке.
Мало чего понял, но этого точно делать не надо.

Нужно следовать следующему алгоритму:

Когда делаем даблклик по ордеру должны создаваться: вкладка, форма, хранилище для заметок данного ордера. При создании в экстра-параметрах нужно указывать номер ордера, чтобы в хранилище попали именно его заметки.

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

Цитата:
Для того что я хотел изначально, в ExtJS получается нужно создать отдельный стор с заметками для каждого ордера, т.е. если у меня 100 ордеров, то должно быть создано 100 уникальных сторов с заметками. Не знаю, насколько это правильно с точки зрения ExtJS.
Ага, так и нужно делать. Расход памяти не особо сильно увеличивается, но удобства явные.
Ответить с цитированием
  #63 (permalink)  
Старый 22.06.2015, 17:09
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Цитата:
Кстати, придумал как передать в таблицу заметок ИД ордера, т.е. добавил в bind переменную с ИД, во время создания таблицы.
Не так надо. Есть более простой способ. Прямо в экстра-парамс хранилища. Потом расскажу как сделать.
Ответить с цитированием
  #64 (permalink)  
Старый 22.06.2015, 17:10
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Цитата:
Правда получение этой перемененной внутри таблицы получается каким-то уродским:
this.getView().bind.data.lastValue.orderId
нужно так:

this.getView().getViewModel().get("orderId")


или так, если находимся в контроллере (или внутри вида)

this.getViewModel().get("orderId")
Ответить с цитированием
  #65 (permalink)  
Старый 22.06.2015, 21:10
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
Мало чего понял, но этого точно делать не надо.

Нужно следовать следующему алгоритму:

Когда делаем даблклик по ордеру должны создаваться: вкладка, форма, хранилище для заметок данного ордера. При создании в экстра-параметрах нужно указывать номер ордера, чтобы в хранилище попали именно его заметки.

И все будет работать. Можно так открывать сколько угодно ордеров.
Ну вот, а я только расслабился. А есть где-нибудь пример описанного алгоритма, а то я вроде делаю так как вижу во всех примерах, но ничего подобного не получается? А сам сообразить не могу.
Ответить с цитированием
  #66 (permalink)  
Старый 22.06.2015, 21:13
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
Ага, так и нужно делать. Расход памяти не особо сильно увеличивается, но удобства явные.
Но как это сделать не представляю. У меня все сторы глобальные. Скажу даже больше, если я их не объявлю в файле Application.js, то всегда лезет ошибка.

Ext.define('JournalApp.Application', {
    extend: 'Ext.app.Application',
    
    name: 'JournalApp',

    stores: [
        // TODO: add global / shared stores here
        'JournalApp.store.StrategyStore',
        'JournalApp.store.NoteStore',
        'JournalApp.store.OrderStore'
    ],
    
    launch: function () {
        // TODO - Launch the application
    }
});
Ответить с цитированием
  #67 (permalink)  
Старый 22.06.2015, 21:26
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
нужно так:

this.getView().getViewModel().get("orderId")


или так, если находимся в контроллере (или внутри вида)

this.getViewModel().get("orderId")
У меня не заработало, выдает null в обоих вариантах. Думаю потому что ViewModel нету у таблицы заметок. А тем способом что я сделал, получилось что ИД забиндинлся в сам view таблицы. Я этот переданный ИД даже нашел в параметре html: "<div orderId="118"></div>" если через консоль, смотрю на console.log(this.getView());

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

Цитата:
Но как это сделать не представляю. У меня все сторы глобальные. Скажу даже больше, если я их не объявлю в файле Application.js, то всегда лезет ошибка.
Хранилища вы верно прописали в приложении. Хотя не нужно там полное имя класса писать, можно только последнюю часть.

Но потом их надо подключать по алиасам.
Ответить с цитированием
  #69 (permalink)  
Старый 23.06.2015, 12:33
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
Хранилища вы верно прописали в приложении. Хотя не нужно там полное имя класса писать, можно только последнюю часть.

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

Забивайте стрелку в тимвивере+скайпе на завтра. Мне было бы удобнее после 15:00 мск. Логин в скайпе khusamov
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для 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