打开/关闭搜索
搜索
打开/关闭菜单
17
78
34
2.1K
INFWiki
导航
百科首页
最近更改
随机页面
特殊页面
上传文件
人气页面
入服指南
回响地标
百科创作
介绍
语法
打开/关闭外观设置菜单
notifications
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
查看“︁模块:FloatingUI”︁的源代码
来自INFWiki
查看
阅读
查看源代码
查看历史
associated-pages
模块
讨论
更多操作
←
FloatingUI
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
--- Lua functions for Extension:FloatingUI --- --- WARNING --- ------- --- THIS IS AN EXPERIMENTAL MODULE MADE FOR AN EXPERIMENTAL EXTENSION --- THIS IS NOT READY FOR PRODUCTION AND SUBJECT TO CHANGE --- ------- local FloatingUI = {} --- Check if a string is empty --- --- @param str string --- @return boolean local function isStringEmpty( str ) return str == nil or str == '' end --- Return the HTML of the FloatingUI section component as string --- --- @param data table {label, data, desc, col, inline) --- @return string html function FloatingUI.renderSection( data ) if data == nil or type( data ) ~= 'table' or next( data ) == nil then return '' end local htmlTag = 'div' if data['inline'] == true then htmlTag = 'span' end local html = mw.html.create( htmlTag ) :addClass( 't-floatingui-section' ) if data['col'] then html:addClass( 't-floatingui-section--cols-' .. data['col'] ) end local dataOrder = { 'label', 'data', 'desc' } for _, key in ipairs( dataOrder ) do if data[key] then html:tag( htmlTag ) :addClass( 't-floatingui-' .. key ) :wikitext( data[key] ) end end return tostring( html ) end --- Load FloatingUI library only --- --- @return string wikitext Wikitext to load the FloatingUI library only function FloatingUI.load( frame ) frame = frame or mw.getCurrentFrame() return frame:extensionTag { name = 'templatestyles', args = { src = 'Module:FloatingUI/styles.css' } } .. frame:callParserFunction { name = '#floatingui', args = { '' } } end --- Attach the FloatingUI content to the HTML element --- --- @param content string --- @param htmlTag string --- @return table|nil function FloatingUI.getContentHtml( content, htmlTag ) if isStringEmpty( content ) then return end -- TODO: Detect if HTML is a div or a span htmlTag = htmlTag or 'div' local html = mw.html.create( 'div' ):addClass( 'ext-floatingui-content' ) :tag( htmlTag ) :addClass( 'mw-parser-output' ) :tag( htmlTag ) :addClass( 't-floatingui' ) :wikitext( content ) :allDone() return html end --- Render the HTML for FloatingUI --- --- @param reference string Reference wikitext to trigger the floating element --- @param content string Content wikitext in the floating element --- @param inline boolean Whether to render inline --- @return string wikitext Wikitext for the HTML required to use FloatingUI function FloatingUI.render( reference, content, inline ) if not reference or not content then return '' end local htmlTag = 'div' if inline == true then htmlTag = 'span' end local html = mw.html.create() :tag( htmlTag ) :addClass( 'ext-floatingui-reference' ) :wikitext( reference ) :done() :node( FloatingUI.getContentHtml( content, htmlTag ) ) return tostring( html ) end return FloatingUI
该页面使用的模板:
FloatingUI/doc
(
查看源代码
)
返回
FloatingUI
。
查看“︁模块:FloatingUI”︁的源代码
来自INFWiki