С радостью перенёс бы, но кармы пока не хватает. Да и стыдно немного за статью. Она скорее для себя, как вводное слово. Но если вам кажется, что кто-то где-то из статьи почерпнёт хоть что-то интересное — перенесу в тематический блог сразу, как появится карма.
ну со своей стороны я сделал все что мог — кармы вам добавил. По ексту нужны все статьи, потому не бойтесь, переносите как только сможете, заранее спасибо
гм. а при чем тут екст? Форму авторизации можно сделать любым способом, проверку на сервере тоже. Есть даже готовый компонент LoginForm, там даже виртуальная клавиатура есть, очень кстати удобная штука
я в своем одном проекте сделал через кастомные ответы сервера — типа HTTP 500 — это ошибка вообще, 901 — неверный логин, 902 неверный пароль и так далее. Общий обработчик failure для обьекта Ext.Ajax все ответы которые не 200 ОК обрабатывает, а значит везде в приложении это можно перехватить.
Ext.Ajax.on('requestcomplete', fun);
удобен для централизованного вылова ответов
напр 1 раз написать механизм обработки success: false и выводить напр msg: — как ошибку…
и в других местах уже не парится о сообщениях об ошибке…
В моих проектах надо было две похожие вещи. Нет, вру, три.
первая: выводить различное меню для различных групп пользователей
вторая: выводить в некоторых гридах различные колонки для различных групп пользователей
третья: отображать данные по-разному для различных групп пользователей.
первая решается на сервере. Просто отдаётся нужный json-объект для панели навигации.
вторая решается плагином MetaGrid, который позволяет менять метаинформацию грида динамически. Т.е. от сервера сначала приходили необходимые настройки для грида, а потом запрашивалась сама информация.
На третьей я остановлюсь подробнее. Это были анонсы. Для администраторов необходимо было выводить грид с возможностью добавления-удаления-редактирования новости, в то время как остальным надо было вывести форматированные новости. Решилось это на клиенте с использованием XTemplate. Панель новости имела тип лейаута «card» и в зависимости от пользователя показывала либо XTemplate, либо грид.
Типовые приложения на основе ExtJS