Модуль:chemcard
| Строка 66: | Строка 66: | ||
local function buildRecipeHtml(rec, index) | local function buildRecipeHtml(rec, index) | ||
if not rec or (#rec.inputs == 0 and #rec.outputs == 0) then return nil end | if not rec or (#rec.inputs == 0 and #rec.outputs == 0) then return nil end | ||
local container = html.create("div"):addClass("chem-recipe-block") | local container = html.create("div"):addClass("chem-recipe-block") | ||
| Строка 80: | Строка 77: | ||
local collapsible = html.create("div"):addClass("collapsible collapsed"):attr("data-kind", "recipe") | local collapsible = html.create("div"):addClass("collapsible collapsed"):attr("data-kind", "recipe") | ||
local inner = html.create("div"):addClass("chem-recipe") | local inner = html.create("div"):addClass("chem-recipe") | ||
-- INPUTS | -- INPUTS (левая колонка) | ||
local inputsDiv = html.create("div"):addClass("recipe-inputs") | local inputsDiv = html.create("div"):addClass("recipe-inputs") | ||
for _, it in ipairs(rec.inputs) do | for _, it in ipairs(rec.inputs) do | ||
local item = inputsDiv:tag("div"):addClass("recipe-item") | local item = inputsDiv:tag("div"):addClass("recipe-item") | ||
-- Используем MediaWiki-синтаксис файла — надёжно рендерится | |||
item:wikitext('[[File:Beaker.png|36px|class=chem-beaker]] ' .. it.name .. ' [' .. it.qty .. ']') | |||
item: | |||
end | end | ||
inner:node(inputsDiv) | inner:node(inputsDiv) | ||
-- | -- Действие | ||
if rec.action ~= "" then | if rec.action ~= "" then | ||
local actionDiv = inner:tag("div"):addClass("recipe-action") | local actionDiv = inner:tag("div"):addClass("recipe-action") | ||
| Строка 103: | Строка 95: | ||
end | end | ||
-- OUTPUTS | -- OUTPUTS (правая колонка) | ||
local outputsDiv = html.create("div"):addClass("recipe-outputs") | local outputsDiv = html.create("div"):addClass("recipe-outputs") | ||
for _, it in ipairs(rec.outputs) do | for _, it in ipairs(rec.outputs) do | ||
local item = outputsDiv:tag("div"):addClass("recipe-item") | local item = outputsDiv:tag("div"):addClass("recipe-item") | ||
item:wikitext('[[File:Beaker.png|36px|class=chem-beaker]] ' .. it.name .. ' [' .. it.qty .. ']') | |||
end | end | ||
inner:node(outputsDiv) | inner:node(outputsDiv) | ||