Module:List: Difference between revisions
From Test Wiki
Content deleted Content added
m>Pppery m Protected "Module:List" ([Edit=Allow only administrators] (indefinite)) |
m 1 revision imported Tags: Mobile edit Mobile web edit |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
-- This module outputs different kinds of lists. At the moment, bulleted, |
|||
-- unbulleted, horizontal, ordered, and horizontal ordered lists are supported. |
|||
local libUtil = require('libraryUtil') |
local libUtil = require('libraryUtil') |
||
local checkType = libUtil.checkType |
local checkType = libUtil.checkType |
||
| Line 20: | Line 17: | ||
local data = {} |
local data = {} |
||
-- Classes |
-- Classes and TemplateStyles |
||
data.classes = {} |
data.classes = {} |
||
data.templatestyles = '' |
data.templatestyles = '' |
||
| Line 26: | Line 23: | ||
table.insert(data.classes, 'hlist') |
table.insert(data.classes, 'hlist') |
||
data.templatestyles = mw.getCurrentFrame():extensionTag{ |
data.templatestyles = mw.getCurrentFrame():extensionTag{ |
||
name = 'templatestyles', args = { src = ' |
name = 'templatestyles', args = { src = 'Hlist/styles.css' } |
||
} |
} |
||
elseif listType == 'unbulleted' then |
elseif listType == 'unbulleted' then |
||
table.insert(data.classes, 'plainlist') |
table.insert(data.classes, 'plainlist') |
||
data.templatestyles = mw.getCurrentFrame():extensionTag{ |
data.templatestyles = mw.getCurrentFrame():extensionTag{ |
||
name = 'templatestyles', args = { src = ' |
name = 'templatestyles', args = { src = 'Plainlist/styles.css' } |
||
} |
} |
||
end |
end |
||
| Line 94: | Line 91: | ||
data.itemStyle = args.item_style or args.li_style |
data.itemStyle = args.item_style or args.li_style |
||
data.items = {} |
data.items = {} |
||
for |
for _, num in ipairs(mTableTools.numKeys(args)) do |
||
local item = {} |
local item = {} |
||
item.content = args[num] |
item.content = args[num] |
||
| Line 117: | Line 114: | ||
-- Render the main div tag. |
-- Render the main div tag. |
||
local root = mw.html.create('div') |
local root = mw.html.create('div') |
||
for |
for _, class in ipairs(data.classes or {}) do |
||
root:addClass(class) |
root:addClass(class) |
||
end |
end |
||
| Line 138: | Line 135: | ||
-- Render the list items |
-- Render the list items |
||
for |
for _, t in ipairs(data.items or {}) do |
||
local item = list:tag('li') |
local item = list:tag('li') |
||
if data.itemStyle then |
if data.itemStyle then |
||
| Line 188: | Line 185: | ||
local mArguments = require('Module:Arguments') |
local mArguments = require('Module:Arguments') |
||
local origArgs = mArguments.getArgs(frame, { |
local origArgs = mArguments.getArgs(frame, { |
||
frameOnly = ((frame and frame.args and frame.args.frameonly or '') ~= ''), |
|||
valueFunc = function (key, value) |
valueFunc = function (key, value) |
||
if not value or not mw.ustring.find(value, '%S') then return nil end |
if not value or not mw.ustring.find(value, '%S') then return nil end |
||