Cblair91@legacy41667588 (talk | contribs) (or case, for null checks >.<) |
m (Remove semicolon) |
||
(22 intermediate revisions by 7 users not shown) | |||
Line 10: | Line 10: | ||
local item = args[1] |
local item = args[1] |
||
+ | local renamed = require( [[Module:Grid/Renames]] )[item] |
||
⚫ | |||
+ | args[1] = renamed |
||
+ | return [=[[[Category:Pages using a renamed tile]]]=] .. p.cell(args) |
||
+ | end |
||
local body = mw.html.create( 'span' ):addClass( 'grid' ):css{ ['vertical-align'] = args.align } |
local body = mw.html.create( 'span' ):addClass( 'grid' ):css{ ['vertical-align'] = args.align } |
||
Line 27: | Line 32: | ||
end |
end |
||
− | local |
+ | local mod = require([[Module:Mods]]).getData(string.upper(args.mod or '')) or { abbr="", mod="", name="", localized="" } |
− | local mod = mods.getData(string.upper(args.mod or '')) or { abbr="", mod="", name="", localised="" } |
||
local link = args.link or '' |
local link = args.link or '' |
||
− | if link:lower() == 'none |
+ | if link:lower() == 'none' then |
link = nil |
link = nil |
||
else |
else |
||
Line 44: | Line 48: | ||
local icon = body:tag( 'span' ) |
local icon = body:tag( 'span' ) |
||
− | local |
+ | local lang = require([[Module:Utility_functions]]).pageSuffix():sub(2) |
+ | local title = args.title or args.tooltiptext or f:callParserFunction("#iconloc", {item, mod.abbr, "name", lang}) |
||
⚫ | |||
− | + | if not title or title == '' then |
|
+ | title = item |
||
elseif title:lower() == 'none' then |
elseif title:lower() == 'none' then |
||
title = '' |
title = '' |
||
Line 58: | Line 63: | ||
end |
end |
||
( link and icon or body ):attr{ title = title } |
( link and icon or body ):attr{ title = title } |
||
− | + | if args['ore-dict-name'] and mod.localized then |
|
+ | local orenamefixed = args['ore-dict-name']:gsub("/", "\\/") |
||
+ | if not args.desc or args.desc == '' then |
||
+ | args.desc = '&7' .. orenamefixed .. '/&o&9' .. mod.localized |
||
+ | else |
||
+ | args.desc = args.desc .. '/&7' .. orenamefixed .. '/&o&9' .. mod.localized |
||
+ | end |
||
+ | end |
||
+ | body:attr{ ['data-minetip-text'] = args.desc or f:callParserFunction("#iconloc", {item, mod.abbr, "description", lang})} |
||
− | icon:wikitext( f:callParserFunction( '#icon', { item = item, mod = mod.abbr } ) ) |
+ | icon:wikitext( f:callParserFunction( '#icon', { "", item = item, mod = mod.abbr } ) ) |
local num = tonumber( args[2] or 1 ) |
local num = tonumber( args[2] or 1 ) |
Revision as of 11:45, 1 September 2020
Documentation for this module may be created at Module:Grid/doc
local p = {}
p.cell = function( f )
local args = f.args or f
if f == mw.getCurrentFrame() and args[1] == nil then
args = f:getParent().args
else
f = mw.getCurrentFrame()
end
args = require( [[Module:ProcessArgs]] ).norm( args )
local item = args[1]
local renamed = require( [[Module:Grid/Renames]] )[item]
if renamed then
args[1] = renamed
return [=[[[Category:Pages using a renamed tile]]]=] .. p.cell(args)
end
local body = mw.html.create( 'span' ):addClass( 'grid' ):css{ ['vertical-align'] = args.align }
if args['no-bg'] then
body:addClass( 'grid-plain' )
end
if args.class then
body:addClass( args.class )
end
if args.style then
body:cssText( args.style )
end
if not item then
body:tag( 'br' )
return tostring( body )
end
local mod = require([[Module:Mods]]).getData(string.upper(args.mod or '')) or { abbr="", mod="", name="", localized="" }
local link = args.link or ''
if link:lower() == 'none' then
link = nil
else
if link == '' then
link = item
if mod.link and ( args.dis or '' ) == '' then
link = link .. ' (' .. mod.link .. ')'
end
end
body:wikitext( '[[', link, require( [[Module:Language]] ).link(), '|' )
end
local icon = body:tag( 'span' )
local lang = require([[Module:Utility_functions]]).pageSuffix():sub(2)
local title = args.title or args.tooltiptext or f:callParserFunction("#iconloc", {item, mod.abbr, "name", lang})
if not title or title == '' then
title = item
elseif title:lower() == 'none' then
title = ''
elseif title:match( '&' ) then
body:attr( 'data-minetip-title', title )
title = title:gsub( '&[0-9a-fk-or]', '' )
if title == '' then
title = item
end
end
( link and icon or body ):attr{ title = title }
if args['ore-dict-name'] and mod.localized then
local orenamefixed = args['ore-dict-name']:gsub("/", "\\/")
if not args.desc or args.desc == '' then
args.desc = '&7' .. orenamefixed .. '/&o&9' .. mod.localized
else
args.desc = args.desc .. '/&7' .. orenamefixed .. '/&o&9' .. mod.localized
end
end
body:attr{ ['data-minetip-text'] = args.desc or f:callParserFunction("#iconloc", {item, mod.abbr, "description", lang})}
icon:wikitext( f:callParserFunction( '#icon', { "", item = item, mod = mod.abbr } ) )
local num = tonumber( args[2] or 1 )
if num and num > 1 and num < 1000 then
local number = icon:tag( 'span' ):addClass( 'grid-number' ):wikitext( num )
if args.numstyle then
number:cssText( args.numstyle )
end
end
if link then
body:wikitext( ']]' )
end
return tostring( body )
end
return p