Editing Module:Infobox
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 4: | Line 4: | ||
-- <nowiki> |
-- <nowiki> |
||
require('strict') |
|||
local editbutton = require('Module:Edit button') |
local editbutton = require('Module:Edit button') |
||
local smwutils = require('Module:SMW Utils') |
local smwutils = require('Module:SMW Utils') |
||
Line 59: | Line 58: | ||
--]] |
--]] |
||
function Infobox.param(param_name) |
function Infobox.param(param_name) |
||
param = { |
|||
property = 'args_parsed', |
property = 'args_parsed', |
||
param_name = param_name, |
param_name = param_name, |
||
Line 72: | Line 71: | ||
--]] |
--]] |
||
function Infobox.raw_param(param_name) |
function Infobox.raw_param(param_name) |
||
param = { |
|||
property = 'args_raw', |
property = 'args_raw', |
||
param_name = param_name, |
param_name = param_name, |
||
Line 85: | Line 84: | ||
--]] |
--]] |
||
function Infobox.smw_param(param_name) |
function Infobox.smw_param(param_name) |
||
param = { |
|||
property = 'args_smw', |
property = 'args_smw', |
||
param_name = param_name, |
param_name = param_name, |
||
Line 172: | Line 171: | ||
_cell:wikitext(content) |
_cell:wikitext(content) |
||
-- Add the switch data if multiple values exist |
-- Add the switch data if multiple values exist |
||
data_attr_param = self:add_switch_data(v.content) |
|||
if data_attr_param then |
if data_attr_param then |
||
_cell:attr('data-attr-param', data_attr_param) |
_cell:attr('data-attr-param', data_attr_param) |
||
Line 238: | Line 237: | ||
--]] |
--]] |
||
function Infobox:parse_versions() |
function Infobox:parse_versions() |
||
function insert_version_name(version_name) |
|||
table.insert(self.version_names, version_name) |
table.insert(self.version_names, version_name) |
||
if smwutils.valid_subobject_name(version_name) == false then |
if smwutils.valid_subobject_name(version_name) == false then |
||
Line 369: | Line 368: | ||
local func_params = func.params |
local func_params = func.params |
||
local func_fetched_params = {} |
local func_fetched_params = {} |
||
local i = 1 |
|||
for _, func_param in ipairs(func_params) do |
for _, func_param in ipairs(func_params) do |
||
func_fetched_params |
table.insert(func_fetched_params, self:get_param(func_param, version)) |
||
i = i + 1 |
|||
end |
end |
||
return func_name(unpack(func_fetched_params)) |
return func_name(unpack(func_fetched_params)) |
||
Line 412: | Line 409: | ||
:addClass('infobox-'..self.infobox_name) |
:addClass('infobox-'..self.infobox_name) |
||
for _, class in ipairs(self.classes) do |
for _, class in ipairs(self.classes) do |
||
self.rtable:addClass('infobox-'..mw.ustring.gsub(self:get_param(class, self.default_version)), '%s', '_') |
|||
if type(class_name) == 'string' then |
|||
self.rtable:addClass('infobox-'..mw.ustring.gsub(class_name, '%s', '_')) |
|||
⚫ | |||
end |
end |
||
-- Create the switch datatable if multiple versions |
-- Create the switch datatable if multiple versions |
||
Line 474: | Line 468: | ||
local property = self.params[param_name].smw_property |
local property = self.params[param_name].smw_property |
||
if property then |
if property then |
||
value = self:get_param(self.smw_param(param_name), version) |
|||
if value ~= nil then |
if value ~= nil then |
||
subobject[property] = value |
subobject[property] = value |
||
Line 555: | Line 549: | ||
name = 'smw__' + name |
name = 'smw__' + name |
||
end |
end |
||
data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) |
|||
-- Add each version to the datatable |
-- Add each version to the datatable |
||
for version=1, self.versions do |
for version=1, self.versions do |
||
text = self:get_param(content, version) |
|||
if text == nil then |
if text == nil then |
||
text = self.params[content.param_name].empty |
text = self.params[content.param_name].empty |
||
Line 568: | Line 562: | ||
end |
end |
||
local episode_classes = { |
|||
['hopeport'] = 'hopeport', |
|||
['hopeforest'] = 'hopeforest', |
|||
['mine of mantuban'] = 'mantuban', |
|||
['crenopolis'] = 'crenopolis', |
|||
} |
|||
function Infobox:set_episode_class(ep_param) |
|||
ep_param = string.lower(ep_param or '') |
|||
if episode_classes[ep_param] ~= nil then |
|||
self:addClass('infobox-'..episode_classes[ep_param]) |
|||
⚫ | |||
⚫ | |||
--[[ |
--[[ |
||
Line 580: | Line 587: | ||
-- Create categories |
-- Create categories |
||
local category_text = '' |
local category_text = '' |
||
⚫ | |||
if mw.title.getCurrentTitle():inNamespace(0) then |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||
local dump = '' |
local dump = '' |