模块:Test:修订间差异
跳到导航
跳到搜索
(清空全部内容) 标签:清空 |
无编辑摘要 |
||
第1行: | 第1行: | ||
-- | |||
--修改自模块历史活动 | |||
-- | |||
local p = {} | |||
local args--存参数 | |||
local frame | |||
local anums = {}--存行数 | |||
--添加行 | |||
function addTableRow(tbl) | |||
return tbl:tag('tr') | |||
end | |||
--处理表头 | |||
function renderHeaderRow(tbl) | |||
local headerRow = addTableRow(tbl) | |||
headerRow | |||
:tag('th') | |||
:wikitext('届数') | |||
:css('color','#004B97')--文字颜色 | |||
:css('background-color','#FF9224')--底色 | |||
:css('border-width', '5px 1px 3px 5px') | |||
:css('border-color','#D26900 #FF9224 #D26900 #D26900') | |||
:css('border-top-style','double') | |||
:css('border-bottom-style','dashed') | |||
:css('border-left-style','double') | |||
:css('width', '5%') | |||
:attr('scope', 'column') | |||
:done() | |||
:tag('th') | |||
:wikitext('作者') | |||
:css('color','#0066CC') | |||
:css('background-color','#FFAD86') | |||
:css('border-width', '5px 1px 3px 1px') | |||
:css('border-color','#D26900 #FFAD86 #D26900 #FFAD86') | |||
:css('border-top-style','double') | |||
:css('border-bottom-style','dashed') | |||
:css('border-right-style','double') | |||
:css('width', '25%') | |||
:attr('scope', 'column') | |||
:done() | |||
:tag('th') | |||
:wikitext('活动主题') | |||
:css('color','#0066CC') | |||
:css('background-color','#FFAD86') | |||
:css('border-width', '5px 5px 3px 1px') | |||
:css('border-color','#D26900 #D26900 #D26900 #FF9224') | |||
:css('border-top-style','double') | |||
:css('border-bottom-style','dashed') | |||
:css('border-right-style','double') | |||
:css('width', '35%') | |||
:attr('scope', 'column') | |||
:done() | |||
end | |||
--处理某一行数据 | |||
function renderListRow(tb1, anum) | |||
local row = addTableRow(tb1)--添加行,并将当前行传给row | |||
if args['a' .. anum] then | |||
local activity = row:tag('td')--添加单元格,并将该单元格传给activity | |||
activity | |||
:attr('align', 'center')--单元格样式 | |||
:css('padding','3px') | |||
:css('color','#004B97')--文字颜色 | |||
:css('background-color','#FF9224')--底色 | |||
:css('border-width', '5px 1px 3px 5px') | |||
:css('border-color','#D26900 #FF9224 #D26900 #D26900') | |||
:css('border-top-style','dashed') | |||
:css('border-bottom-style','double') | |||
:css('border-left-style','double') | |||
:wikitext(args['a' .. anum]) | |||
end | |||
local info = row:tag('td')--再添加单元格,并将该单元格传给info | |||
info | |||
:wikitext(args['i' .. anum])--单元格样式 | |||
:css('color','#0066CC') | |||
:css('padding','10px') | |||
:css('background-color','#FFDCB9') | |||
:css('border-width', '5px 1px 3px 1px') | |||
:css('border-color','#D26900 #FFDCB9 #D26900 #FF9224') | |||
:css('border-top-style','dashed') | |||
:css('border-bottom-style','double') | |||
:css('border-right-style','double') | |||
local info1 = row:tag('td')--再添加单元格,并将该单元格传给info | |||
info1 | |||
:wikitext(args['e' .. anum])--单元格样式 | |||
:css('color','#0066CC') | |||
:css('background-color','#FFE4CA') | |||
:css('border-width', '5px 5px 3px 1px') | |||
:css('border-color','#D26900 #D26900 #D26900 #FF9224') | |||
:css('padding','10px') | |||
:css('border-top-style','dashed') | |||
:css('border-bottom-style','double') | |||
:css('border-right-style','double') | |||
end | |||
--处理表格 | |||
function renderMainTable() | |||
local tb1 = mw.html.create('table')--创建table | |||
--.attr('cellspacing', 0)--在这里table添加样式 | |||
:addClass('wikitable') | |||
:addClass('mw-collapsible') | |||
:addClass('mw-collapsed') | |||
:css('width', '60%') | |||
renderHeaderRow(tb1) | |||
for i, anum in ipairs(anums) do--循环处理每一行数据 | |||
renderListRow(tb1, anum) | |||
end | |||
return tb1 | |||
end | |||
function p._historicalActivity(Args) | |||
args = Args | |||
for k, v in pairs(args) do--计算行数 | |||
local anum = ('' .. k):match('^a(%d+)$') | |||
if anum then table.insert(anums, tonumber(anum)) end | |||
end | |||
table.sort(anums) | |||
--处理表格 | |||
local tb1 = renderMainTable() | |||
local res = mw.html.create() | |||
res:node(tb1) | |||
return tostring(res) | |||
end | |||
function p.historicalActivity(frame) | |||
local args = {} | |||
local parent_args = frame:getParent().args;--获取页面传来得参数,而不是模板的参数 | |||
-- Out of order parsing bug. | |||
-- 不懂 | |||
local temp; | |||
for i = 1, 50 do | |||
temp = parent_args["a" .. tostring(i)]; | |||
temp = parent_args["i" .. tostring(i)]; | |||
end | |||
--将获取的参数传给args | |||
for k, v in pairs(parent_args) do | |||
if v ~= '' then | |||
args[k] = v | |||
end | |||
end | |||
return p._historicalActivity(args) | |||
end | |||
return p |