Логика запуска приложения
- Стартует код
$(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();
- Устанавливается