Модуль:Переключатель проекта: различия между версиями

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


local DEFAULT_VALUE = 'Corvax, Goob'
local DEFAULT_VALUE = 'Corvax, Goob'
local SPECIAL_SKIP_VALUE = 'Corvax'


local function trim(s)
local function trim(s)
Строка 18: Строка 17:
end
end
return out
return out
end
local function isSkipValue(value)
return mw.ustring.lower(trim(value)) == mw.ustring.lower(SPECIAL_SKIP_VALUE)
end
end


function p.main(frame)
function p.main(frame)
local args = getArgs(frame, { removeBlanks = false })
local args = getArgs(frame, { removeBlanks = false })
local raw = args[1]
local raw = args[1] or DEFAULT_VALUE
 
if raw == nil or trim(raw) == '' then
raw = DEFAULT_VALUE
end


local projects = splitProjects(raw)
local projects = splitProjects(raw)
Строка 38: Строка 29:


local first = projects[1]
local first = projects[1]
local result = '{{#vardefine:JsonPath|' .. first .. '}}'
local result = ''
 
result = result .. '{{#vardefine:JsonPath|' .. first .. '}}'
if isSkipValue(first) then
return frame:preprocess(result)
end
 
if #projects == 1 then
return frame:preprocess(result)
end
 
result = result .. '<div style="display:none;" class="js-project-selection-generator">'
result = result .. '<div style="display:none;" class="js-project-selection-generator">'
.. mw.text.encode(table.concat(projects, ', '))
.. mw.text.encode(table.concat(projects, ', '))