"ମଡ୍ୟୁଲ:Message box" ପୃଷ୍ଠାର ସଂସ୍କରଣ‌ଗୁଡ଼ିକ ମଧ୍ୟରେ ତଫାତ

Content deleted Content added
fix talk page links, and fix bug producing spurious WhatLinksHere links (however note that a link will appear for Foo if the code "talk=Foo" is used)
fix bug for data being shared between multiple message boxes called from the same module; allow boxes to be hidden; use Module:Arguments to fetch the arguments
୨ କ ଧାଡ଼ି:
 
-- Require necessary modules.
local getArgs = require('Module:Arguments').getArgs
local htmlBuilder = require('Module:HtmlBuilder')
local categoryHandler = require('Module:Category handler').main
Line ୧୮ ⟶ ୧୯:
local trim = mw.text.trim
 
--------------------------------------------------------------------------------
local box = {}
-- Helper functions
--------------------------------------------------------------------------------
 
local function getTitleObject(page, ...)
Line ୫୮ ⟶ ୬୧:
table.sort(nums)
return nums
end
 
--------------------------------------------------------------------------------
-- Box class definition
--------------------------------------------------------------------------------
 
local box = {}
box.__index = box
 
function box.new()
local argsobj = {}
setmetatable(obj, box)
return obj
end
 
Line ୧୯୫ ⟶ ୨୧୧:
if self.isSmall then
self:addClass(cfg.smallClass or 'mbox-small')
end
if yesno(args.hidden) then
self:addClass('infobox editsection')
end
self:addClass(self.typeClass)
Line ୫୩୪ ⟶ ୫୫୩:
 
local function main(boxType, args)
local outputBox = box.new()
boxoutputBox:setTitle(args)
local cfg = boxoutputBox:getConfig(boxType)
args = box:removeBlankArgs(cfg, args)
boxargs = outputBox:setBoxParametersremoveBlankArgs(cfg, args)
outputBox:setBoxParameters(cfg, args)
return boxoutputBox:export()
end
 
local function makeWrapper(boxType)
return function (frame)
local args = getArgs(frame, {trim = false, removeBlanks = false})
-- If called via #invoke, use the args passed into the invoking
-- template, or the args passed to #invoke if any exist. Otherwise
-- assume args are being passed directly in from the debug console
-- or from another Lua module.
local origArgs
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
for k, v in pairs(frame.args) do
origArgs = frame.args
break
end
else
origArgs = frame
end
-- Trim whitespace.
local args = {}
for k, v in pairs(origArgs) do
if type(v) == 'string' then
v = trim(v)
end
args[k] = v
end
return main(boxType, args)
end