-
Notifications
You must be signed in to change notification settings - Fork 1
Modules
Конструктор приложения.

Модуль отвечающий за ajax запросы. Позволяет отправлять POST, GET запросы, а так же делать обрыв активных запросов.

Реализация шины событий. Можно привязывать, отвязывать, либо обрабатывать событие только один раз, кроме того есть возможность создавать другие шины событий, что полезно для упрощения логики внутри модулей, и при этом не сыплется лишнего в глобальную шину событий.

Модуль преобразующий объект с данными в GET строку пригодную для передачи через ajax запрос.

Модуль для уничтожения объекта, рекурсивно (при указании параметра is_deep) и асинхронно удаляет все свойства объекта (удаляются ссылки на объекты, а не сами объекты).

Утилитный фреймворк.

Список настроек модулей.

Является хранилищем для произвольного набора обработчиков ошибок.

Модуль логирования ошибок в консоль.

Модуль для загрузки js файлов виджетов.

Модуль выступающий в качестве фасада. Навешивает обработчиков на клики по сабмиту форм и ссылкам, принимает данные и запускает механизм перехода между страниц, также проверяет наличие history, при его отсутствии прекращает дальнейшую инициализацию.

Основной модуль для работы с секциями, умеет загружать, кэшировать и менять секции с помощью модулей sections/loader, sections/transition, sections/cache. Также не будет работать, если модуль history возвращает false.

Модуль обрабатывает клики на кнопке submit для форм с аттрибутом data-reload-sections, достает данные о необходимых секциях, url и вызывает обработчика, после чего отменяет дефолтное поведение.

Модуль обрабатывает клики по ссылкам с аттрибутом data-reload-sections, достает данные о необходимых секциях, url и вызывает обработчика, после чего отменяет дефолтное поведение.

Надстройка над historyAPI, необходима для создания событий истории.

[Не используется] Модуль предоставляющий базовый функционал по отображению попапов если контент пришедший с бека имеет специальную пометку.

Минимальный набор методов для работы с DOM. Api методов максимально совместимо с jQuery.

Модуль для генерации уникального id в формате UUID.

Библиотека предоставляющая функционал отслеживания события onDOMReady

Инициализирует виджеты на DOM-элементах, хранит список инстансов.

Модуль вытаскивает данные о необходимых виджетах для данного куска html, либо DOM-элемента. Далее эти данные могут быть переданы в модуль widgets, чтобы проинициализировать все модули.

Загрузчик секций с сервера, данные о небходимых секциях отправляются в хидере X-Che-Sections, это необходимо, чтобы точно отличать остальные запросы от запросов за секциями, так как согласно основной идее эти запросы отправляются всегда на разные url

Представляет собой звено для цепочки переходов, получая данные о секциях, и ссылку на предыдущий переход, конструктор Transition создает объект Invoker, устанавливает ссылку на новый объект в предыдущем объекте Transition, и сохраняет ссылку на предыдущий Transition. Кроме того проходит по цепочке и удаляет записи, если длина цепочки превышает 10 объектов

Кэш для загруженных секций, сохраняет в localStorage, используя в качестве ключа url и поле header, в котором сейчас передаются данные о секциях, при этом состояние не сохраняется, если в качестве значения поля method указано post

Метод сериализующий данные формы в формат приемлимый для отправки на бек в ajax запросе.

Модуль предоставляющий функционал асинхронной обработки данных с использованием WebWorkers.

Реализация асинхронной очереди, основная идея в том, что используя модуль для асинхронной работы с данными (lib/async), создается модуль, который представляет собой единственный экземпляр async, отсюда любая команда, добавленная в эту очередь выполнится только после того как будут выполнены предыдущие. Это позволяет совершать довольно большой объем работы в асинхронном режиме, то есть не блокируя основной поток.

Фабрика, инициализирующая необходимый модуль для работы с хранилищем.
Доступные типы хранилищ:
-
localStorage- хранит данные вlocalStorageиsessionStorage -
cookies- хранит данные вcookies -
fake- фейковый режим (ничего никуда не сохраняется)

Модуль для непосредственного выполнения переходов. Получая данные о секциях, создает набор объектов, необходимых для замены DOM-элементов. Создаются массивы элеметов, которые необходимо изъять из DOM, а также те, которые должны быть вставлены вместо. Операция смены секции полностью обратима и так же кроме вставки/удаления элементов подразумевает включение (инициализацию)/отключение виджетов.

Модуль для парсинга селекторов у приходящих секций.

Фасад, предоставлющий необходимый функционал для работы с секцией. Вставка в DOM, изъятие из DOM, включение/выключение виджетов привязанных к секции, предоставление событий onInsert и onRemove

…

Неизвестная зависимость для utils/log

Модуль для хранения временных данных в cookies

Метод реализующий абстрактный api для работы с разными типами хранилищ.

Модуль для фейкового режима работы с хранилищем

Модуль для хранения временных данных в localStorage/sessionStorage


Черная линия со стрелкой – Указывает на модуль от которого зависит модуль из которого связь выходит

click/formsзависит отlib/serialize
Красная пунктирная линия со стрелкой – Указывает на модуль который зависит от модуля в который связь приходит

от
lib/serializeзависитclick/forms
Синяя линия со стрелкой – Указывает форсированную зависимость модуля от модуля из которого связь выходит

click/anchorsне будет запущен пока не загрузится модульdom