Difference between revisions of "Module:Iconbar"
From Runsafe
(Created page with "local p = {} function p.bar( f ) local args = require( 'Module:ProcessArgs' ).merge() local full = args.full local half = args.half or 'Half ' .. full local empty = args.e...") |
(No difference)
|
Latest revision as of 22:37, 5 July 2014
Documentation for this module may be created at Module:Iconbar/doc
local p = {} function p.bar( f ) local args = require( 'Module:ProcessArgs' ).merge() local full = args.full local half = args.half or 'Half ' .. full local empty = args.empty or 'Empty ' .. full local value = math.abs( tonumber( args.value ) or 0 ) / 2 local min = math.ceil( math.abs( tonumber( args.min ) or 0 ) / 2 ) local size = args.size or '' local title = args.title or '' local reverse = args.reverse or '' if title:lower() == 'none' then title = '' elseif title ~= '' then title = ' title="' .. title .. '"' else title = ' title="' .. value .. '"' end local fullIcon = '' local halfIcon = '' local emptyIcon = '' if tonumber( size ) then size = '|' .. size .. 'px' elseif size ~= '' then size = '|' .. size end if value == 0 then emptyIcon = '[[File:' .. empty .. size .. ']]' else fullIcon = string.rep( '[[File:' .. full .. size .. ']]', math.floor( value ) ) if math.floor( value ) ~= value then halfIcon = '[[File:' .. half .. size .. ']]' end end if min - value >= 1 then emptyIcon = string.rep( '[[File:' .. empty .. size .. ']]', min - math.ceil( value ) ) end if reverse ~= '' then return '<span class="nowrap"' .. title .. '>' .. emptyIcon .. halfIcon .. fullIcon .. '</span>' else return '<span class="nowrap"' .. title .. '>' .. fullIcon .. halfIcon .. emptyIcon .. '</span>' end end return p