Module:Tt/Draft: Difference between revisions

Kuhlau (talk | contribs)
No edit summary
Kuhlau (talk | contribs)
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 14: Line 14:
end
end
     return p._main(args)
     return p._main(args, frame)
end
end


function p._main(args, options)
function p._main(args, options, frame)
local text = args[1]
local text = args[1]
local tooltip = args[2]
local tooltip = mw.text.decode(args[2], true)
local header = lib.isNotEmpty(args.header) and args.header or nil
local header = lib.isNotEmpty(args.header) and mw.text.decode(args.header, true) or nil
local class = lib.isNotEmpty(args.class) and args.class .. ' custom-tt-wrapper toggle-tooltip' or 'custom-tt-wrapper toggle-tooltip'
local out = mw.html.create()
local out = mw.html.create()
Line 29: Line 30:
local base = tostring(p._main(args, {notoggle = true})) -- tt on label for hover as otherwise the <a> default title takes priority
local base = tostring(p._main(args, {notoggle = true})) -- tt on label for hover as otherwise the <a> default title takes priority
local linkTo = '[[' .. lib.ternary(link == '1', text, link) .. '|' .. base .. ']]'
local linkTo = '[[' .. lib.ternary(link == '1', text, link) .. '|' .. base .. ']]'
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, class = args.class }, {nohover = true}, frame) -- external tt for collapsible for the separated clickable
end
-- preprocess tooltip text
if lib.isNotEmpty(tooltip) then
tooltip = frame:preprocess(tooltip)
end
end
-- Build toggle tooltip
-- Build toggle tooltip
local toggle = out:tag('span'):addClass('custom-tt-wrapper toggle-tooltip')
local toggle = out:tag('span'):addClass(class)
-- Optional toggleable text but plain text must be there for gadget
-- Optional toggleable text but plain text must be there for gadget