Javascript.RU

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

Цитата:
Вот определение стора в ViewModel:
ну да, в этом случае нужно столько раз определять store, сколько нужно. А вот класс для store нужен один.

Цитата:
Т.е. надо их так дублировать специально?
ну да, определение класса один раз, а вот на местах создавать через алиас: { type: "алиас" }
Ответить с цитированием
  #32 (permalink)  
Старый 21.06.2015, 20:54
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
А что вообще должно получиться?
Я вижу пока грид с ордерами:
Для чего нужна эта вкладка с таблицей ордеров?

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

В общем нужно описание ФУНКЦИОНАЛЬНОСТИ вашего примера.
А ну да, забыл описать что надо делать.

В таблице ордеров щелкаем два раза на строке, чтобы её отредактировать. В результате чего откроется закладка с формой для редактирования этого ордера. Для каждого ордера создается своя закладка.

Далее уже начинается проблема этой темы. Открывается закладка с формой, внутри которой будет таблица заметок,которая должна знать ИД ордера и самостоятельно обращаться с сервером.

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

У вас два файла: orders.json и notes.json
я так понимаю notes это подчиненная таблица, но тогда где в ней внешний ключ? например orderId
Ответить с цитированием
  #34 (permalink)  
Старый 21.06.2015, 21:07
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Цитата:
Аккордеон это хвосты, которые остались и я не смог его выпилить из примера, ошибки всякие начинают как всегда лезти, поэтому оставил как есть. Не обращайте на него внимание. Тут самое главное открытие формы редактирования ордера.
в файле Main.js я удалил строки 14-32 и все работает. Зато нет лишнего кода.
Ответить с цитированием
  #35 (permalink)  
Старый 21.06.2015, 21:28
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
У вас два файла: orders.json и notes.json
я так понимаю notes это подчиненная таблица, но тогда где в ней внешний ключ? например orderId
Внешний ключ типа на сервере, а это результат. Внешний ключ будет в урде находиться. Т.е. при загрузке формы, таблица заметок отправляет запрос на сервер с ИД в урле и получает файл notes.json. Я так понимаю ИД внутри самих данных не нужен, т.к. данные всегда будет только для одного ордера, никогда не должно, чтобы при запросе таблицы ордера 1, возвращались заметки ордера 2 или 3.

В примере по сути это не важно. Нужно чтобы таблица заметок загрузилась данными из notes.json, пусть пока будет одно и то же. Ну и как-то получить ИД формы, владеющей этой таблицей.

orders.json и notes.json получаются с сервера независимо и не знают друг о друге, их связывает только то что один из ИД из orders.json, после загрузке в браузер должен быть известен перед отправкой запроса о получении notes.json.

Я не знаю как в песочнице урлы с параметрами формировать и отслеживать, поэтому хотя бы увидеть ИД в консоли и загрузить таблицу заметок при открытии закладки с ордером.
Ответить с цитированием
  #36 (permalink)  
Старый 21.06.2015, 21:30
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

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

1) У вас два вида: Таблица Ордеров и Просмотр Ордера

И для обоих видов вы используете одну и ту же модель вида: order

А по правильному нужно на каждый вид свою модель сделать.

2) Именования нужно привести в порядок. Я уже запарился открывать файлы - каждый раз приходится думать какой файл что хранит в себе.

Например для вида нужно три файла:

Вид.js
ВидModel.js
ВидController.js

где Вид это имя вида

Далее, алиас должен соответствовать имени класса. Например у вас:

есть xtype: 'orderGroup' ему соответствует класс Fiddle.view.OrderGrid

в итоге, я смотрю на orderGroup и ищу аналогичный класс, например Fiddle.view.OrderGroup. Экономьте время на подобные поиски.

Итого примерно вот что должно получиться:

view
 - order
     - Order.js
     - OrderModel.js
     - OrderController.js
 - orders
     - Orders.js
     - OrdersModel.js
     - OrdersController.js
 - notes
     - Notes.js
     - NotesModel.js
     - NotesController.js


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

Дальше, у вас один store определен. А их ведь два должно!

Сделайте два класса хранилища

Notes.js
Orders.js

и для каждого алиасы notes n orders соответственно

И после этого, в моделях видов можно прописывать {type:"алиас хранилища"}
Ответить с цитированием
  #39 (permalink)  
Старый 21.06.2015, 21:36
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Можно конечно, насколько я понимаю сделать что-то вроде один ко многим и гонять заметки вместе с ордером, но у меня подобного таблице заметок будет ещё 3 штуки.

Получается ордер создается и заполняется. На этом всё. Больше он мало вероятно будет редактироваться, а вот заметки и ещё 3 подобные таблицы будут добавляться и редактироваться. Они будет состоять из 1-2 полей, а сам ордер из 20. Поэтому хочу сделать независимое обращение к сервера ордера и вложенных в него таблиц.
Ответить с цитированием
  #40 (permalink)  
Старый 21.06.2015, 21:36
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Когда вы это сделаете - вы значительно упростите свой код
станет проще в нем что либо искать при анализе
возможно ошибки все исчезнут сами собой - такое тоже иногда бывает
Ответить с цитированием
Ответ



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

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


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