Модуль:Сущность: различия между версиями

Нет описания правки
Нет описания правки
Метка: отменено
Строка 1: Строка 1:
local p = {}
local p = {}
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local entityData = require('Module:Сущность/data')
local function trim(s)
    if not s then return "" end
    return mw.text.trim(tostring(s))
end


function p.get(frame)
function p.get(frame)
Строка 13: Строка 19:


     for k, v in pairs(args) do
     for k, v in pairs(args) do
         if k ~= 1 and v ~= nil and v ~= "" then
         if k ~= 1 and k ~= "cardTag" and k ~= "tag" and v ~= nil and v ~= "" then
             params = params .. "|" .. k .. "=" .. v
             params = params .. "|" .. k .. "=" .. v


             if k ~= "blacklist" then
             if k ~= "blacklist" and k ~= "whitelist" then
                 hasExtraArgs = true
                 hasExtraArgs = true
             end
             end
         end
         end
    end
    local cardTagText = entityData.collectCardTagText(frame, args, id)
    if cardTagText ~= "" then
        params = params .. "|cardTag=" .. cardTagText
        hasExtraArgs = true
     end
     end


     local ajax = "{{ajax|<nowiki>{{#invoke:Сущность/data|get|" .. id .. params .. "}}</nowiki>|auto}}"
     local ajax = "{{ajax|<nowiki>{{#invoke:Сущность/data|get|" .. id .. params .. "}}</nowiki>|auto}}"
     local text = ajax
     local text = ajax


     if not hasExtraArgs then
     if cardTagText ~= "" then
        text = cardTagText .. ajax
    elseif not hasExtraArgs then
         text = "{{#if:{{NAMESPACE}}|{{переключатель_проекта|[[Категория:{{NAMESPACE}}:Сущности]]{{NAMESPACE}}}}|[[Категория:Сущности]]{{переключатель_проекта}}}}" .. ajax
         text = "{{#if:{{NAMESPACE}}|{{переключатель_проекта|[[Категория:{{NAMESPACE}}:Сущности]]{{NAMESPACE}}}}|[[Категория:Сущности]]{{переключатель_проекта}}}}" .. ajax
     end
     end
Строка 40: Строка 53:
     local params = ""
     local params = ""
     for k, v in pairs(args) do
     for k, v in pairs(args) do
         if k ~= 1 then
         if k ~= 1 and k ~= "cardTag" and k ~= "tag" then
             params = params .. "|" .. k .. "=" .. v
             params = params .. "|" .. k .. "=" .. v
         end
         end
    end
    local cardTagText = entityData.mergeCardTagText(args.cardTag or "", args.tag or "")
    if cardTagText ~= "" then
        params = params .. "|cardTag=" .. trim(cardTagText)
     end
     end