Module:MOS mode degrees: Difference between revisions
m TODO added |
Added option to collapse table |
||
| Line 53: | Line 53: | ||
-- Create a table of a mos's degrees | -- Create a table of a mos's degrees | ||
-- If a step pattern is provided, it's assumed to be that of a modmos | -- If a step pattern is provided, it's assumed to be that of a modmos | ||
function p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_mode_names, step_pattern) | function p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_mode_names, is_collapsed, step_pattern) | ||
local is_true_mos = step_pattern == nil | local is_true_mos = step_pattern == nil | ||
local input_mos = input_mos or mos.new(5, 2) | local input_mos = input_mos or mos.new(5, 2) | ||
local mos_prefix = mos_prefix or "mos" | local mos_prefix = mos_prefix or "mos" | ||
local is_collapsed = is_collapsed == true | |||
-- If default mode names are to be used, they'll overwrite whatever mode names are passed in, even if there aren't any | -- If default mode names are to be used, they'll overwrite whatever mode names are passed in, even if there aren't any | ||
| Line 129: | Line 129: | ||
-- Create table | -- Create table | ||
local result = "{| class=\"wikitable sortable\"\n" | local result = "{| class=\"wikitable sortable mw-collapsible" .. (is_collapsed and " mw-collapsed\"\n" or "\"\n") | ||
-- Table header | -- Table header | ||
| Line 322: | Line 322: | ||
end | end | ||
end | end | ||
-- Check if the table should start collapsed | |||
local is_collapsed = frame.args["Collapsed"] == "1" | |||
-- If a modmos step pattern was never provided, call the function mos_mode_degrees | -- If a modmos step pattern was never provided, call the function mos_mode_degrees | ||
| Line 327: | Line 330: | ||
local result = "" | local result = "" | ||
if step_pattern == "" then | if step_pattern == "" then | ||
result = p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_names) | result = p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_names, is_collapsed) | ||
--elseif #step_pattern == input_mos.nL + input_mos.ns then | --elseif #step_pattern == input_mos.nL + input_mos.ns then | ||
else | else | ||
result = p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_names, step_pattern) | result = p._mos_mode_degrees(input_mos, mos_prefix, mode_names, use_default_names, is_collapsed, step_pattern) | ||
end | end | ||