Javascript веб-фреймворк для создания интерактивных быстрых сайтов.
Слой — объект описывающий правила для вставки html, js, css и других элементов в существующий документ.
Контроллер слоев — infra.index
массив или объект, представляет собой один родительский слой, или массив родительских слоев.
Подробное описание в [wiki] проекта, так же есть автоматически создаваемое API.
Все текстовые данные загружаемых файлов сохраняются в infra.load.cache['path/to/file'].text
.
Если нужно распарсить шаблон, результат хранится у каждого слоя отдельно в layer.htmlString
Указывает в какое место документа будет вставляться слой.
Состояние при котором слой должен показаться, задается в виде строки регулярного выражения, по-умолчанию равно '/'.
Путь для загрузки CSS-стилей слоя.
Путь для загрузки json-данных.
Путь для загрузки шаблона. В качестве контекста для шаблона передается {layer}
.
Метка слоя, может быть одинаковой у нескольких слоев.
Получить массив слоев с определенной меткой — infra.labels['layerLabel']
.
Путь для загрузки внешнего слоя. После загрузки параметры внешнего слоя добавляются к локальному, но при совпадении не переопределяются.
Пользовательские данные слоя. Если есть layer.ext.config
, то от туда рекурсивно добавляются новые значения, но при совпадении не переопределяются.
Текущий слой будет доступен в переменной {this}
.
Если задана функция cb()
, то сборка дожидается окончания выполнения этой функции.
Функция layer.oncheck
срабатывает каждый раз, когда слой прошел проверку на показ.
Все данные слоя только после этого начинают загружаются, если они не загружены были до этого.
Текущий слой будет доступен в переменной {this}
.
Если задана функция cb()
, то сборка дожидается окончания выполнения этой функции.
Функция layer.onload
срабатывает каждый раз, при окончании загрузки всех данных слоя,
после этого слой идет на обработку для вставки в DOM, парситься шаблон и тд.
Текущий слой будет доступен в переменной {this}
.
Если задана функция cb()
, то сборка дожидается окончания выполнения этой функции.
Функция layer.onshow
срабатывает каждый раз, когда слой распарсился и вставился в DOM.
Содержит объект, ключи в котором вида layer.tag
, в значениях ключей определяются новые слои.
У новых слоев layer.tag
будет равен его ключу. Причем анализ layer.tag
нового слоя, будет
проходить относительно layer.tag
родительского слоя.
Все новые слои попадают в массив layer.childs
родительского слоя.
У каждого нового слоя параметр layer.parent
ссылается на родителя.
Содержит объект, ключи в котором вида layer.state
, в значениях ключей определяются новые слои.
У новых слоев layer.state
будет равен его ключу. Причем анализ layer.state
нового слоя, будет
проходить относительно layer.state
родительского слоя.
Все новые слои попадают в массив layer.childs
родительского слоя.
У каждого нового слоя параметр layer.parent
ссылается на родителя.
Появляются после оброботки контроллера системой, также эти параметры можно определять вручную. При наличии соответствующих условий, параметры могут быть произвольно изменены системой. Если же условий для изменения нет, системный параметр, заданный вручную или нет, обработается как нужно.
Данные слоя, обычно используемые для вставки в шаблон.
Данные так же хранятся в infra.load.cache['/path/to/json/data.json'].data
Загружаются и парсятся из файла определенного в layer.json
.
Текстовый шаблон для вставки в дом.
Текстовые распарсенные шаблонные данные для вставки в дом.
DOM-узел или узлы, куда вставиться слой.
Уникальный id слоя. Получить нужный слой по id — infra.ids['layerId']
.
Ссылка на родительский слой.
Ссылка на массив дочерних слоев.