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