| Line 6: |
Line 6: |
| | | | |
| | table_header = [[{| class="wikitable mw-collapsible mw-collapsed typography-xl-optout branching-table" style="width:${width};" | | table_header = [[{| class="wikitable mw-collapsible mw-collapsed typography-xl-optout branching-table" style="width:${width};" |
| − | |- | + | |- class="mw-customtoggle-${id}" style="cursor:pointer;" |
| − | !colspan="3"|<span style="float:left;padding-left:10px;">Branching Rules</span>
| + | !colspan="3"|Branching Rules |
| − | |- | + | |- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-${id}" |
| | !colspan="2"|Nodes||Rules]], | | !colspan="2"|Nodes||Rules]], |
| | | | |
| | table_footer = "|}", | | table_footer = "|}", |
| | | | |
| − | table_row_start = [[|- | + | table_row_start = [[|- class="mw-collapsible mw-collapsed" id="mw-customcollapsible-${id}" |
| | |rowspan="${rowspan}" style="text-align:center;vertical-align:middle;width:10%"|${from}]], | | |rowspan="${rowspan}" style="text-align:center;vertical-align:middle;width:10%"|${from}]], |
| | | | |
| Line 31: |
Line 31: |
| | empty = "#40C4FF", -- Light Blue A200 | | empty = "#40C4FF", -- Light Blue A200 |
| | } | | } |
| | + | |
| | + | local special_parameters = { "width", "id" } |
| | | | |
| | function formatNodeLabel(label, color) | | function formatNodeLabel(label, color) |
| Line 45: |
Line 47: |
| | local branching = { index = {}, } | | local branching = { index = {}, } |
| | for route, rules in pairs(args) do | | for route, rules in pairs(args) do |
| − | if route ~= "width" then | + | if not find(special_parameters, route) then |
| | local from, to = route:match("(%S+)%s*->%s*(%S+)") | | local from, to = route:match("(%S+)%s*->%s*(%S+)") |
| | local from_color = from:match("%S+/(%S+)") | | local from_color = from:match("%S+/(%S+)") |
| Line 68: |
Line 70: |
| | end | | end |
| | local rows = {} | | local rows = {} |
| − | table.insert(rows, format{templates.table_header, width = args.width or "100%"}) | + | table.insert(rows, format{ |
| | + | templates.table_header, |
| | + | width = args.width or "100%", |
| | + | id = args.id or "mapbranchingtable", |
| | + | }) |
| | for _, from in ipairs(branching.index) do | | for _, from in ipairs(branching.index) do |
| | table.insert(rows, format{ | | table.insert(rows, format{ |