Модуль:Сущность: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки Метка: отменено |
||
| Строка 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 | ||