Модуль:tablerole
| Строка 172: | Строка 172: | ||
local cells = {} | local cells = {} | ||
-- Первая ячейка — название роли со стилем | -- Первая ячейка — название роли со стилем через mw.html | ||
local titleTd = mw.html.create('td') | |||
:css('background-color', 'rgba(0, 0, 255, 0.12)') | |||
:wikitext("'''" + title + "'''") -- или "'''" .. title .. "'''" | |||
table.insert(cells, tostring(titleTd)) | |||
-- Перебираем все навыки в строгом порядке из predefinedOrder | -- Перебираем все навыки в строгом порядке из predefinedOrder | ||
| Строка 186: | Строка 189: | ||
end | end | ||
local | -- Безопасная проверка на пустоту (решает проблему с пустой строкой в Lua) | ||
local trimmedVal = (val and type(val) == "string") and mw.text.trim(val) or "" | |||
local lowerVal = trimmedVal == "" and "нет" or trimmedVal:lower() | |||
-- Выбираем шаблон в зависимости от значения | -- Выбираем шаблон в зависимости от значения | ||
| Строка 194: | Строка 199: | ||
end | end | ||
-- Рендерим шаблон через Lua API | -- Рендерим шаблон через Lua API и оборачиваем в mw.html ячейку | ||
local expanded = frame:expandTemplate{ title = templateName } | local expanded = frame:expandTemplate{ title = templateName } | ||
table.insert(cells, | local td = mw.html.create('td'):wikitext(expanded) | ||
table.insert(cells, tostring(td)) | |||
end | end | ||