Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.12.2016, 00:41
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Связать меню с плавающим окном
Всем привет!

Хочется связать bind_ом статус элемента меню disabled с наличием/отсутствием плавающего окна. Условно говоря, пока окно существует - disabled: true, как отсутствует - disabled: false. Подскажите как это выглядит в современных технологиях и где про это почитать (ну кроме мануала, где я про viewModel почитал, но понял не сильно много... :-)
Ответить с цитированием
  #2 (permalink)  
Старый 16.12.2016, 11:16
Аватар для Bologercs
Интересующийся
Отправить личное сообщение для Bologercs Посмотреть профиль Найти все сообщения от Bologercs
 
Регистрация: 03.11.2013
Сообщений: 13

Сообщение от AirGraph Посмотреть сообщение
Всем привет!

Хочется связать bind_ом статус элемента меню disabled с наличием/отсутствием плавающего окна. Условно говоря, пока окно существует - disabled: true, как отсутствует - disabled: false. Подскажите как это выглядит в современных технологиях и где про это почитать (ну кроме мануала, где я про viewModel почитал, но понял не сильно много... :-)
Каким биндом? Где пример кода? Скрин?
Ответить с цитированием
  #3 (permalink)  
Старый 16.12.2016, 11:39
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

А если окно сделать модальным? Тогда и байнд не нужен, и так все задизейблится.
Ответить с цитированием
  #4 (permalink)  
Старый 16.12.2016, 12:00
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Не хочется вообще ничего модального...
Как-то оно моей молодостью и MS DOS_ом попахивает... :-)
Ответить с цитированием
  #5 (permalink)  
Старый 16.12.2016, 12:12
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Blogercs:

Биндом вот таким:

bind: { disabled: '{somethingVerySpecial}'}

Пример кода чего? Меню? Вот:

http://docs.sencha.com/extjs/6.2.1/c....html#cfg-menu

Пример кода окна:

http://docs.sencha.com/extjs/6.2.1/c...ow.Window.html
Ответить с цитированием
  #6 (permalink)  
Старый 16.12.2016, 14:07
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Читаем вот тут:

https://docs.sencha.com/extjs/6.2.1/...a_binding.html

под заголовком Binding and Component State:

When a component is assigned a reference to identify it, that component will publish some of its key properties in the ViewModel.

Вроде все понятно, только пара вопросов:

1. А floating компоненты публикуют свои свойства?
2. А что произойдет, когда мы сошлемся на свойство плавающего компонента, которого (пока или уже) нет?

Могу спросить иначе: как я должен обновлять данные ViewModel при создании и удалении плавающих компонентов?
Ответить с цитированием
  #7 (permalink)  
Старый 16.12.2016, 14:55
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Они то публикуют, вот только делают это в свою вьюмодель. Что произойдет? Ну тут ответ сложный, от "ничего" до "ничего хорошего". Если вас модальное окно смущает то тогда перед его открытием отключайте меню своим кодом, после закрытия же назад включайте. Связывание тут не шибко хорошая идея.
Ответить с цитированием
  #8 (permalink)  
Старый 16.12.2016, 15:51
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Сообщение от Infarch Посмотреть сообщение
Они то публикуют, вот только делают это в свою вьюмодель.
А вот это удивительно! В какую в свою? Вот у меня есть приложение, у него есть Main (в качестве MainView), есть MainController и MainModel. Вот в этом самом MainView у меня есть где-то там тулбар с меню, в котором я сказал viewModel: {type: 'main'} и есть плавающее окно, в котором я это повторил. Получается я концептуально где-то неправ? Я пытался при создании и удалении окна изменять data в MainModel, а в формулах модели создал функцию, возвращающую необходимую часть data. И уже в bind, в меню, сослался на эту формулу. И ничего не работает... Получается, что я чего-то важного не понимаю. :-)
Сообщение от Infarch Посмотреть сообщение
Что произойдет? Ну тут ответ сложный, от "ничего" до "ничего хорошего". Если вас модальное окно смущает то тогда перед его открытием отключайте меню своим кодом, после закрытия же назад включайте. Связывание тут не шибко хорошая идея.
Ну это как-бы не интересно вовсе, хочется иной подход.

Спасибо за пояснения!

Последний раз редактировалось AirGraph, 16.12.2016 в 16:05.
Ответить с цитированием
  #9 (permalink)  
Старый 16.12.2016, 16:04
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Изобразите пример в фидле. Так сложно рассуждать, без кода под рукой.
Ответить с цитированием
  #10 (permalink)  
Старый 18.12.2016, 22:47
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Концептуально был неправ. Разобрался. Сделал одну ViewModel на все приложение. В частности, Bind_ом гораздо удобнее отключать и включать меню, чем своим кодом, как мне показалось.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
связать input с меню Tanusha Элементы интерфейса 2 26.05.2015 14:30
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36