ATTENTION! The process of updating WiKi to version Eco 10.x has begun. Those wishing to participate can find out more Information on our ECO Contribution Wiki Discord.
From April 26 to May 12, errors may occur in the Wiki, as we will be carrying out a major update to the information processing modules.

Module:TagsList

From Eco - English Wiki
Revision as of 18:23, 20 February 2021 by ZeelNightwolf (talk | contribs) (Created page with "-- Credit: Original SkillList was created by Fyre (FishAus) then edited by Scotty (ZeelNightwolf) and used as a base for tagsList. local p = {} -- Grabs args from the parent...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation

This module provides the back end functionality of the Template:TagsList.

If the template is passed, this module creates a list using details from the following Modules:

Credit

Original SkillList was created by Fyre (FishAus) then edited by Scotty (ZeelNightwolf) and used as a base for TagsList.


-- Credit: Original SkillList was created by Fyre (FishAus) then edited by Scotty (ZeelNightwolf) and used as a base for tagsList.

local p = {}

-- Grabs args from the parent frame
-- Trims and parses the args into a table, then returns the table
function norm()
    local origArgs = mw.getCurrentFrame():getParent().args
    local args = {}
    
    for k, v in pairs( origArgs ) do
        v = mw.text.trim( tostring( v ) )
        if v ~= '' then
            args[k] = v
        end
    end
    
    return args
end

-- Main entry point for the Module
function p.main()
    -- get args from the Template
    local args = norm()
    
	if args.list == nil or args.list == '' then
        return '\'list\' must be specified.'
    end
	
    -- assign variables for list
    local list = args.list
	
    -- load lists
    local itemData = require( "Module:ItemData" )
	local tagList = ''

	--Check Passes
	if list ~= 'tags' then
        return tagsList .. ' Incorrect use of pass. '
    end	
	
	local a = {}
	--Talent List
	if list == 'tags' then
		tagsList = tagsList .. '=== Tags List ===\n'  
		tagsList = tagsList .. '<div style=\"column-count:3;-moz-column-count:3;-webkit-column-count:3\">\n'
    	
		for k,v in pairs(itemData.tags) do        
            if itemData.tags[k] ~= nil or itemData.tags[k] ~= '' then
               table.insert(a,k)
            end
        end
        table.sort(a)
        for i,n in ipairs(a) do
            tagsList = tagsList .. '* [[' .. n .. ']]\n'                
        end		
		
	tagsList = tagsList .. '</div>'
	end	

return tagsList
end

return p