Candy Crush Saga Fanon Wiki
Register
Advertisement

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

local p = {}
 
local function _sortItems( nativeArgs, orderedList )
    local sortedArgs = {}
    local ord = 1
 
    for iOrd, bOrd in ipairs(orderedList) do
        for iNat, bNat in ipairs(nativeArgs) do
            if bOrd == bNat then
                -- add match to ordered list
                sortedArgs[ord] = bNat
                ord = ord + 1
                break
            end
        end
        if (not nativeArgs[ord] or nativeArgs[ord] =='' ) then
            break -- found all arguments
        end
    end
    return sortedArgs
end
 
function p.displayBlockers( frame )
    a = frame.args
    if (not a[1]) or (a[1] == '') then
        return ''
    else
        local sorted = _sortItems(a, mw.loadData('Module:OrderedListBlockers'))
        return  frame:expandTemplate{ title = 'ShowBlockers', args = sorted }
    end
end

function p.displayBlockerCategories( frame )
    a = frame.args
    if (not a[1]) or (a[1] == '') then
        return ''
    else
        local sorted = _sortItems(a, mw.loadData('Module:OrderedListBlockers'))
        return  frame:expandTemplate{ title = 'ShowBlockerCategories', args = sorted }
    end
end

function p.displayBlockerLevel( frame )
    a = frame.args
    if (not a[1]) or (a[1] == '') then
        return ''
    else
        local sorted = _sortItems(a, mw.loadData('Module:OrderedListBlockersLevel'))
        return  frame:expandTemplate{ title = 'ShowBlockersLevel', args = sorted }
    end
end

function p.displayBlockerLevelCategories( frame )
    a = frame.args
    if (not a[1]) or (a[1] == '') then
        return ''
    else
        local sorted = _sortItems(a, mw.loadData('Module:OrderedListBlockersLevel'))
        return  frame:expandTemplate{ title = 'ShowBlockerLevelCategories', args = sorted }
    end
end
 
function p.displayBlockerRequirement( frame )
    a = frame.args
    if (not a[1]) or (a[1] == '') then
        return ''
    else
        local sorted = _sortItems(a, mw.loadData('Module:OrderedListBlockersLevel'))
        return  frame:expandTemplate{ title = 'ShowBlockersRequirement', args = sorted }
    end
end

function p.displayOtherFeatures( frame )
    a = frame.args
    if (not a[1]) or (a[1] == '') then
        return ''
    else
        local sorted = _sortItems(a, mw.loadData('Module:OrderedListFeatures'))
        return  frame:expandTemplate{ title = 'ShowOtherFeatures', args = sorted }
    end
end

function p.displayOtherFeatureCategories( frame )
    a = frame.args
    if (not a[1]) or (a[1] == '') then
        return ''
    else
        local sorted = _sortItems(a, mw.loadData('Module:OrderedListFeatures'))
        return  frame:expandTemplate{ title = 'ShowOtherFeatureCategories', args = sorted }
    end
end

return p
Advertisement