Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 2.82 KB

format.md

File metadata and controls

73 lines (53 loc) · 2.82 KB

Формат входных данных

Makeup(params, templating);

params

params - опциональный объект параметров, включая список блоков. Если объект не передан, все параметры берутся со значениями по-умолчанию, а список блоков генерируется из имеющегося в текущий момент DOM-дерева.

{
    label: 'Название проекта',
    items: [item1, item2, ...]
    ... // @see source/js/params.js:102
}

item

item - это блок, либо группа. Группироваться произвольно могут другие группы и блоки. Вложенность группировки не ограничена. Формат item:

{
    // {String} Название, которе выведется в списке
    "name": "",

    // {Object} Стили, применяемые к текущему и всем вложенным в item элементам. См. Структура объекта styles.
    "styles": {},

    // {Array} Массив item
    "items": [
        // {item}
        ...
    ]
}

В любой объект item можно добавлять любые другие свойства.

styles

Если стили есть у текущего item и каких-либо его родителей, эти стили объединяются (склеиваются строки стилей). Приоритет стилей идёт от корневого элемента к конечному (у конечного наибольший вес).

"styles": {
    // {String} Стили, применяемые к врапперу
    "wrapper": "color: red;",

    // {String} Стили, применяемые к контейнеру с изображением
    "image": "background: green; border: 1px solid yellow;",

    // {String} Стили, применяемые к контейнеру с вёрсткой
    "markup": "box-shadow: 0 0 3px rgba(0, 0, 0, .3)"
}

templating

templating - опциональная функция, которая по имени блока (и параметрам этого блока) должна возвращать html этого блока:

templating(ctx) {
   return html;
};

Если функция не передана, используется встроенная функция, которая просто ищет в имеющемся DOM-дереве $('.' + ctx.name) и берёт от него outerHTML.

ctx

Объект, идентифицирующий выбранный в списке блок и его параметры.

return

html код выбранного блока.