Jump to content

Module:Tree chart/sandbox

From Wikipedia, the free encyclopedia
require('strict')localp={}localcells=mw.loadData('Module:Tree chart/data/sandbox')functionp._main(cell_args)localret=mw.html.create()localtop=ret:tag('tr'):css{height='1px',['text-align']='center'}localbottom=ret:tag('tr'):css{height='1px',['text-align']='center'}for_,vinipairs(cell_args)doiftype(v)=='string'thentop:wikitext(cells[v].t)bottom:wikitext(cells[v].b)elsetop:tag('td'):attr{colspan=v.colspanorcell_args.colspanor6,rowspan=v.rowspanorcell_args.rowspanor2}:css{padding='0.2em',border=(v.borderorcell_args.borderor'2')..'px solid'}:cssText(v.boxstyleorcell_args.boxstyle):wikitext(v.text)endendreturntostring(ret)endfunctionp.main(frame)localargs=require('Module:Arguments').getArgs(frame,{wrappers='Template:Tree chart',trim=false,removeBlanks=false})localcell_args={colspan=args.colspan,rowspan=args.rowspan,border=args.border,boxstyle=args.boxstyle}for_,valinipairs(args)dolocaltrimmedVal=val:match('^%s*(.-)%s*$')iftrimmedVal==''thentrimmedVal='$'endifcells[trimmedVal]thentable.insert(cell_args,trimmedVal)else-- Unnamed params behave weirdly-- white space at the front counts for param_{{{1}}}, but not whitespace at the end, so remove itlocalrightTrimmedVal=val:gsub('%s+$','')table.insert(cell_args,{text=args[trimmedVal]or('{{{'..trimmedVal..'}}}'),colspan=args['colspan_'..rightTrimmedVal],rowspan=args['rowspan_'..rightTrimmedVal],border=args['border_'..rightTrimmedVal],boxstyle=args['boxstyle_'..rightTrimmedVal]})endendreturnp._main(cell_args)endreturnp
close