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