মডিউল:সুপার ওভার
মডিউল নথি[তৈরি করুন]
আপনি চাইলে এই স্ক্রিবুন্তো মডিউলের জন্য একটি নথির পাতা তৈরি করতে পারেন (তৈরি করুন) সম্পাদনাকারীগণ খেলাঘর (তৈরি করুন | আয়না) এবং পরীক্ষা পাতায় (তৈরি করুন) এই মডিউল সংক্রান্ত পরীক্ষা-নিরীক্ষা করতে পারেন। দয়া করে /নথি উপপাতায় বিষয়শ্রেণী যোগ করুন। এই মডিউলের উপপাতাসমূহ। |
--
-- This module will implement {{Super Over}}
--
local p = {}
local HtmlBuilder = require('Module:HtmlBuilder')
local args
local function getArgs(frame)
local parent_args = frame:getParent().args;
local args = {}
for k, v in pairs(parent_args) do
if v ~= '' then args[k] = v end
end
return args;
end
function addTableRow(tbl, small)
local row = tbl.tag('tr')
if small then
row.css('font-size', '85%')
end
return row
end
function renderScores(tbl)
local scoreRow = addTableRow(tbl, true)
scoreRow.tag('th')
scoreRow.tag('th').css('border-right-style', 'hidden')
scoreRow.tag('th').wikitext('মোট')
scoreRow.tag('th').wikitext(args.Score1)
scoreRow.tag('th').css('border-right-style', 'hidden')
scoreRow.tag('th').wikitext('মোট')
scoreRow.tag('th').wikitext(args.Score2)
end
function renderDelivery(tbl, b)
local ball = "B" .. tostring(b)
local bat1 = args[ball .. "T1Bat"]
local bat2 = args[ball .. "T2Bat"]
local bowl1, bowl2, run1, run2
if bat1 then
bowl1 = args.Team2Bowler
run1 = args[ball .. "T1Run"]
end
if bat2 then
bowl2 = args.Team1Bowler
run2 = args[ball .. "T2Run"]
end
if not run1 and not run2 then return false end
local deliveryRow = addTableRow(tbl, true)
if b ~= 1 then
deliveryRow.css('border-top-style', 'hidden')
end
deliveryRow.tag('td').wikitext(tostring(b))
deliveryRow.tag('td').wikitext(bowl1)
deliveryRow.tag('td').wikitext(bat1)
deliveryRow.tag('td').wikitext(run1)
deliveryRow.tag('td').wikitext(bowl2)
deliveryRow.tag('td').wikitext(bat2)
deliveryRow.tag('td').wikitext(run2)
return true
end
function renderHeading(tbl)
local titleRow = addTableRow(tbl, false)
titleRow.tag('th')
.attr('colspan', '7')
.css('background', '#ebf5ff')
.css('border', 'none')
.wikitext('[[সুপার ওভার]]')
local teamsRow = addTableRow(tbl, true)
local headerRow = addTableRow(tbl, true)
teamsRow.tag('th')
.attr('rowspan', '2')
.css('width', '10%')
.wikitext('ডেলিভারি')
for i = 1, 2 do
teamsRow.tag('th')
.attr('colspan', '3')
.wikitext(args["Team" .. tostring(i)])
headerRow.tag('th').css('width', '19%').wikitext('বোলার')
headerRow.tag('th').css('width', '19%').wikitext('ব্যাটসম্যান')
headerRow.tag('th').css('width', '7%').wikitext('রান')
end
end
function p.superOver(frame)
args = getArgs(frame)
local tbl = HtmlBuilder.create('table')
.addClass('wikitable')
.addClass('collapsible')
.addClass(args.state or 'collapsed')
.css('background', '#ebf5ff')
.css('text-align', 'center')
.css('width', '100%')
.css('border', 'none')
.css('margin', '0')
renderHeading(tbl)
local i = 1
local ball
while true do
if not renderDelivery(tbl, i) then break end
i = i + 1
end
renderScores(tbl)
return tostring(tbl)
end
return p