Module:Tt/Draft: Difference between revisions
adding in optional headers to support extra effect (so they can be individually styled) and changing "title"-style hovertext to css. my god this cleanTT is kind of terrible |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 19: | Line 19: | ||
function p._main(args, options) | function p._main(args, options) | ||
local text = args[1] | local text = args[1] | ||
local tooltip = | local tooltip = args[2] | ||
local header = lib.isNotEmpty(args.header) and | local header = lib.isNotEmpty(args.header) and args.header or nil | ||
local out = mw.html.create() | local out = mw.html.create() | ||
| Line 31: | Line 31: | ||
return p._main({ linkTo, args[2], header = args.header }, {nohover = true}) -- external tt for collapsible for the separated clickable | return p._main({ linkTo, args[2], header = args.header }, {nohover = true}) -- external tt for collapsible for the separated clickable | ||
end | end | ||
-- Build toggle tooltip | -- Build toggle tooltip | ||
local toggle = out:tag('span'):addClass('custom-tt-wrapper | local toggle = out:tag('span'):addClass('custom-tt-wrapper toggle-tooltip') | ||
-- Optional toggleable text but plain text must be there for gadget | -- Optional toggleable text but plain text must be there for gadget | ||
| Line 72: | Line 54: | ||
:addClass('mw-collapsible-content custom-tt') | :addClass('mw-collapsible-content custom-tt') | ||
:css{ display = 'none' } | :css{ display = 'none' } | ||
if header then | if header then | ||
collapsibleContent | collapsibleContent | ||
| Line 96: | Line 76: | ||
local result = tx | local result = tx | ||
for tooltip | for display, tooltip in string.gmatch(full, '<span class="text%-tooltip hover%-tooltip">(.-)<span class="tt%-content">(.-)</span></span>') do | ||
local escTooltip = tooltip:gsub("([^%w])", "%%%1") | local escTooltip = tooltip:gsub("([^%w])", "%%%1") | ||
local escDisplay = display:gsub("([^%w])", "%%%1") | local escDisplay = display:gsub("([^%w])", "%%%1") | ||
search_str = '<span | search_str = '<span class="text%-tooltip hover%-tooltip">(' .. escDisplay .. ')<span class="tt%-content">' .. escTooltip .. '</span></span><span[^>]+><span[^>]+>' .. escDisplay .. '</span><span[^>]+>' .. escTooltip .. '</span></span>' | ||
result = result:gsub(search_str, display) | result = result:gsub(search_str, display) | ||
end | end | ||