Jump to content

Module:MaterialInfobox: Difference between revisions

From Elite Dangerous Wiki
Content deleted Content added
Another way to build the part of the infobox that might fix it by chance
Corrected Rare and Very Rare icons
 
(4 intermediate revisions by 2 users not shown)
Line 23: Line 23:
if not HF.isempty(field.Grade) then
if not HF.isempty(field.Grade) then
if field.Grade == 'Rare' or field.Grade == 'rare' then
if field.Grade == 'Rare' or field.Grade == 'rare' then
output = '[[File:Rare material.svg|35px|link=]] ' .. output
output = '[[File:Rare_material.svg|35px|link=]] ' .. output
elseif field.Grade == 'Very common' or field.Grade == 'Very Common' or field.Grade == 'very common' then
elseif field.Grade == 'Very common' or field.Grade == 'Very Common' or field.Grade == 'very common' then
output = '[[File:Very common material.svg|35px|link=]] ' .. output
output = '[[File:Very common material.svg|35px|link=]] ' .. output
elseif field.Grade == 'Very rare' or field.Grade == 'Very Rare' or field.Grade == 'very rare' then
elseif field.Grade == 'Very rare' or field.Grade == 'Very Rare' or field.Grade == 'very rare' then
output = '[[File:Very rare material.svg|35px|link=]] ' .. output
output = '[[File:Very_Rare_material.svg|35px|link=]] ' .. output
elseif field.Grade == 'Common' or field.Grade == 'common' then
elseif field.Grade == 'Common' or field.Grade == 'common' then
output = '[[File:Common material.svg|35px|link=]] ' .. output
output = '[[File:Common material.svg|35px|link=]] ' .. output
elseif field.Grade == 'Standard' or field.Grade == 'standard' then
output = '[[File:Standard_material.svg|35px|link=]] ' .. output
else
else
output = output
output = output
Line 43: Line 45:
table.sort(ships)
table.sort(ships)
output = '<tr><td colspan="2">' ..
output = '<tr class="eInfobox-infobox-custom custom-listitem"><td colspan="2">' ..
table.concat(ships, '</td></tr><tr><td colspan="2">') ..
table.concat(ships, '</td></tr><tr class="eInfobox-infobox-custom custom-listitem"><td colspan="2">') ..
'</td></tr>'
'</td></tr>'

Latest revision as of 10:31, 2 August 2017

Documentation for this module may be created at Module:MaterialInfobox/doc

local Infobox = {}
local HF = require('Module:HF')

function Infobox.Newline( field, vars )
    local output = ''
    if not HF.isempty(field.Value) then
        local ships = HF.explode(';', field.Value)
        table.sort(ships)
        for i, ship in ipairs(ships) do
            output = output .. HF.trim(ship) .. '<br />'
        end
 
        if string.sub(output, -6) == '<br />' then
            output = string.sub( output, 1, -7 )
        end
 
        return output
    end
end

function Infobox.PreTitleIcon( field, vars )
    output = field.Value
    if not HF.isempty(field.Grade) then
        if field.Grade == 'Rare' or field.Grade == 'rare' then
            output = '[[File:Rare_material.svg|35px|link=]] ' .. output
        elseif field.Grade == 'Very common' or field.Grade == 'Very Common' or field.Grade == 'very common' then
            output = '[[File:Very common material.svg|35px|link=]] ' .. output
        elseif field.Grade == 'Very rare' or field.Grade == 'Very Rare' or field.Grade == 'very rare' then
            output = '[[File:Very_Rare_material.svg|35px|link=]] ' .. output
        elseif field.Grade == 'Common' or field.Grade == 'common' then
            output = '[[File:Common material.svg|35px|link=]] ' .. output
        elseif field.Grade == 'Standard' or field.Grade == 'standard' then
            output = '[[File:Standard_material.svg|35px|link=]] ' .. output
        else
            output = output
        end
    end
    return output
end

function Infobox.TableSplitRows( field, vars )
    local output = ''
    if not HF.isempty(field.Value) then
        local ships = HF.explode(';', field.Value)
        table.sort(ships)
        
        output =  '<tr class="eInfobox-infobox-custom custom-listitem"><td colspan="2">' ..
                table.concat(ships, '</td></tr><tr class="eInfobox-infobox-custom custom-listitem"><td colspan="2">') ..
                '</td></tr>'
 
        return output
    end
end


return Infobox