Javascript.RU

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

Длинные имена классов видов диалогов... как сократить?
Вот такое у меня типичное имя класса вида:

Ews.office.view.element.sashAssemblyDiagramList.sa shAssemblyDiagramDialog.SashAssemblyDiagramDialog

И соответственно контроллер вида:

Ews.office.view.element.sashAssemblyDiagramList.sa shAssemblyDiagramDialog.SashAssemblyDiagramDialogC ontroller

Здесь Ews.office.view думаю всем понятно.

Далее element.sashAssemblyDiagramList это собственно имя вида.

И наконец sashAssemblyDiagramDialog.SashAssemblyDiagramDialo g это имя диалогового окна для этого вида. Так как вид это таблица с кнопками Добавить, Редактировать и Удалить. И нужен диалог для добавления и редактирования строк в таблице.

Вот как сократить это дело?

При чем xtype тоже нехилый выходит: xtype: "element-sashassemblydiagramlist-dialog"
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2017, 11:30
Новичок на форуме
Отправить личное сообщение для lamorez Посмотреть профиль Найти все сообщения от lamorez
 
Регистрация: 24.10.2017
Сообщений: 7

Может алиасы использовать?
Ext.define('Person.Panel', {
        alias: 'widget.personpanel',
        extend: 'Ext.panel.Panel',
        title: 'Персональная панель',
        html : 'Новая панель'
});


Ext.application({
    name: 'HelloExt',
    launch: function() {
        Ext.create('Ext.container.Viewport', {
            layout: 'fit',
            items: [
                {
                    xtype: 'personpanel'
                }]
        });
    }
});
Ответить с цитированием
  #3 (permalink)  
Старый 25.10.2017, 22:00
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

У меня уже и алиасы километровые.
Не понятно что с этим можно поделать.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2017, 10:59
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

расслабиться и жить с этим... в энтерпрайз проектах длинные имена это нормально
Ответить с цитированием
  #5 (permalink)  
Старый 27.10.2017, 12:31
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

А может, стараться избегать повторений в именах? Сделайте структуру типа такой:

[view]
-[element]
--[sashAssemblyDiagram]
---List.js
---ListController.js
---Dialog.js
---DialogController.js
Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2017, 12:39
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Можно и так. Правда когда откроешь несколько List.js из разных папок, то начинается путаница. Потому я их именую более длинно, но зато уникально.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #7 (permalink)  
Старый 31.10.2017, 13:41
Новичок на форуме
Отправить личное сообщение для lamorez Посмотреть профиль Найти все сообщения от lamorez
 
Регистрация: 24.10.2017
Сообщений: 7

Кстати, насчёт нескольких путающих List.js из разных папок, тоже замечал у нас эту проблему. Может действительно лучше использовать полные имена в Ext.Define()... Спасибо за идею.

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

я пока не знаю как меньше сделать. Проблема в том, что xtype должен быть уникальным не только в пределах вашего пакета или приложения, а также в пределах сторонних пакетов.

нужен xtype, который был бы уникальным в пределах директории. Это бы решило проблему
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #9 (permalink)  
Старый 31.10.2017, 16:59
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

А вам вообще нужен этот xtype? Если некий компонент не предусмотрен для реюза из разных частей приложения, то можно просто его создавать в конфиге.

...
controller: new MyController(),
viewModel: new MyModel(),
...


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

Вот именно, проблему это не решает. И запускать new на этапе создания классов чревато проблемами. Потому и необходим декларативный способ инстнацирования объектов, чтобы new запускался на этапе создания экземляров классов.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как можно сократить код? allanmiln Events/DOM/Window 2 08.02.2013 14:41
Как можно сократить такую строчку кода. saturn Элементы интерфейса 2 30.11.2011 21:03
Как изменять имена переменных циклом Ivan Draga Общие вопросы Javascript 5 21.01.2011 08:46
Как делать переменные имена свойств? khusamov Общие вопросы Javascript 2 04.08.2009 22:10