Изменения

общая проверка на создание ячейки для списка, проверка на существование групп (группа+список) при объединении ячеек
Строка 230: Строка 230:  
--  List rows
 
--  List rows
 
--
 
--
 +
 +
local function haveSubgroups()
 +
for i = 1, 23 do
 +
if (args['group' .. i] or args['заголовок' .. i] or args['группа' .. i]) and (args['list' .. i] or args['список' .. i]) then
 +
return true
 +
end
 +
end
 +
return false
 +
end
 +
 
local function renderListRow(tbl, index, listnum)
 
local function renderListRow(tbl, index, listnum)
 
local row = addTableRow(tbl)
 
local row = addTableRow(tbl)
Строка 259: Строка 269:  
groupCell
 
groupCell
 
:css('text-align', 'center')
 
:css('text-align', 'center')
:attr('colspan', 2)
+
if haveSubgroups() then
 +
groupCell:attr('colspan', 2)
 +
end
 
end
 
end
   Строка 272: Строка 284:  
end
 
end
   −
local listCell = row:tag('td')
+
if args['list' .. listnum] or args['список' .. listnum] then -- проверка на наличие списков, иначе временный наш  безсписочный функционал не поддерживается
 +
local listCell = row:tag('td')
 
 
if args['list' .. listnum] or args['список' .. listnum] then -- проверка на наличие списков, иначе временный наш функционал не поддерживается
   
if (args['group' .. listnum] or args['заголовок' .. listnum] or args['группа' .. listnum]) then
 
if (args['group' .. listnum] or args['заголовок' .. listnum] or args['группа' .. listnum]) then
 
listCell
 
listCell
Строка 281: Строка 293:  
:css('border-left-style', 'solid')
 
:css('border-left-style', 'solid')
 
else
 
else
listCell:attr('colspan', 2)
+
if haveSubgroups() then
 +
listCell
 +
:attr('colspan', 2)
 +
end
 
end
 
end
 
 
Строка 287: Строка 302:  
listCell:css('width', '100%')
 
listCell:css('width', '100%')
 
end
 
end
end
   
 
local rowstyle  -- usually nil so cssText(rowstyle) usually adds nothing
+
local rowstyle  -- usually nil so cssText(rowstyle) usually adds nothing
if index % 2 == 1 then
+
if index % 2 == 1 then
rowstyle = oddstyle
+
rowstyle = oddstyle
else
+
else
rowstyle = evenstyle
+
rowstyle = evenstyle
end
+
end
 
 
if args['list' .. listnum] or args['список' .. listnum] then -- авточередование не будет работать, если существует заголовок без списка
   
local listText = args['list' .. listnum] or args['список' .. listnum]
 
local listText = args['list' .. listnum] or args['список' .. listnum]
 
local oddEven = ODD_EVEN_MARKER
 
local oddEven = ODD_EVEN_MARKER
Строка 314: Строка 327:  
:css('padding', (index == 1 and args.list1padding) or listpadding or '0em 0.25em')
 
:css('padding', (index == 1 and args.list1padding) or listpadding or '0em 0.25em')
 
:wikitext(addNewline(listText))
 
:wikitext(addNewline(listText))
end
+
end
+
 
 
if index == 1 and image then
 
if index == 1 and image then
 
row
 
row
Анонимный участник