Editing Module:Infobox

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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)
local param = {
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)
local param = {
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)
local param = {
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
local data_attr_param = self:add_switch_data(v.content)
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()
local function insert_version_name(version_name)
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[i] = self:get_param(func_param, version)
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
local class_name = self:get_param(class, self.default_version)
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
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
local value = self:get_param(self.smw_param(param_name), version)
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
local data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name)
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
local text = self:get_param(content, version)
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 574:
-- Create categories
-- Create categories
local category_text = ''
local category_text = ''
for key, _ in pairs(self.categories) do
if mw.title.getCurrentTitle():inNamespace(0) then
category_text = category_text..'[[Category:'..key..']]'
for key, _ in pairs(self.categories) do
category_text = category_text..'[[Category:'..key..']]'
end
end
end
local dump = ''
local dump = ''
Please note that all contributions to Brighter Shores Wiki are considered to be released under the CC BY-NC-SA 3.0 (see Brighter Shores:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)
Preview page with this template

This page is a member of a hidden category: