powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript Frameworks && Business applications
25 сообщений из 26, страница 1 из 2
JavaScript Frameworks && Business applications
    #38527982
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоит задача реализовать single-page бизнес-приложение. Есть опыт разработки на ExtJS. В нем все устраивает, практически, все (за исключением пары-тройки ньюансов). Но ЭстЪ один довольно-таки довольно существенный недостаток - медлительность. Понятное дело - всяческие-разные обзоры/сравнялки читал. Но хотелось бы услышать, так сказать, мнение от людей действительно реализовавших/реализующих реальные бизнес-приложения. В общем: хочется что-то наподобие ExtJS'а, но пошустрее (понятное дело часть плюшек идет лесом в угоду скорости).
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38528038
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делал одно и то же реальное single-page бизнес-приложение на Ext и jEasyUI, Ext оказался гораздо быстрее, и неудобств неотзывчивостью не доставил.

Как-то я не прочувствовал его медлительность. Либо это зависит от того, с чем сравнивать, либо важную роль играет архитектура интерфейса.
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38528065
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 16.01.2014 11:35 am, Antonariy wrote:
> либо важную роль играет архитектура интерфейса.

Да... Человек был разбалован/извращен DevExpress'ом в десктопном приложении и всячески пытался перетащить/заставить реализовать все 1:1... Я, конечно, отбивался изо всех сил, но в некоторых случаях так зажали пальцы в двери, что пришлось реализовать... Может это и поспособствовало тормознутости... Но, все равно, хотелось бы, все-таки, услышать альтернативные варианты...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38528156
Dmitry Eliseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YUI ?
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38528160
Dmitry Eliseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+ можно реюзать код для десктопного приложения, чтобы было 100% 1 в 1
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38528205
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 16.01.2014 12:29 pm, Dmitry Eliseev wrote:
> YUI
Пробовали... Слишком низкоуровнево... Хотелось бы не опускаться... Просто тупо гнать функционал не отвлекаясь на остальное...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38528206
Dmitry Eliseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_SoftOn 16.01.2014 12:29 pm, Dmitry Eliseev wrote:
> YUI
Пробовали... Слишком низкоуровнево... Хотелось бы не опускаться... Просто тупо гнать функционал не отвлекаясь на остальное...
_________________
"Helo, word!" - 17 errors 56 warnings

Странно. Что там низкоуровнего ?
Если своих виджетов писать не нужно, то пишется только бизнес-логика...
Может не то пробовали ?
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38563846
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 01/16/2014 12:53 PM, Dmitry Eliseev wrote:
> Если своих виджетов писать не нужно, то пишется только бизнес-логика...
> Может не то пробовали ?
Пробовали это

Обратили свой взор на Kendo . На первый взгляд - все круть. Но, что насторожило: все examples/demo - пендюльки/пиптики only. Чего-то цельного/монолитного а-ля такое - не обнаружили. Во-вторых: насторожило наличие присутствия контента в <body>. Они что за нас "...пальцы загибать не будут..." ( c )? Кто-нить работал с сим "...чудом враждебной техники..."? Можете дать объективную оценку? Тынць на какое-нить цельное приложение - крайне пприветствуется.
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38563971
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft Во-вторых: насторожило наличие присутствия контента в <body>. Они что за нас "...пальцы загибать не будут..."Ну так и в Ext никто за нас пальцы не загибает. Прототип интерфейса в виде json/js или в виде html — разница небольшая, причем в пользу html. В кендо html-прототип находится в естественной среде обитания, что позволяет удобно им манипулировать, а Ext, если хочешь индивидуальности побольше, чем предлагают стандартные виджеты и темы, может потребовать вкорячивания кусков текстов разметки в поля объектов. Впрочем, и там есть какой-то template.
Но вот такие крипторасширения html мне не нравятся: <span data-bind="text: cart.contentsCount">. Всегда можно обойтись без них.
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38564169
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 18.02.2014 8:58 am, Antonariy wrote:
> Ну так и в Ext никто за нас пальцы не загибает. Прототип интерфейса в виде json/js или в виде html — разница небольшая, причем в пользу html. В кендо html-прототип находится в естественной среде обитания, что позволяет удобно им манипулировать, а Ext, если хочешь индивидуальности побольше, чем предлагают стандартные виджеты и темы, может потребовать вкорячивания кусков текстов разметки в поля объектов. Впрочем, и там есть какой-то template.
> Но вот такие крипторасширения html мне не нравятся: <span data-bind="text: cart.contentsCount">. Всегда можно обойтись без них.
Ну что вам сказать... У меня всегда в Ext'ах <body> было девственно пусто ;) Индивидуальность - нафик не нужна (бабе Вале с Хацапетовки она "...и даром не нать!.." (c)). Все д.б. по военному просто. Переносим WinApp в вэб. А юзание html'я, опять же в контексте Ext'ов, для меня выглядит как юзание ассемблерных вставок в плюсах. "...Было время - был я молод..." тоже таким грешил ;) Но по большому счету "...для форсу бандитского...", а не по нагальній надобности... Вот отсюда и мое недоумение... Типо ж Kendo позиционируется как полноценный фреймворк, а тут - просто набор рюшечек... Шо попало, одним словом... Или я еще не научился их готовить... Ссылочка на нормальное бизнес-приложение на Kendo - было бы очень кстати...

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38564274
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft а тут - просто набор рюшечек... Шо попало, одним словом...Кендо сделано на jquery, а jquery это как раз инструмент для управления рюшечками :) Основная стратегия его применения — натравить на существующую разметку и дать ей джазу. Мало шансов, что какой-нибудь jquery-фреймворк сможет избежать инерции такой стратегии. Если хочется кендо и пустое body, то каркас приложения, генерящий разметку под кендовкие виджеты, придется прогать самостоятельно. Я так делал при использовании jEasy UI:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
class BTDesktop {

    Windows: DWindow[];
    Container: string;
    modalCount: number;

    constructor (Container: string) {
        this.Container = Container;
        this.Windows = [];
        this.modalCount = 0;
    }

    private countModal(): number {
        var notAll: boolean;
        for (var x = 0; x < this.Windows.length; x++)if (!this.Windows[x].closed && !this.Windows[x].isTab) notAll = true;
        if (!notAll) this.modalCount = 0;
        return this.modalCount;
    }

    private getFreeIndex() {
        for (var x = 0; x < this.Windows.length; x++) if (this.Windows[x].closed) return x;
        return -1;
    }

    private cleanup(mWindow:DWindow): void {
        mWindow.closed = true;
        mWindow.grid = null;
        mWindow.opener = null;
        mWindow.options = null;
        mWindow.url = null;
        mWindow.xhr = null;
        mWindow.dataGrids = [];
        for (var x in mWindow.ckeditors) mWindow.ckeditors[x].ckeditorGet().destroy(true);
        for (var x in mWindow.menudivs) mWindow.menudivs[x].remove();
        mWindow.ckeditors = [];
        mWindow.menudivs = [];
        mWindow.subdataToolButtons = [];
        mWindow.toolbarFunc = [];
        mWindow.formTabs = [];
        mWindow.selectors = new Object();
        mWindow.container = null;
        mWindow.controls = null;
        mWindow.toolbox = null;
        mWindow.activeDataIndex = -1;
    }
    
    private createWindow(url: string, opener:DWindow, callback) {
        var mDesk: BTDesktop = this;
        var mWindow: DWindow, lIndex: number = this.getFreeIndex();
        if (lIndex < 0) {
            mWindow = new DWindow();
            mWindow.index = this.Windows.length;
            this.Windows.push(mWindow);
        } else {
            mWindow = this.Windows[lIndex]
        }
        mWindow.xhr = GetAjax(url, function (opts: Response) {
            mWindow.url = url;
            mWindow.closed = false;
            mWindow.opener = opener;
            mWindow.options = opts;
            mWindow.toolbox =$("<div class='div_toolbar'/>");
            mWindow.container = $("<div class='div_data'/>").attr("windowIndex",mWindow.index);
            mWindow.controls = $("<div class='div_controls'/>");
            mWindow.controls.append(createButton({
                iconCls: 'icon-cancel', text: app_ru.close,
                onclick: function () { mWindow.close() } 
            }, "linkbutton"));
            callback(mWindow, opts);
        });
    }

    private createDialog(url: string, opener: DWindow, callback) {
        var mDesk: BTDesktop = this;
        this.modalCount++;
        this.createWindow(url, opener, function (mWindow:DWindow, opts:Response) {
            mWindow.isTab = false;
            mWindow.controls.addClass("dlg");
            mWindow.container.addClass("dlg");
            mWindow.toolbox.addClass("dlg");
            mWindow.viewport = $("<div/>").append(
                mWindow.toolbox).append(
                mWindow.container).append(
                mWindow.controls).dialog({
                    width: opts.dialogWidth?opts.dialogWidth:screen.availWidth*2/3,
                    height: opts.dialogHeight?opts.dialogHeight:768,
                    title: opts.dialogTitle,
                    modal: true,
                    collapsible: false,
                    maximizable: false,
                    minimizable: false,
                    onClose: function () {
                        mDesk.cleanup(mWindow);
                        mWindow.viewport.parent().next().remove();
                        mWindow.viewport.parent().next().remove();
                        mWindow.viewport.parent().remove();
                    }
            }).attr("idValue", opts.idValue);
            callback(mWindow, opts);
            mWindow.ckeditors = createNewControls(mWindow.btn_save,mWindow.container);
        });
    }

    private createTab(url: string, opener: DWindow, callback) {
        var mDesk: BTDesktop = this, $tabs = $("#tt");
        for (var x = 0; x < this.Windows.length; x++) {
            var mWin = this.Windows[x];
            if (!mWin.closed && mWin.url == url) {
                var tabs = $tabs.tabs("tabs");
                for (var i = 0; i < tabs.length; i++) {
                    if (tabs[i].attr("id") == mWin.container.attr("id")) {
                        $tabs.tabs("select",i);
                        return
                    }
                }
                return;
            }
        }
        this.createWindow(url, opener, function (mWindow:DWindow, opts:Response) {
            mWindow.isTab = true;
            mWindow.container.attr("id", createId(opts, "list"));
            var tabIndex = $tabs.tabs("tabs").length, rs = opts.rowset;
            var sTitle = opts.dialogTitle ? (opts.dialogTitle + app_ru.longDash) : "";
            var pkValue = rs.rows.length > 0 ? parseInt(rs.rows[0][Sys(opts.webitem).PrimaryKey]) : null;
            var objName = rs.rows.length > 0 ? (rs.rows[0][opts.nameField] || rs.rows[0].Name) : null;
            objName = objName && (objName.Name || objName);
            objName = objName ? (app_ru.lQuote + (objName.length <= 25 ? objName : objName.substr(0, 10) + " ... " + objName.substr(objName.length - 10, 10)) + app_ru.rQuote) : "<без имени>";
            $tabs.tabs("add", {
                closable: true,
                title: (opts.wcecommand=="PAGE"||opts.wcecommand=="FIND"||opts.wcecommand=="GOTO")?
                    opts.dialogTitle : (sTitle + (rs.total ? (pkValue ? objName : app_ru.newRecord) : app_ru.newRecord)),
                id: mWindow.container.attr("id")
            });
            mWindow.viewport= $("#" + mWindow.container.attr("id"), $tabs);
            mWindow.viewport.append(mWindow.toolbox).append(mWindow.container).append(mWindow.controls);
            //mWindow.container = $("#" + mWindow.container.attr("id"),$tabs);
            var $pan = $tabs.tabs("getTab", tabIndex);
            var pOpts = $pan.panel("options");
            pOpts.onBeforeDestroy = function () { mDesk.cleanup(mWindow); return true; }
            $pan.panel("options", pOpts);
            var $btn_save = callback(mWindow, opts);
            mWindow.ckeditors = createNewControls($btn_save);
        });
    }
        
    createFormTab(url: string, opener: DWindow) {
        if(this.countModal()>0)return;
        this.createTab(url, opener, function (mWindow: DWindow, opts: Response) { 
            return mWindow.createForm(opts);
        })
    }
    
    createListTab(url: string, opener: DWindow) {
        if(this.countModal()>0)return;
        this.createTab(url, opener, function (mWindow: DWindow, opts: Response) {
            mWindow.createList(opts);
        });
    }

    createFormDialog(url: string, opener: DWindow): void {
        this.createDialog(url, opener, function (mWindow: DWindow, opts: Response) { 
            return mWindow.createForm(opts);
        })
    }

    createListDialog(url: string, opener: DWindow) {
        this.createDialog(url, opener, function (mWindow: DWindow, opts: Response) {
            mWindow.createList(opts);
        });
    }
    
    createListSelector(url: string, opener: DWindow, targetField:any) {
        if (!targetField) {
            alert(app_ru.noTargetField + opener.options.webitem);
            return
        }
        this.createDialog(url, opener, function (mWindow: DWindow, opts: Response) {
            mWindow.createSelector(opts, targetField);
        });
    }

    createMultiSelector(url: string, opener: DWindow) {
        this.createDialog(url, opener, function (mWindow: DWindow, opts: Response) {
            mWindow.createMultiSelector(opts);
        });
    }
}

Desktop = new BTDesktop("desktop");

Это примерно 25% "фреймворка".
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38564405
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 18.02.2014 11:32 am, Antonariy wrote:
> Если хочется кендо и пустое body, то каркас приложения, генерящий разметку под кендовкие виджеты, придется прогать самостоятельно.
Я так начинаю подозревать, что такое только Ext'ы и умеют...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38564595
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_SoftЯ так начинаю подозревать, что такое только Ext'ы и умеют...Начинается все с лейаута.

Вот как только это написал, сразу вспомнил: в dhtmlx лейаут а-ля экстовский, и он может все то же, что и Ext. 1я демка , .

Плохая новость: body не пустой.
Хорошая новость: там лишь <script src="..."/>, а не куски разметки.
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38564605
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От dhtmlx я отказался из-за упоротого формата json, который потребляют гриды и деревья, ему нельзя просто сделать в линке from v in db.Table select v.Field1, v.Field2 и сериализовать.
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38564651
DAA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAA
Гость
Ex_Soft, я не знаю, конечно, как у Вас собрано приложение на ExtJS, но очень часто разработчики выполнив разработку в development mode, ее же и запускают для production. Отсюда и ужасная тормознутость. Правильно собранная production версия грузится и работает очень даже шустро.
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38565329
Dmitry Eliseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,

Странно. Использую в своих проектах и с низкоуровневостью сталкиваться не приходилось.
И для одностраничных приложений в том числе. + там есть FRP .
Просто "нужно уметь его готовить" (с).

Поначалу, да, выносит мозг. Зато потом...
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38565363
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry EliseevEx_Soft,

Странно. Использую в своих проектах и с низкоуровневостью сталкиваться не приходилось.
И для одностраничных приложений в том числе.Этот пример тоже "низкоуровневый" — в нем есть скрипт-темплейты. Вот как выглядит идеальное приложение по мнению ТС (ссылка в body не в счет):
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>ExtTop - Desktop Sample App</title>
    <link rel="stylesheet" type="text/css" href="css/desktop.css" />
    <script type="text/javascript" src="../../examples/shared/include-ext.js"></script>
    <script type="text/javascript" src="../../examples/shared/options-toolbar.js"></script>
    <script type="text/javascript">
        Ext.Loader.setPath({
            'Ext.ux.desktop': 'js',
            MyDesktop: ''
        });

        Ext.require('MyDesktop.App');

        var myDesktopApp;
        Ext.onReady(function () {
            myDesktopApp = new MyDesktop.App();
        });
    </script>
</head>
<body>
    <a href="http://www.sencha.com" target="_blank" alt="Powered by Ext JS" id="poweredby"><div></div></a>
</body>
</html>
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38565460
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_SoftСтоит задача реализовать single-page бизнес-приложение. Есть опыт разработки на ExtJS. В нем все устраивает, практически, все (за исключением пары-тройки ньюансов). Но ЭстЪ один довольно-таки довольно существенный недостаток - медлительность. Понятное дело - всяческие-разные обзоры/сравнялки читал. Но хотелось бы услышать, так сказать, мнение от людей действительно реализовавших/реализующих реальные бизнес-приложения. В общем: хочется что-то наподобие ExtJS'а, но пошустрее (понятное дело часть плюшек идет лесом в угоду скорости).
_________________
"Helo, word!" - 17 errors 56 warnings
похожэ на фееричный высер
пиши на чистом. чо
кнокдаун тоже в помощь
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38565463
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу. кнокаут
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38565485
Dmitry Eliseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Никто не мешает вам не использовать темплейты в коде. Тем более что YUI умеет запрашивать темплейты с сервера в виде отдельных компонент. У меня в приложении body выглядит следующим образом:
Код: html
1.
2.
3.
<body class="yui-skin-sam">
   <div id="#app"></div>
</body>
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38565898
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 19.02.2014 7:56 am, ILLHEAD wrote:
> похожэ на фееричный высер
И что же с ваших высот здесь фееричного и в чем высер?

> пиши на чистом. чо
что Вы подразумеваете под "пиши на чистом"?

> кнокдаун тоже в помощь
Посмотрел - по сравнению с Ext'ами "слабое подобие левой руки", IMHO...

On 19.02.2014 1:14 am, Antonariy wrote:
> Вот как выглядит идеальное приложение по мнению ТС (ссылка в body не в счет)
Абсолютно в дырочку ;) Я действительно не хочу заморачиваться с html/css. Хочу, к примеру, сказать в JS'е: "Роди окно с гридом" и все. А как оно будет рожаться - не колышет. У меня и без этого забот хватает...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38566020
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_Soft,

офф
У тебя за окном людей убивают, а ты здесь про какие-то фреймворки пишешь.
Не комильфо, однако.
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38566068
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_SoftOn 19.02.2014 7:56 am, ILLHEAD wrote:
> похожэ на фееричный высер
И что же с ваших высот здесь фееричного и в чем высер?

> пиши на чистом. чо
что Вы подразумеваете под "пиши на чистом"?

> кнокдаун тоже в помощь
Посмотрел - по сравнению с Ext'ами "слабое подобие левой руки", IMHO...

On 19.02.2014 1:14 am, Antonariy wrote:
> Вот как выглядит идеальное приложение по мнению ТС (ссылка в body не в счет)
Абсолютно в дырочку ;) Я действительно не хочу заморачиваться с html/css. Хочу, к примеру, сказать в JS'е: "Роди окно с гридом" и все. А как оно будет рожаться - не колышет. У меня и без этого забот хватает...
_________________
"Helo, word!" - 17 errors 56 warnings
фееричность в недовольстве вполне нормальными продуктами
то что вы хотите - из области фантастики. или если сумели сформулировать недовольство то и реализуйте фикс

на чистом - вы про скорость что то говорили

кнок - не левая рука, а правое полушарие, которое отвечает за понимание. а не слепое джсон портирование данных
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38566124
ILLHEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по кноку могу прилепить книжку тут. не совсем легконаходима. фришная
...
Рейтинг: 0 / 0
JavaScript Frameworks && Business applications
    #38566171
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ILLHEADто что вы хотите - из области фантастики
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
Ext.define('Catalogue.Form', {
        extend: 'IForm',
        xtype: 'frmCatalogue',
        items: [
            {
                xtype: 'fieldcontainer',
                fieldLabel: 'ID',
                layout: 'hbox',
                defaults: { flex: 1, hideLabel: true },
                items: [
                    {
                        name: 'CatalogueID',
                        xtype: 'textfield',
                        disabled: true,
                        width: 70
                    }, {
                        xtype: 'button',
                        text: "...",
                        handler: function () {
                            window.open(urlViewCatalogue + this.up().up().idValue)
                        }
                    }
                ]
            },

            {
                xtype: "fieldcontainer",
                fieldLabel: 'Родительская ветка',
                layout: 'hbox',
                items: [
                    {
                        xtype: 'hidden',
                        name: 'RefID'
                    },
                    {
                        xtype: 'textfield',
                        name: 'RefName',
                        disabled: true,
                        width: 470
                    },
                    {
                        xtype: 'button',
                        text: "...",
                        handler: function () {
                            var frm = this.up().up();

// Роди окно с гридом, быстро, решительно!!!!111111

                            var dlg = Ext.create('Catalogue.dlgSelector', {
                                treeStore: frm.callerStore,
                                idField: findField("RefID", frm),
                                nameField: findField("RefName", frm),
                                nameSource: "Name"
                            });
                            dlg.show('Да, мой повелитель!');
                        }
                    }
                ]
            },
            {
                xtype: "fieldcontainer",
                fieldLabel: "Классификатор",
                layout: "hbox",
                items: [
                    {
                        name: 'ClassificatorID',
                        xtype: 'classificatorCombo',
                        width: 140
                    },
                    {
                        fieldLabel: 'Код',
                        name: 'Code',
                        xtype: 'textfield',
                        labelAlign: 'right',
                        labelWidth: 60,
                        width: 200
                    }
                ]
            },
            {
                fieldLabel: 'Название',
                name: 'Name',
                width: 800
            },
            {
                fieldLabel: 'Аббревиатура',
                name: 'Abbr'
            },
            {
                fieldLabel: 'Описание',
                name: 'Description',
                xtype: 'textareafield',
                width: 800
            },
            {
                fieldLabel: 'Публиковать',
                name: 'Publish',
                xtype: 'checkbox',
                inputValue: 'true'
            },
            {
                fieldLabel: 'Комментарии',
                name: 'Comments',
                xtype: 'textareafield',
                width: 800
            }
        ]
    })
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript Frameworks && Business applications
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]