Форум → Программирование → JavaScript → ExtJS. За и против
ExtJS. За и против
Страницы: ← Предыдущая страница • Следующая страница →
-
4 марта 2010 г. 15:31, спустя 18 минут 36 секунд
в смысле стартап? все получится, но сейчас я занят сильно.
план таков: 1) я допиливаю велосипедные библиотеки, пишу ман к ним, выкладываю на суд общественности. 2) перевожу нынешнюю говнокмс на них и внедряю в нее экст. -
4 марта 2010 г. 15:33, спустя 1 минуту 49 секунд
Абырвалг, 3) удаляю нахуй все и работаю дальше как обычный человек за зарплату и имея план рабочийСпустя 8 сек.я бы начал с 3)Сапожник без сапог -
4 марта 2010 г. 15:43, спустя 9 минут 50 секунд
В смысле, как сделать две панели и больше ничего … )))))))))
в смысле стартап? -
4 марта 2010 г. 15:57, спустя 13 минут 48 секунд
phpdude, одно другому не мешает.
я на этой говнокмс сделал 6 сайтов ужеСпустя 14 сек.типа фрилансСпустя 156 сек.AlexB, на mytrouble.ru сейчас каждую неделю добавляют статейки про экст для начинающих -
5 марта 2010 г. 19:26, спустя 1 день 3 часа 29 минут
Ну что же, мне стартап не подкинули, тогда подкидываю я его. ))))
Вот что удалось наковырять за сегодняшний день.
Итак, каркас простейшего приложения по типу КМС: Сверху - меню. Две панели. Слева - разные фильтры, формы и прочее. Справа - собственно данные.
<html>
<head>
<title>Application</title>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script src="extjs/adapter/ext/ext-base.js"></script>
<script src="extjs/ext-all-debug.js"></script>
</head>
<body>
<script type="text/javascript">
Ext.onReady(function()
{
// Типа создали каркас приложения с двумя панелями и меню
var menu = new Ext.Toolbar
({
items:
[{
xtype: 'tbbutton',
text: 'Menu Button',
menu:
[
{text: 'One'},
{text: 'Two'},
{text: 'Three'}
]
}]
});
var toppanel = new Ext.Panel ({ region: 'north', height: 30, collapsible: false, split: false, items: [menu] });
var leftpanel = new Ext.Panel ({ region: 'west', width: 300, collapsible: true, split: true, frame: true });
var rightpanel = new Ext.Panel ({ region: 'center', title: 'title', collapsible: false, frame: true });
var container = new Ext.Viewport
({
layout: 'border',
items: [toppanel, leftpanel, rightpanel]
});
// А теперь зафигачим формочку в левую панель
var form = new Ext.FormPanel
({
items:
[
{ xtype: 'textfield', fieldLabel: 'Value' },
{ xtype: 'textfield', fieldLabel: 'Value2' }
],
buttons:
[
{ text: 'Search' }
],
buttonAlign: 'left'
});
leftpanel.add(form);
leftpanel.doLayout();
// А теперь grid в правую
var myData =
[
['Title1', 1, 555], ['Title2', 2, 666]
];
var store = new Ext.data.SimpleStore
({
fields:
[
{ name: 'title' },
{ name: 'value', type: 'int' },
{ name: 'id', type: 'int'}
]
});
store.loadData(myData);
var grid = new Ext.grid.GridPanel
({
store: store,
columns:
[
{ header: "Title", id: 'title', dataIndex: 'title', sortable: true },
{ header: "Value", id: 'value', dataIndex: 'value', sortable: true },
{ id: 'id', dataIndex: 'id', renderer: function(val) { return '<a href="#" onclick="EditItem(' + val + ');">Редактировать</a>'; }}
],
stripeRows: false,
autoExpandColumn: 'value',
autoWidth: true,
height: rightpanel.getInnerHeight(),
autoScroll: true,
forceLayout: true
});
rightpanel.add(grid);
rightpanel.doLayout();
// Перерисовываем грид, если изменился размер правой панели
rightpanel.on
(
'resize', function(e) { grid.setSize(rightpanel.getInnerWidth(), rightpanel.getInnerHeight()); }
);
});
function EditItem(val)
{
alert(val);
}
</script>
</body>
</html>
Спустя 259 сек.Что пока не понравилось. Рядом с каждой записью предполагается сделать кнопку реактировать. Стандартных средств для этого не нашел.
Только запись в колумсах:
{ id: 'id', dataIndex: 'id', renderer: function(val) { return '<a href="#" onclick="EditItem(' + val + ');">Редактировать</a>'; }
Это мне не нравится, ибо смысл данной либы вижу в том, чтоб вообще не писать никакого html, а только пользоваться готовыми JS компонентами. Это необходимо для стандартизации интерфейсов, надоела ситуация, когда группа разработчиков пишет кто в лес, кто по дрова.
Какие будут соображения? -
5 марта 2010 г. 19:24, спустя 23 часа 57 минут 22 секунды
Какие будут соображения?
расширить базовый функицонал экста, чтобы он принимал наши объекты и писал из них хтмл, тогда всех программистам можно дать по топору и сказать где рубить :)Сапожник без сапог -
5 марта 2010 г. 19:37, спустя 13 минут 50 секунд
Мне бы чего по конкретней. А то от консультанта на форуме примеров кода народ не дождался.
http://www.extjs.com/forum/showthread.php?t=3539
Вроде что-то ответил, но как сделать я так и не понял …
После праздников еще поковыряю … -
5 марта 2010 г. 20:48, спустя 1 час 10 минут 24 секунды
1) Что таое стартап?
2) что вы думаете по поводу генераторов экстовских форм? -
5 марта 2010 г. 20:57, спустя 9 минут 27 секунд
1. без денег - трата времени
1) Что таое стартап?
2) что вы думаете по поводу генераторов экстовских форм?
2. если жто стартап, то хуйняСапожник без сапог -
5 марта 2010 г. 21:46, спустя 48 минут 57 секунд
В данном контексте это: "Я нихуя не знаю. Как мне сделать Hello World?".
Что таое стартап?
Пока ничего конкретного. Так как стаж писания на extjs - 1 день. И штуки эти все я еще не смотрел. Но если проводить аналогию с десктопными GUI программами, то генераторы должны использоваться. В любой среде разработки есть инструментарий для визуального редактирования форм и никто файл ресурса формы руками не редактирует. Если мы применяем аналогичный подход в вебе, то почему формы должны создаваться по другому?
что вы думаете по поводу генераторов экстовских форм? -
5 марта 2010 г. 22:09, спустя 23 минуты 5 секунд
В любой среде разработки есть инструментарий для визуального редактирования форм и никто файл ресурса формы руками не редактирует.
я же совсем не о том. Я о
form:
name: requried, ninLength(5)
mail : uniquie
….
на основе этой хуйни генерируется экстовский код и клиентские проверки -
5 марта 2010 г. 22:53, спустя 44 минуты 9 секунд
Гм, сорри, не понял. Точнее не знал, об этой "хуйне". Надо будет посмотреть.
Но в принципе, какой смысл генерить одну текстовую нотификацию на основе другой? Почему сразу нельзя писать JS? Наверно что-то недопонимаю …
Вот визуальный инструмент для сложной формы, мне кажется был бы не плохим подспорьем. -
6 марта 2010 г. 0:55, спустя 2 часа 1 минуту 14 секунд
писать сервер-сайд проверки (а без них никак)
писать JS код для генерации форм через экст
писать проверки клиент-сайд, которые перед отправкой форм происходили бы
а не слишком ли много писать? Я вот, не люблю когда в обход шаблонизатора какой-то html/js генерируется. И просто неприемлимо что-то типа $this->form->field('name')->addAttr('onblur', 'javascript:checkField(this); return false'); Руки поотрывал бы за такую смесь JS и похапэ.
я спать) день был насыщенный -
6 марта 2010 г. 1:04, спустя 8 минут 54 секунды
писать сервер-сайд проверки (а без них никак)
писать JS код для генерации форм через экст
писать проверки клиент-сайд, которые перед отправкой форм происходили бы
Ну дык мы так и так все это пишем. Только у нас HTML во втором пункте.
Я вот, не люблю когда в обход шаблонизатора какой-то html/js генерируется. И просто неприемлимо что-то типа $this->form->field('name')->addAttr('onblur', 'javascript:checkField(this); return false'); Руки поотрывал бы за такую смесь JS и похапэ.
Не спорю. Пых дожен только данные готовить и в JSON оборачивать. Все. -
6 марта 2010 г. 2:19, спустя 1 час 15 минут 44 секунды
что-то мне не спится. Шутки ради, давайте поговорим на языке, при помощи которого преподаются вышка и матан в большинстве ВТУЗОВ.
Пусть есть условия, необходимые для описания идеальной формы[1] ( http://pyha.ru/forum/topic/4066.msg86397#msg86397 ), а именно:
серверные проверки (1)
сама форма (html) (2)
клиент-сайд проверки на JS. (3)
Считаем это описание достаточным в полной мере. Нас не сильно интересует метод, при помощи которого была сгенерирована html-форма, это может быть JS-фреймворк, а может быть и серверный шаблонизатор.
Поставим под сомнение отсутствие возможности описать структуру формы любой сложности[2] на сервере, которая бы удовлетворяла условиям (1, 2, 3). При этом структуру формы будем описывать при помощи удобных для нас форматов, будь то XML, YAML, native-PHP один раз, и на основе этого описания посредством некоторых преобразований получим непосредственно форму и ее первичные обработчики[3], состоящие из вышеупомянутых компонентов (1, 2, 3).
У нас будет возможность выбрать драйвер генератора, в качестве которого может выступать ExtJS или же просто шаблонизатор. В любом случае не будем исключать вероятность настройки драйвера. Под настройкой можем подразумевать значения классов с ошибками, обрамляющие элементы (div, label), порядок компонент (label for="" input или же label input /label), встраивание своих собственных шаблонов. Таким образом мы получим возможность внедрять свой JS-код в форму через встраивание шаблонов. Это позволит избавиться от кашици из JS и PHP в одном флаконе.
Еще раз: единожды описав параметры формы мы сможем не писать отдельно три компонента, два из которых являются дублирующими друг друга.
——————————–
1 на самом деле они не совсем такие, но в данном контексте это не важно
2 вот этот оборот мне особенно нравится
3 под первичными обработчиками будем подразумевать фильтры и валидации
ахуенный такой графоманский высер, да?
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!