Перейти к содержанию

Модуль:Table empty cell

Материал из Википедии — свободной энциклопедии
Документация

Модуль используется для создания пустой ячейки таблицы с alt-текстом и всплывающей подсказкой.

Список параметров

[править код]
Параметр Описание Статус
  • alt_text
  • 1
Текст, который будет отображаться в ячейке. необязательный
  • title_text
  • 2
Текст, который будет показан при наведении курсора на ячейку. необязательный

Использование

[править код]
  • {{#invoke:Table empty cell|main}}TBA
  • {{#invoke:Table empty cell|main|alt_text=TBD }}TBD
  • {{#invoke:Table empty cell|main|alt_text=N/A |title_text=заданный текст }}N/A
local p = {}

-- List of default title texts.
local defaultTitleTextlist = {
	["TBA"] = "Будет объявлено позже",
	["TBD"] = "На стадии определения",
	["N/A"] = "Недоступно"	
}

-- Local function which is used to retrieve the title text.
local function getTitleText(args, altText)
	local titleText = args[2] or args["title_text"]

	-- If the title text was manually added, return it.
	if (titleText) then
		return titleText
	end
	
	-- The title text was not set, get the correct default text which corresponds to the alt text.
	for k, v in pairs(defaultTitleTextlist) do
		if (altText == k) then
			return v
		end
	end
	
	return ""
end

-- Local function which is used to retrieve the alt text.
local function getAltText(args)
	local altText = args[1] or args["alt_text"]
	
	if (altText == nil) then
		altText = "TBA"
	end
	
	return altText
end

-- Local function which does the actual main process.
function p._main(args)
	local altText = getAltText(args)
	local titleText = getTitleText(args, altText)

	return "<small style=\"color: #2C2C2C\" title=\"" .. titleText .. "\">" .. altText .. "</small>"
end

--[[
Public function which is used to create information for an empty text cell.

Parameters:
	-- |1= or |alt_text=		— optional; The text which will be written in the cell.
	-- |2= or |title_text=		— optional; The text which will be shown when hovering over the cell.
--]]
function p.main(frame)
	local getArgs = require('Module:Arguments').getArgs;
	local args = getArgs(frame);
	return p._main(args)
end

return p