Module:PHLawAmend/list

local p = {} abbrsModule = require( "Module:PHLawAmend/abbrs" ) abbrs = abbrsModule.main

function p.list( frame ) --Check if theres a president abbr if string.find(frame.args[3], "%(%a+%)") then local presStart, presEnd = string.find(frame.args[3], "%(%a+%)") local pres = abbrsModule.presidents[string.sub(frame.args[3], presStart+1, presEnd-1)][1] cat = abbrs[frame.args[1]][2]..pres..'/' .. frame.args[2] .. '/' .. frame.args[3] else cat = abbrs[frame.args[1]][2]..'/' .. frame.args[2] .. '/' .. frame.args[3] end a = frame:callParserFunction("#ifexist", "Category:"..cat, frame:preprocess( "".. "\ncategory="..cat.. "\nmode=none".. "\nordermethod=sortkey".. "\nnamespace=main".. "" ), '')   return a end

function p.statusText( frame ) repeal = frame:callParserFunction("#ifexist", "Category:"..abbrs[frame.args[1]][2]..'/repeal/' .. frame.args[2], "true", "false") amend = frame:callParserFunction("#ifexist", "Category:"..abbrs[frame.args[1]][2]..'/amend/' .. frame.args[2], "true", "false") if (repeal == "true" and amend == "true") then return "Amended and repealed (whole or part)" elseif (repeal == "true" and amend == "false") then return "Repealed (whole or part)" elseif (repeal == "false" and amend == "true") then return "Amended" else return "In force" end end

function p.statusStyle( frame ) repeal = frame:callParserFunction("#ifexist", "Category:"..abbrs[frame.args[1]][2]..'/repeal/' .. frame.args[2], "true", "false") amend = frame:callParserFunction("#ifexist", "Category:"..abbrs[frame.args[1]][2]..'/amend/' .. frame.args[2], "true", "false") if (repeal == "true" and amend == "true") then return "background-color: #FFFFCC;" elseif (repeal == "true" and amend == "false") then return "background-color: #ed9a9a;" elseif (repeal == "false" and amend == "true") then return "background-color: #AAF0D1;" else return "background-color: #8dd6a0;" end end return p