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

Нет описания правки
мНет описания правки
 
(не показано 8 промежуточных версий этого же участника)
Строка 2: Строка 2:
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs


local DEFAULT_VALUE = 'Corvax, Goob'
local DEFAULT_VALUE = 'Corvax, Goob, WL, Wega'
local SPECIAL_SKIP_VALUE = 'Corvax'
local ALL_VALUE = 'Corvax, Goob, WL, CM, Wega, Fallout, Frontier'


local function trim(s)
local function trim(s)
Строка 18: Строка 18:
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


Строка 27: Строка 23:
local args = getArgs(frame, { removeBlanks = false })
local args = getArgs(frame, { removeBlanks = false })
local raw = args[1] or DEFAULT_VALUE
local raw = args[1] or DEFAULT_VALUE
if mw.ustring.lower(trim(raw)) == 'all' then
raw = ALL_VALUE
end


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


local first = projects[1]
local first = projects[1]
if isSkipValue(first) then
local result = ''
return ''
result = result .. '{{#varexists:JsonPath| |{{#vardefine:JsonPath|' .. first .. '}}}}'
end
 
local result = '{{#vardefine:JsonPath|' .. first .. '}}'
if #projects == 1 then
return 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, ', '))