Difference between revisions of "Module:Vertical header"
Jump to navigation
Jump to search
en>Andreyyshore (Added cellstyle argument. Makes it easier to customize the appearance of a cell, like applying a background color to the entire cell instead of just the text inside it. Necessary since the module's internal style tag overrides (actually entirely replac...) |
(No difference)
|
Revision as of 09:46, 29 October 2018
Documentation for this module may be created at Module:Vertical header/doc
local p = {}
function p.cell(frame)
local text = frame.args.text
local sortPadding = frame.args.sortPadding
local vertAlign = frame.args.vertAlign
local maxWidth = frame.args.maxWidth
local noBold = frame.args.noBold
local style = frame.args.style:gsub("\"", """)
local cellStyle = frame.args.cellstyle:gsub("\"", """)
local wikiText = "class = \"nowrap"
local normalAlign = ""
-- 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
if sortPadding == "" then
wikiText = wikiText .. " unsortable"
end
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;"
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width .. ";width:" .. width .. ";overflow:hidden;" .. cellStyle .. "\""
wikiText = wikiText .. " | <div style=\"" .. frame:preprocess("{{writing-mode|v1}}{{Transform-rotate|180}}") .. "-ms-transform: none \ ;padding-left:1px;text-align:"
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 .. " \ ;"
wikiText = wikiText .. style .. "\">"
if noBold == "" then
wikiText = wikiText .. text
else
wikiText = wikiText .. frame:preprocess("{{nobold|1=" .. text .. "}}")
end
wikiText = wikiText .. "</div>"
return wikiText
end
return p