Module:Tt/Draft: Difference between revisions
Created page with "local p = {} local lib = require('Module:Feature') function p.main(frame) local args = require('Module:Arguments').getArgs(frame, { parentFirst = true, wrappers = { 'Template:Tt' } }) args[1] = args[1] or '<i>Missing text</i>' -- Return plain text if no tooltip given if lib.isEmpty(args[2]) then return args[1] end return p._main(args) end function p._main(args, options) local text = args[1] local tooltip = mw.text.decode(args[2], true) local out =..." |
No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 5: | Line 5: | ||
local args = require('Module:Arguments').getArgs(frame, { | local args = require('Module:Arguments').getArgs(frame, { | ||
parentFirst = true, | parentFirst = true, | ||
wrappers = { 'Template:Tt' } | wrappers = { 'Template:Tt', 'Template:Tt/Draft' } | ||
}) | }) | ||
args[1] = args[1] or '<i>Missing text</i>' | args[1] = args[1] or '<i>Missing text</i>' | ||
| Line 20: | Line 20: | ||
local text = args[1] | local text = args[1] | ||
local tooltip = mw.text.decode(args[2], true) | local tooltip = mw.text.decode(args[2], true) | ||
local header = lib.isNotEmpty(args.header) and mw.text.decode(args.header, true) or nil | |||
local out = mw.html.create() | local out = mw.html.create() | ||
| Line 28: | Line 29: | ||
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] }, {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 | ||
| Line 45: | Line 46: | ||
-- Optional toggleable text but plain text must be there for gadget | -- Optional toggleable text but plain text must be there for gadget | ||
if not options or not options.notoggle then | if not options or not options.notoggle then | ||
toggle:addClass(' mw-collapsible mw-made-collapsible mw-collapsed | toggle:addClass(' mw-collapsible mw-made-collapsible mw-collapsed hnaw-collapsible') | ||
-- move tooltip to detached icon when text is clickable | -- move tooltip to detached icon when text is clickable | ||
if lib.isNotEmpty(args.link) or (text:find('%[%[') and text:find('%]%]')) then | if lib.isNotEmpty(args.link) or (text:find('%[%[') and text:find('%]%]')) then | ||