Изменения

https://ru.wikipedia.org/w/index.php?diff=79066121
Строка 208: Строка 208:  
             :addClass(args.groupclass)
 
             :addClass(args.groupclass)
 
             :cssText(basestyle)
 
             :cssText(basestyle)
         
+
 
 +
-- заголовки без списков - для обратной совместимости, только в нашем разделе
 +
if not (args['list' .. listnum] or args['список' .. listnum]) then
 +
groupCell
 +
:attr('colspan', '2')
 +
:css('text-align', 'center')
 +
end
 +
 
 
         if args.groupwidth then
 
         if args.groupwidth then
 
             groupCell:css('width', args.groupwidth)
 
             groupCell:css('width', args.groupwidth)
Строка 219: Строка 226:  
     end
 
     end
   −
     local listCell = row:tag('td')
+
     if args['list' .. listnum] or args['список' .. listnum] then
 
+
    local listCell = row:tag('td')
    if (args['group' .. listnum] or args['заголовок' .. listnum]) then
+
        listCell
+
    if (args['group' .. listnum] or args['заголовок' .. listnum]) then
            :css('text-align', 'left')
+
        listCell
            :css('border-left-width', '2px')
+
            :css('text-align', 'left')
            :css('border-left-style', 'solid')
+
            :css('border-left-width', '2px')
    else
+
            :css('border-left-style', 'solid')
        listCell:attr('colspan', 2)
+
    else
    end
+
        listCell:attr('colspan', 2)
 +
    end
 +
 +
    if not args.groupwidth then
 +
        listCell:css('width', '100%')
 +
    end
 +
 +
    local isOdd = (listnum % 2) == 1
 +
    local rowstyle = evenstyle
 +
    if isOdd then rowstyle = oddstyle end
 +
 +
    local evenOdd
 +
    if args.evenodd == 'swap' then
 +
        if isOdd then evenOdd = 'even' else evenOdd = 'odd' end
 +
    else
 +
        if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end
 +
    end
 +
 +
    listCell
 +
        :css('padding', '0px')
 +
        :cssText(liststyle)
 +
        :cssText(rowstyle)
 +
        :cssText(args['list' .. listnum .. 'style'])
 +
        :addClass('navbox-list')
 +
        :addClass('navbox-' .. evenOdd)
 +
        :addClass(args.listclass)
 +
        :tag('div')
 +
            :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em')
 +
            :wikitext(addNewline(args['list' .. listnum] or args['список' .. listnum]))
   −
    if not args.groupwidth then
+
    if listnum == 1 and image then
        listCell:css('width', '100%')
+
        row
    end
+
            :tag('td')
 
+
                :addClass('navbox-image')
    local isOdd = (listnum % 2) == 1
+
                :addClass(args.imageclass)
    local rowstyle = evenstyle
+
                :css('width', '0%')
    if isOdd then rowstyle = oddstyle end
+
                :css('padding', '0px 0px 0px 7px')
 
+
                :cssText(args.imagestyle)
    local evenOdd
+
                :attr('rowspan', 2 * #listnums - 1)
    if args.evenodd == 'swap' then
+
                :tag('div')
        if isOdd then evenOdd = 'even' else evenOdd = 'odd' end
+
                :css('float', 'right')
    else
+
                    :wikitext(addNewline(image))
        if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end
+
    end
    end
+
end
 
  −
    listCell
  −
        :css('padding', '0px')
  −
        :cssText(liststyle)
  −
        :cssText(rowstyle)
  −
        :cssText(args['list' .. listnum .. 'style'])
  −
        :addClass('navbox-list')
  −
        :addClass('navbox-' .. evenOdd)
  −
        :addClass(args.listclass)
  −
        :tag('div')
  −
            :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em')
  −
            :wikitext(addNewline(args['list' .. listnum] or args['список' .. listnum]))
  −
 
  −
    if listnum == 1 and image then
  −
        row
  −
            :tag('td')
  −
                :addClass('navbox-image')
  −
                :addClass(args.imageclass)
  −
                :css('width', '0%')
  −
                :css('padding', '0px 0px 0px 7px')
  −
                :cssText(args.imagestyle)
  −
                :attr('rowspan', 2 * #listnums - 1)
  −
                :tag('div')
  −
                :css('float', 'right')
  −
                    :wikitext(addNewline(image))
  −
    end
   
end
 
end
   Строка 347: Строка 356:  
             :cssText(bodystyle)
 
             :cssText(bodystyle)
 
             :cssText(args.style)
 
             :cssText(args.style)
     else -- regular navobx - bodystyle and style will be applied to the wrapper table
+
     else -- regular navbox - bodystyle and style will be applied to the wrapper table
 
         tbl
 
         tbl
 
             :addClass('navbox-inner')
 
             :addClass('navbox-inner')
Строка 372: Строка 381:  
         if listnum then table.insert(listnums, tonumber(listnum)) end
 
         if listnum then table.insert(listnums, tonumber(listnum)) end
 
     end
 
     end
 +
   
 +
    -- заголовки без списков - для обратной совместимости, только в нашем разделе
 +
    for k, v in pairs(args) do
 +
    local double = false
 +
    local groupnum = ('' .. k):match('^заголовок(%d+)$') --group не нужен, так как в английском шаблоне эта фукнциональность не поддерживается
 +
    if groupnum then
 +
    for k2, v2 in pairs(listnums) do
 +
    if tonumber(groupnum) == v2 then double = true end
 +
    end
 +
    if not double then table.insert(listnums, tonumber(groupnum)) end --добавляем только номера заголовков, для которых нет списков
 +
    end
 +
    end
 +
   
 
     table.sort(listnums)
 
     table.sort(listnums)
  
Анонимный участник