Module:Vertical header: Difference between revisions
Appearance
Content deleted Content added
MusikBot II (talk | contribs) m Protected "Module:Vertical header": High-risk template or module (more info) ([Edit=Require autoconfirmed or confirmed access] (indefinite)) |
remove template expansions, add a function for calling from a module |
||
Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
function p. |
function p._vertical_header(args) |
||
⚫ | |||
local |
local text = args.text |
||
local |
local maxWidth = args.maxWidth |
||
⚫ | |||
local noBold = frame.args.noBold |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
-- local stupidIEAlign = "" |
-- local stupidIEAlign = "" |
||
local rows = 1 |
local rows = 1 |
||
Line 23: | Line 17: | ||
width = width .. "em" |
width = width .. "em" |
||
end |
end |
||
⚫ | |||
local sortPadding = args.sortPadding |
|||
if sortPadding == "" then |
if sortPadding == "" then |
||
wikiText = wikiText .. " unsortable" |
wikiText = wikiText .. " unsortable" |
||
end |
end |
||
local vertAlign = args.vertAlign |
|||
wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" .. vertAlign .. ";padding:" |
wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" .. vertAlign .. ";padding:" |
||
if sortPadding == "" then |
if sortPadding == "" then |
||
Line 33: | Line 32: | ||
end |
end |
||
wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;" |
wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;" |
||
⚫ | |||
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width .. ";width:" .. width .. ";overflow:hidden;" .. cellStyle .. "\"" |
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width .. ";width:" .. width .. ";overflow:hidden;" .. cellStyle .. "\"" |
||
wikiText = wikiText .. " | <div style=\" |
wikiText = wikiText .. " | <div style=\"vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:" |
||
⚫ | |||
if vertAlign == "top" then |
if vertAlign == "top" then |
||
normalAlign = "right" |
normalAlign = "right" |
||
Line 46: | Line 49: | ||
end |
end |
||
wikiText = wikiText .. normalAlign .. ";" -- text-align:" .. stupidIEAlign .. " \ ;" |
wikiText = wikiText .. normalAlign .. ";" -- text-align:" .. stupidIEAlign .. " \ ;" |
||
⚫ | |||
wikiText = wikiText .. style .. "\">" |
wikiText = wikiText .. style .. "\">" |
||
⚫ | |||
if noBold == "" then |
if noBold == "" then |
||
wikiText = wikiText .. text |
wikiText = wikiText .. text |
||
Line 54: | Line 61: | ||
wikiText = wikiText .. "</div>" |
wikiText = wikiText .. "</div>" |
||
return wikiText |
return wikiText |
||
end |
|||
function p.cell(frame) |
|||
⚫ | |||
return p._vertical_header(args) |
|||
end |
end |
||
Revision as of 06:14, 3 November 2022
![]() | This module uses TemplateStyles: |
Implements {{Vertical header}}
local p = {}
function p._vertical_header(args)
local text = args.text
local maxWidth = args.maxWidth
-- local stupidIEAlign = ""
local rows = 1
local width = 0
if maxWidth ~= "" then
width = maxWidth
else
for eachMatch in text:gmatch("<[bB][rR] */? *>") do
rows = rows + 1
end
width = rows * 0.875
width = width .. "em"
end
local wikiText = "class = \"nowrap"
local sortPadding = args.sortPadding
if sortPadding == "" then
wikiText = wikiText .. " unsortable"
end
local vertAlign = args.vertAlign
wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" .. vertAlign .. ";padding:"
if sortPadding == "" then
wikiText = wikiText .. ".4em"
else
wikiText = wikiText .. "21px"
end
wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;"
local cellStyle = args.cellstyle:gsub("\"", """)
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width .. ";width:" .. width .. ";overflow:hidden;" .. cellStyle .. "\""
wikiText = wikiText .. " | <div style=\"vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:"
local normalAlign = ""
if vertAlign == "top" then
normalAlign = "right"
-- stupidIEAlign = "left"
elseif vertAlign == "middle" then
normalAlign = "center"
-- stupidIEAlign = "center"
else
normalAlign = "left"
-- stupidIEAlign = "right"
end
wikiText = wikiText .. normalAlign .. ";" -- text-align:" .. stupidIEAlign .. " \ ;"
local style = args.style:gsub("\"", """)
wikiText = wikiText .. style .. "\">"
local noBold = args.noBold
if noBold == "" then
wikiText = wikiText .. text
else
wikiText = wikiText .. frame:preprocess("{{nobold|1=" .. text .. "}}")
end
wikiText = wikiText .. "</div>"
return wikiText
end
function p.cell(frame)
local args = frame.args
return p._vertical_header(args)
end
return p