模块:Test:修订间差异

跳到导航 跳到搜索
添加2,947字节 、​ 2023年11月18日 (星期六)
无编辑摘要
无编辑摘要
无编辑摘要
第170行: 第170行:
             :css('white-space', 'nowrap')
             :css('white-space', 'nowrap')
     end
     end
function renderTable(args, columns_ids)
    local tbl = mw.html.create('table')
        :addClass('wikitable')
        :addClass('mw-collapsible')
        :addClass('plaincolumnsheaders')
        :css('overflow-x', 'auto')
        :css('width', "fit-content")
        :css('height', "fit-content")
       
    if args['collapsed'] then tbl:addClass('mw-collapsed') end
 
   
    if params["display_title"] == "true" then
        local caption = tbl:tag('caption')
        caption
            :wikitext(title)
            :css('white-space', 'nowrap')
    end


     renderHeader(tbl)
     renderHeader(tbl)
第191行: 第211行:
     end
     end
     table.sort(tot_row_ids)
     table.sort(tot_row_ids)
    -- extract columns_ids in each tables
    -- i hate lua why array subscribtion starts at 1
    local tot_columns_ids = {}
    for k, _ in pairs(args) do
        local anum = ('' .. k):match('^a(%d+)$')
        if anum then
            table.insert(tot_columns_ids, tonumber(anum))
        end
    end
    table.sort(tot_columns_ids)


     local tab_count = 0
     local tab_count = 0
第208行: 第239行:
         end
         end
         table.insert(tabs_row_ids[tab_count], a)
         table.insert(tabs_row_ids[tab_count], a)
        current_item_count = current_item_count + 1
        if current_item_count == current_max_item then
            current_item_count = 0
        end
    end
   
    local tabs_columns_ids = {}
    for i, a in ipairs(tot_columns_ids) do
        if current_item_count == 0 then
            if tab_count ~= 0 then table.sort(tabs_columns_ids[tab_count]) end
            tab_count = tab_count + 1
            if args["item_in_tab"..tostring(tab_count)] then
                current_max_item = tonumber(args["item_in_tab"..tostring(tab_count)])
            else
                current_max_item = tonumber(params["item_per_tab"])
            end
            tabs_columns_ids[tab_count] = {}
        end
        table.insert(tabs_columns_ids[tab_count], a)
         current_item_count = current_item_count + 1
         current_item_count = current_item_count + 1
         if current_item_count == current_max_item then
         if current_item_count == current_max_item then
第222行: 第272行:
             :css("box-shadow", params["shadow"])
             :css("box-shadow", params["shadow"])
         local tbl = renderTable(args, tot_row_ids)
         local tbl = renderTable(args, tot_row_ids)
        local tbl = renderTable(args, tot_columns_ids)
         constraint_div:node(tbl)
         constraint_div:node(tbl)
         return constraint_div
         return constraint_div
第256行: 第307行:
         end
         end
         current_count = current_count + tableLength(row_ids)
         current_count = current_count + tableLength(row_ids)
    end
    for i, columns_ids in ipairs(tabs_columns_ids) do
        local list_ele = tab_list:tag("li")
        if i == 1 then
            list_ele:addClass("active")
        end
        local ele_title = list_ele
            :addClass("tab")
            :tag("strong")
        if args[params['tab_prefix']..tostring(i)] then
            ele_title:wikitext(args[params['tab_prefix']..tostring(i)])
        else
            ele_title:wikitext(tostring(current_count).."~"..tostring(current_count+tableLength(columns_ids)-1))
        end
        current_count = current_count + tableLength(columns_ids)
     end
     end


第276行: 第343行:
         inner_content
         inner_content
             :addClass("inner-content")
             :addClass("inner-content")
             :css("columns", "1")
             :css("columns", "2")
             :css("width", "auto")
             :css("width", "auto")
             :css("height", "auto")
             :css("height", "auto")
         local content_tbl = renderTable(args, row_ids)
         local content_tbl = renderTable(args, row_ids)
        inner_content:node(content_tbl)
    end
        for i, columns_ids in ipairs(tabs_columns_ids) do
        local table_ele = tables_list:tag("div")
        if i == 1 then
            table_ele:addClass("active")
        end
        table_ele
            :addClass("tab-c")
            :css("width", "auto")
            :css("height", "auto")
        local inner_content = table_ele:tag("div")
        inner_content
            :addClass("inner-content")
            :css("columns", "2")
            :css("width", "auto")
            :css("height", "auto")
        local content_tbl = renderTable(args, columns_ids)
         inner_content:node(content_tbl)
         inner_content:node(content_tbl)
     end
     end
第328行: 第413行:
     return p._historicalActivity(args)
     return p._historicalActivity(args)
end
end
 
end
return p
return p
15,450

个编辑

导航菜单