Module:DisplayFunctions: Difference between revisions

From Sekaipedia
Content added Content deleted
No edit summary
No edit summary
Line 13: Line 13:
end
end


function Functions.generateLink(pageName)
function Functions.link(pageName)
if pageName == nil or pageName == '' then return nil end
if pageName == nil or pageName == '' then return nil end
Line 19: Line 19:
end
end


function Functions.generateList(listType)
function Functions.generateLink(pageName)
return Functions.link(pageName)
end

function Functions.list(listType)
return function(array)
return function(array)
if array == nil then return nil end
if array == nil then return nil end
Line 29: Line 33:
return List.renderList(data)
return List.renderList(data)
end
end
end

function Functions.generateList(listType)
return Functions.list(listType)
end
end



Revision as of 23:03, 17 October 2022


This module contains several display helper functions for the Module:InfoboxBuilder and Module:DatatableBuilder. The only dependency this module has is Module:List; this is required to use list(listType) and is only loaded when needed.

Functions

image

DisplayFunctions.image(imageSize)

Pass the desired image size as a parameter when setting it as the display function for a row. When called, this function will return a function that uses the first parameter as the filename.

link

DisplayFunctions.link

When called, this function will use the first parameter as the link.

list

DisplayFunctions.list(listType)

Pass the desired type of list as a parameter when setting it as the display function for a row. When called, this function will return a function that turns an array into a list.

Valid list types are:

  • bulleted
  • unbulleted
  • horizontal
  • ordered
  • horizontal_ordered

Examples of these lists can be found on Wikipedia's documentation for Module:List.

trueFalseOther

DisplayFunctions.trueFalseOther(trueVal, falseVal, otherVal)

Pass the true value, false value, and value if other as parameters when setting it as the display function for a row. When called, this function will return a function that takes a boolean value and returns the corresponding true, false, or other value.

yesAndNo

DisplayFunctions.yesAndNo

When called, this function will display "Yes" for true, "No" for false, and nil for everything else. This is a special case of trueFalseOther(trueVal, falseVal, otherVal).

checkAndX

DisplayFunctions.checkAndX

When called, this function will display "✓" for true, "✗" for false, and nil for everything else. This is a special case of trueFalseOther(trueVal, falseVal, otherVal).

pluralHeader

DisplayFunctions.pluralHeader(forms)

Pass in a table of grammatical forms (see MediaWiki's documentation on the correct format) as the parameter when setting it as the display function for a row. When called, this function will return a function that selects the correct plurality based on the array passed in as parameter.

minutesAndSeconds

DisplayFunctions.minutesAndSeconds

When called, this function will format a number (assumed to be seconds) into the "m:ss" format.

hoursAndMinutes

DisplayFunctions.hoursAndMinutes

When called, this function will format a number (assumed to be minutes, with decimals being assumed to be seconds) into the "h:mm:ss" format. If you pass in "65.67" you will get "1:05:40".


local Functions = {}

function Functions.image(imageSize)
	return function(imageName)
		if imageName == nil or imageName == '' then return nil end
		
		return string.format('[[File:%s|%s]]', imageName, imageSize)
	end
end

function Functions.generateImage(imageSize)
	return Functions.image(imageSize)
end

function Functions.link(pageName)
	if pageName == nil or pageName == '' then return nil end
	
	return string.format('[[%s]]', pageName)
end

function Functions.generateLink(pageName)
	return Functions.link(pageName)
end

function Functions.list(listType)
	return function(array)
		if array == nil then return nil end
		
		local List = require('Module:List')
		
		local data = List.makeListData(listType, array)
		
		return List.renderList(data)
	end
end

function Functions.generateList(listType)
	return Functions.list(listType)
end

return Functions
Cookies help us deliver our services. By using our services, you agree to our use of cookies.