پودمان:Judicial verdict

توضیحات این پودمان می‌تواند در پودمان:Judicial verdict/توضیحات قرار گیرد.

local p = {}
local converter = require("Module:Numeral converter")

function createItem(colorModifier, iconModifier, catName, subText)
    local s1 = '<div class="content-improvement-item ' .. colorModifier .. ' ' .. iconModifier .. '">'
    local s2 = '[[:رده:' .. catName .. '|<span><span class="content-improvement-item__number">'
    local s3 = converter.convert("fa", mw.site.stats.pagesInCategory(catName, pages))
    local s4 = '</span> مورد</span> <span>' .. subText .. '</span>]]</div>'
    return s1 .. s2 .. s3 .. s4
end

local data = {
    createItem('-color-blue', '-icon-editUndo', 'دادنامه و رای کیفری دادگاه تجدید نظر', 'دادنامه و رای کیفری دادگاه تجدید نظر'),
    createItem('-color-green', '-icon-tableMergeCells', 'آراء شعب حقوقی دیوان عالی کشور', 'آراء شعب حقوقی دیوان عالی کشور'),
    createItem('-color-blue', '-icon-searchCaseSensitive', 'دادنامه و رای حقوقی دادگاه تجدید نظر', 'دادنامه و رای حقوقی دادگاه تجدید نظر'),
    createItem('-color-red', '-icon-alert', 'آراء تجدیدنظر دیوان عدالت اداری', 'آراء تجدیدنظر دیوان عدالت اداری'),
    createItem('-color-blue', '-icon-tag', 'آراء شعبه دیوان عدالت اداری', 'آراء شعبه دیوان عدالت اداری'),
    createItem('-color-blue', '-icon-tag', 'آراء شعب تشخیص دیوان عدالت اداری', 'آراء شعب تشخیص دیوان عدالت اداری'),
    createItem('-color-red', '-icon-language', 'آرای وحدت رویه دیوان عالی کشور', 'آرای وحدت رویه دیوان عالی کشور'),
    createItem('-color-red', '-icon-language', 'آراء شعب کیفری دیوان عالی کشور', 'آراء شعب کیفری دیوان عالی کشور'),
    createItem('-color-green', '-icon-link', 'نظرات مشورتی اداره کل حقوقی قوه قضائیه', 'نظرات مشورتی اداره کل حقوقی قوه قضائیه'),
    createItem('-color-red', '-icon-reference', 'آراء هیات تخصصی دیوان عدالت اداری', 'آراء هیات تخصصی دیوان عدالت اداری'),
    createItem('-color-blue', '-icon-eye', 'آراء هیات عمومی دیوان عدالت اداری', 'آراء هیات عمومی دیوان عدالت اداری'),
    -- اضافه کردن موارد بیشتر برای نمایش ۱۸ مورد
    createItem('-color-blue', '-icon-plus', 'نمونه رده ۱', 'نمونه رده ۱'),
    createItem('-color-green', '-icon-star', 'نمونه رده ۲', 'نمونه رده ۲'),
    createItem('-color-blue', '-icon-pencil', 'نمونه رده ۳', 'نمونه رده ۳'),
    createItem('-color-red', '-icon-bell', 'نمونه رده ۴', 'نمونه رده ۴'),
    createItem('-color-blue', '-icon-lock', 'نمونه رده ۵', 'نمونه رده ۵'),
    createItem('-color-blue', '-icon-flag', 'نمونه رده ۶', 'نمونه رده ۶'),
    createItem('-color-red', '-icon-cog', 'نمونه رده ۷', 'نمونه رده ۷'),
}

function p.main(frame)
    local result = ""
    local dataShuffled = FYShuffle(data)
    for i = 1, 18, 1 do
        if (i - 1) % 6 == 0 then
            result = result .. '<div class="content-improvement-row">'
        end
        result = result .. dataShuffled[i]
        if i % 6 == 0 then
            result = result .. '</div>'
        end
    end
    if #dataShuffled % 6 ~= 0 then
        result = result .. '</div>'
    end
    return result
end

-- Source: https://stackoverflow.com/questions/35572435/how-do-you-do-the-fisher-yates-shuffle-in-lua
function FYShuffle(tInput)
    math.randomseed(os.time())
    local tReturn = {}
    for i = #tInput, 1, -1 do
        local j = math.random(i)
        tInput[i], tInput[j] = tInput[j], tInput[i]
        table.insert(tReturn, tInput[i])
    end
    return tReturn
end

return p