Логика запуска приложения
- Стартует код
$(function () {
lemurro.start();
});
- Инициализируется роутер
- Подключаются маршруты из конфига
- Запускается роутер и отрабатывается маршрут
- Если это не первый запуск приложения, а просто переход из раздела в раздел, тогда загружается страница определённая маршрутизатором и сразу выполняется шаг №16
- Инициализируется ядро
lemurro.init();
-
lemurro.sessionID = '';
-
lemurro.userinfo = {};
-
lemurro.lightajax = new LightAjax(...);
- Подключается сборщик ошибок js
- Инициализируется форма входа в зависимости от настроек
- Достаётся из локального хранилища ИД сессии, если есть продолжаем, иначе открывается форма входа
-
lemurro.sessionID = '...';
- Достаётся из локального хранилища ИД прошлой сессии, если есть показываем кнопку
Вернуться
в верхнем меню пользователя
- Запускается проверка сессии, если успешно выполнено продолжаем, иначе открывается форма входа
- Запускается получение информации о пользователе, если успешно выполнено продолжаем, иначе открывается форма входа
-
lemurro.userinfo = result.data;
- Исходя из прав доступа пользователя настраивается показ элементов (пунктов меню и т.п.)
- Приложение успешно стартовало:
- Устанавливается
app.started = true;
- Скрывается более ненужный оверлей прелоадера
- Запускается
app.init(lemurro._loadPage);
- Выполняется
app.init();
после его выполнения вызывается переданный callback();
, который запускает lemurro._loadPage
- Выполняется
lemurro._loadPage();
- Устанавливается
title
- Сбрасывается активность со всех ссылок
.js-link
в шапке header
- Устанавливается активность ссылок
.js-link
в шапке header
в зависимости от раздела который открылся
- Обновляются ссылки на странице с атрибутом
data-navigo
- Подключается
Inputmask
для всех классов .js-mask
на странице #js-page
(маска используется из атрибута data-mask
)
- Подключается
Select2
для всех классов .js-select2
на странице #js-page
- Подключается
jQuery.TableFilter
для всех классов .tablefilter
на странице #js-page
- Если переменная
app.page.onLoad
не пустая, тогда запускается выполнение находящейся там функции app.page.onLoad();
, например: example.init();