Module:CharTree
From Elwiki
Documentation for this module may be created at Module:CharTree/doc
require('Module:CommonFunctions')
local getArgs = require('Module:Arguments').getArgs
local p = {}
-- Main process
function p.main(frame)
local args = getArgs(frame);
local char_tree = mw.html.create('div'):addClass('char-banner-tree'):attr('data-base', args[1])
local out = {};
local char, file_name, link, nopath, nopathnojob, entry, image_arg, icon_str;
for job_iter=1,3,1 do
for path_iter=1,4,1 do
char = args[path_iter .. 'x' .. job_iter] or 'Unreleased';
nopath = 'no' .. path_iter .. 'path';
nopathnojob = 'no' .. path_iter .. 'x' .. job_iter;
entry = char_tree:tag('div'):addClass('char-banner-tree-image')
icon_str = 'Icon - '
if char ~= 'Unreleased' then
file_name = char:gsub(':', '');
link = '|link=' .. char
end
if (args[nopath] ~= nil or args[nopathnojob] ~= nil) then
file_name = 'Dunno';
link = '|link=' .. char;
icon_str = ''
end
image_arg = args['image' .. path_iter .. 'x' .. job_iter]
if image_arg ~= nil then
file_name = image_arg
end
entry:attr('data-class-name', char):wikitext('[[File:' .. icon_str .. file_name .. '.png' .. link .. ']]');
if (args[nopath] ~= nil) then
entry:attr('data-unreleased', 'true');
end
if (args[nopathnojob] ~= nil) then
entry:addClass('disable-image-link');
entry:attr('data-unreleased', 'true');
end
end
end
return tostring(char_tree);
end
return p