Module:Tooltip
Jump to navigation
Jump to search
Module documentation
This documentation is transcluded from Template:No documentation/doc. [edit] [history] [purge]
This {{#switch:Module
|=article |User=user page |RuneScape=project page |File=image |Template=template |Help=help page |Category=category |Map=map page |Forum=forum thread |Exchange=exchange page |Update=update page |Calculator=calculator |Transcript=transcript |Property=property |Module=module |Guide=guide
|Talk=talk page |User talk=talk page |RuneScape talk=talk page |File talk=talk page |Template talk=talk page |Help talk=talk page |Category talk=talk page |Map talk=map talk page |Forum talk=talk page |Exchange talk=talk page |Update talk=talk page |Calculator talk=talk page |Transcript talk=talk page |Property talk=talk page |Module talk=talk page |Guide talk=talk page
|#default=<page type>
}} does not have any documentation. Please consider adding documentation at [[{{#replace:Module:Tooltip|/doc}}/doc]]. [[{{fullurl:{{#replace:Module:Tooltip|/doc}}/doc|action=edit}} edit]]{{#If:||Module:Tooltip requires Module:Paramtest.
Module:Tooltip requires Module:Yesno.
}}
local p = {} local yn = require('Module:Yesno') local hc = require('Module:Paramtest').has_content -- module access point for div p._div = function(args) local name = args.name if not hc(name) then error('Name is required!') end local content = args.content local hasarrow = yn(args.arrow or 'yes', true) local arrowsize = tonumber(args.arrowsize) or 10 local limitwidthbool = yn(args.limitwidth or 'yes', true) local style = args.style local div = mw.html.create('div') local arrow = 'no' if hasarrow then arrow = 'yes' end local limitwidth = 'no' if limitwidthbool then limitwidth = 'yes' end local attrs = { ['data-tooltip-for'] = name, ['data-tooltip-arrow'] = arrow, ['data-tooltip-arrow-size'] = arrowsize, ['data-tooltip-limit-width'] = limitwidth, } if hc(style) then attrs['data-tooltip-style'] = style end div :addClass('hidden js-tooltip-wrapper') :css('display', 'none') :attr(attrs) :tag('div') :addClass('js-tooltip-text') :wikitext(content) :done() :done() return div end p._span = function(args) local name = args.name or args[1] or nil if not hc(name) then error('Name is required!') end local alt = args.alt or args[2] or '?' local span = mw.html.create('span') span:addClass('hidden js-tooltip-click') :css('display', 'none') :attr('data-tooltip-name', name) :wikitext(alt) :done() return span end -- template access points p.div = function(frame) return p._div(frame:getParent().args) end p.span = function(frame) return p._span(frame:getParent().args) end return p