• Welcome to the Kancolle Wiki!
  • If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord

Changes

Jump to navigation Jump to search
Common base class for table generators.
local BaseData = require('Module:BaseData')

local BaseTable = BaseData{
_table_start = [[{| class="wikitable"]],
_row_starter = "|-",
_header_template = "",
_column_header_cell_template = "! ${value}",
_cell_color = {
},
_cell = [[| colspan="1" rowspan="${rowspan}" style="text-align: ${text_align}; background-color: ${bg_color}; padding:5px 5px 5px 5px;" |${values.value}]],
_column_cell_templates = {
},
_good_stat_color = "#ffff40",
_outstanding_stat_color = "#73ff4d",
_transparent = "transparent",
_start_align = "start",
_center_align = "center",
_notes_suffix = "_notes",
_highlight_suffix = "_highlight",
_table_end = [[|}]],
_operators = {
["<"] = function(x,y) return x < y end,
[">"] = function(x,y) return x > y end,
},
}

function BaseTable:Table(args)
return self{
_args = args,
}:create_table()
end

function BaseTable:get_bg_color(default, value, operator, outstanding, good)
if not value then
return default or self._transparent
end
local comparison = self._operators[operator or ">"]
if outstanding and comparison(value, tonumber(outstanding)) then
return self._outstanding_stat_color
elseif good and comparison(value, tonumber(good)) then
return self._good_stat_color
else
return default or self._transparent
end
end

function BaseTable.compare_values(val1, val2)
if #val1 == #val2 then
for value_type, value in pairs(val1) do
if value ~= val2[value_type] then
return false
end
end
else
return false
end
return true
end
Anonymous user

Navigation menu