Модуль:Serialization/EntityTableSelector: различия между версиями

Нет описания правки
Нет описания правки
(не показаны 4 промежуточные версии этого же участника)
Строка 230: Строка 230:


     return table.concat(result)
     return table.concat(result)
end
local function renderPlainEntry(entry)
    if type(entry) ~= "table" or trim(entry.id) == "" then
        return ""
    end
    return formatContent(entry)
end
end


Строка 242: Строка 250:
         if selector then
         if selector then
             local rendered = renderSelector(selector, visited, true, depth)
             local rendered = renderSelector(selector, visited, true, depth)
            if rendered ~= "" then
                result[#result + 1] = rendered
            end
        else
            local rendered = renderPlainEntry(child)
             if rendered ~= "" then
             if rendered ~= "" then
                 result[#result + 1] = rendered
                 result[#result + 1] = rendered
Строка 293: Строка 306:


     local title = ""
     local title = ""
    local hasWeight = rawget(selector, "weight") ~= nil


     if selector.weight ~= nil and selector.weight ~= "default" then
     if hasWeight and selector.weight ~= "default" then
         title = "Группа предметов " .. normalizePercent(selector.weight, false)
         title = "Группа предметов " .. normalizePercent(selector.weight, false)
     elseif selector.weight == nil then
     elseif not hasWeight then
         title = "Может выпасть лишь один из:"
         title = "Может выпасть лишь один из:"
     end
     end
Строка 383: Строка 397:
     local selector = normalizeSelector(data)
     local selector = normalizeSelector(data)
     if not selector then
     if not selector then
        local plainEntry = renderPlainEntry(data)
        if plainEntry ~= "" then
            return frame:preprocess(plainEntry)
        end
         local plainEntries = renderPlainEntries(data)
         local plainEntries = renderPlainEntries(data)
         if plainEntries ~= "" then
         if plainEntries ~= "" then