Trim newline from description |
Add ability to literally pass through type string. Gonna use this for more advanced strings for generics and stuff. |
||
Line 1: | Line 1: | ||
-- test in console: | -- test in console: | ||
-- =p.main(mw.getCurrentFrame():newChild{title="Template:Table ComponentFields",args={"FixTransformsEnabled", "Bool", "Clamps IK transforms to reasonable values and Resets IK every update."}}:newChild{title="Module:Test",args={}}) | -- =p.main(mw.getCurrentFrame():newChild{title="Template:Table ComponentFields",args={"FixTransformsEnabled", "Bool", "Clamps IK transforms to reasonable values and Resets IK every update."}}:newChild{title="Module:Test",args={}}) | ||
-- =p.main(mw.getCurrentFrame():newChild{title="Template:Table ComponentFields",args={"FixTransformsEnabled", "Bool", "Clamps IK transforms to reasonable values and Resets IK every update.", ["TypeStringAdvanced0"] = "true"}}:newChild{title="Module:Test",args={}}) | |||
local p = {} | local p = {} | ||
Line 16: | Line 17: | ||
local description = templateFrame.args[argI + 2] | local description = templateFrame.args[argI + 2] | ||
local typeString = templateFrame.args["TypeString"..i] or type | local typeString = templateFrame.args["TypeString"..i] or type | ||
local typeStringAdvanced = templateFrame.args["TypeStringAdvanced"..i] | |||
if name == nil then | if name == nil then | ||
Line 25: | Line 27: | ||
body = body.."|-\n" | body = body.."|-\n" | ||
body = body.."|<code>"..name.."</code>\n" | body = body.."|<code>"..name.."</code>\n" | ||
body = body.."|'''[[Type:"..type.."|"..typeString.."]]'''\n" | if typeStringAdvanced == "true" then | ||
body = body.."|'''"..typeString.."'''\n" | |||
else | |||
body = body.."|'''[[Type:"..type.."|"..typeString.."]]'''\n" | |||
end | |||
body = body.."|"..description.."\n" | body = body.."|"..description.."\n" | ||
i = i + 1 | i = i + 1 |
Revision as of 23:36, 29 February 2024
This module is used to implement the logic of Template:Table ComponentFields and Template:Table TypeFields. Don't use it anywhere else please thank.
-- test in console:
-- =p.main(mw.getCurrentFrame():newChild{title="Template:Table ComponentFields",args={"FixTransformsEnabled", "Bool", "Clamps IK transforms to reasonable values and Resets IK every update."}}:newChild{title="Module:Test",args={}})
-- =p.main(mw.getCurrentFrame():newChild{title="Template:Table ComponentFields",args={"FixTransformsEnabled", "Bool", "Clamps IK transforms to reasonable values and Resets IK every update.", ["TypeStringAdvanced0"] = "true"}}:newChild{title="Module:Test",args={}})
local p = {}
function p.main(frame)
local body = ""
local templateFrame = frame:getParent()
local i = 0
while true do
local argI = i * 3 + 1
local name = templateFrame.args[argI]
local type = templateFrame.args[argI + 1]
local description = templateFrame.args[argI + 2]
local typeString = templateFrame.args["TypeString"..i] or type
local typeStringAdvanced = templateFrame.args["TypeStringAdvanced"..i]
if name == nil then
break
end
description = mw.text.trim(description)
body = body.."|-\n"
body = body.."|<code>"..name.."</code>\n"
if typeStringAdvanced == "true" then
body = body.."|'''"..typeString.."'''\n"
else
body = body.."|'''[[Type:"..type.."|"..typeString.."]]'''\n"
end
body = body.."|"..description.."\n"
i = i + 1
end
return body
end
return p