Модуль:tablerole

Вернуться

Строка 172: Строка 172:
     local cells = {}
     local cells = {}
      
      
     -- Первая ячейка — название роли со стилем
     -- Первая ячейка — название роли со стилем через mw.html
     table.insert(cells, string.format('|style="background-color:rgba(0, 0, 255, 0.12);"|\'\'\'%s\'\'\'', title))
     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 lowerVal = val and mw.text.trim(val):lower() or "нет"
        -- Безопасная проверка на пустоту (решает проблему с пустой строкой в 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, '|' .. expanded)
        local td = mw.html.create('td'):wikitext(expanded)
         table.insert(cells, tostring(td))
     end
     end