跳转到内容

模組:NavboxV2/EvenoddContext

被永久保护的模块
维基百科,自由的百科全书

这是Module:NavboxV2/EvenoddContext当前版本,由Xiplus-abot留言 | 贡献编辑于2024年10月3日 (四) 20:51 (已保护“Module:NavboxV2/EvenoddContext”:​高風險模板:21967引用<!-- 機器人3 -->([编辑=仅允许模板编辑员](无限期)[移动=仅允许模板编辑员](无限期)))。这个网址是本页该版本的固定链接。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)
-- evenodd swap Context start
local EvenoddContext = {
	['_type'] = "eosContext",
	['evenodd'] = "",
	["currentVal"] = {},
	["nextVal"] = {},
	--[[ ['oddstyle'] = "",
	['evenstyle'] = "",]]
}
EvenoddContext.__index = EvenoddContext
function EvenoddContext.new(context,getArgFunc)
	local prefix = context.prefix
	local evenodd = getArgFunc(prefix, "evenodd", nil ,context)
	local a,b = "odd", "even"
	local noStyle = false	
	if evenodd == "odd" or evenodd == "even" then -- 奇偶锁定
		a , b = evenodd , evenodd
	elseif evenodd == "off" then --
		a , b ,noStyle = "off" , "off" , true
	elseif evenodd == "swap" then -- 对调
		a , b = b , a
	end
	
	local newObj = {}
	setmetatable(newObj, EvenoddContext)
	newObj.evenodd = evenodd
	newObj.currentVal = {a, 'navbox-' .. a }
	newObj.nextVal    = {b, 'navbox-' .. b }
	--[[newObj.oddstyle , newObj.evenstyle = 
		getArgFunc(prefix, "oddstyle", "") , getArgFunc(prefix, "evenstyle", "")]]
	return newObj
end

function EvenoddContext:current(isNext)
	local returnArr = self.currentVal
	if isNext == true then self.currentVal, self.nextVal = self.nextVal, self.currentVal end
	return unpack(returnArr)
end

function EvenoddContext:currentOddEven()
	return self:current()
end

function EvenoddContext:next()
	return self:current(true)
end

function EvenoddContext:evenoddArgValue()
	return self.evenodd
end

---------------------

return EvenoddContext