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 29: | Line 28: | ||
max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu |
max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu |
||
default_version = 1, -- default version to populate the infobox |
default_version = 1, -- default version to populate the infobox |
||
versions = |
versions = 0, -- number of versions |
||
version_names = {}, -- title of each version (for selection and SMW) |
version_names = {}, -- title of each version (for selection and SMW) |
||
rtable = nil, -- infobox table to return at the end |
rtable = nil, -- infobox table to return at the end |
||
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 |
||
class_name = self:get_param(class, self.default_version) |
|||
if type(class_name) == 'string' then |
if type(class_name) == 'string' then |
||
self.rtable:addClass('infobox-'..mw.ustring.gsub(class_name, '%s', '_')) |
self.rtable:addClass('infobox-'..mw.ustring.gsub(class_name, '%s', '_')) |
||
Line 474: | Line 471: | ||
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 552: | ||
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 580: | Line 577: | ||
-- Create categories |
-- Create categories |
||
local category_text = '' |
local category_text = '' |
||
⚫ | |||
if mw.title.getCurrentTitle():inNamespace(0) then |
|||
⚫ | |||
⚫ | |||
⚫ | |||
end |
|||
end |
end |
||
local dump = '' |
local dump = '' |