ФЭНДОМ


--[[
element = {
    children = boolean, -- Может ли содержать дочерние элементы
    level = number, --(? если children = true) Уровень элемента от 1-го и ниже. Элемент не может быть вложен в элемент низшего чем он сам уровня.
    allowableChildren, --(? если children = true и не forbiddenChildren) перечень допустимых для элемента прямых потомков. 
    allowableParents, --(? если не forbiddenParents) перечень допустимых для элемента родителей.
    forbiddenChildren, --(? если children = true и не allowableChildren) перечень запрещенных для элемента прямых потомков.
    forbiddenParents, -- (? если не allowableParents) перечень запрещенных для элемента родителей.
    sample = string, --(?) аналог элемента. На элемент распространяютя все ограничения аналога на вложенность, а так же действуют все модули, допустимые для аналога.
    requiredModules = table, --(?) таблица модулей необходимых для этого элемента (пары имя модуля = таблица настроек). Если они не применены, то будут автоматически подгружены и применены со стандартными настройками.
    create = function( text, children )
        text = string, -- текст элемента
        children = table --(?) массив дочерних элементов
}
]]--
local elements = {
    --Стандартные элементы
    section = {
        children = true,
        level = 1,
        create = function( text, children )
            local section = mw.html.create( 'div' )
            section:addClass( 'navbox_section' )
            local header = mw.html.create( 'div' )
            header:addClass( 'navbox_sectionHeader' )
            header:wikitext( text )
            section:node( header )
            local body = mw.html.create( 'div' )
            body:addClass( 'navbox_sectionBody' )
            for i, child in ipairs( children ) do
                body:node( child )
            end
            section:node( body )
            return section 
        end
    },
    partition = {
        children = true,
        level = 2,
        create = function( text, children )
            local partition = mw.html.create( 'div' )
            partition:addClass( 'navbox_partition' )
            local header = mw.html.create( 'div' )
            header:addClass( 'navbox_partitionHeader' )
            header:wikitext( text )
            partition:node( header )
            local body = mw.html.create( 'div' )
            body:addClass( 'navbox_partitionBody' )
            for i, child in ipairs( children ) do
                body:node( child )
            end
            partition:node( body )
            return partition 
        end
    },
    content = {
        children = false,
        create = function( text )
            local body = mw.html.create( 'div' )
            body:addClass( 'navbox_content' )
            body:wikitext( text )
            return body
        end
    }
}
 
return elements
Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.