Difference between revisions of "Module:If preview"

From blackwiki
Jump to navigation Jump to search
blackwiki>Evad37
(module to help templates/modules determine if they are being previewed)
 
blackwiki>Evad37
(replace is_set with code from Module:Citation/CS1/Utilities. Note previous edit was derived from Module:Citation/CS1/sandbox code.)
Line 14: Line 14:
 
local result = ''
 
local result = ''
 
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id
 
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id
−
if is_set (Preview_mode) then -- if there is a value then this is not a preiview
+
if not (Preview_mode == nil or Preview_mode == '') then -- if there is a value then this is not a preiview
 
result = frame.args[2] or '';
 
result = frame.args[2] or '';
 
else
 
else
Line 36: Line 36:
 
local result = ''
 
local result = ''
 
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id
 
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id
−
if is_set (Preview_mode) then -- if there is a value then this is not a preiview
+
if not (Preview_mode == nil or Preview_mode == '') then -- if there is a value then this is not a preiview
 
result = frame.args[2]
 
result = frame.args[2]
 
else
 
else
Line 57: Line 57:
 
local result = ''
 
local result = ''
 
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id
 
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id
−
if is_set (Preview_mode) then -- if there is a value then this is not a preiview
+
if not (Preview_mode == nil or Preview_mode == '') then -- if there is a value then this is not a preiview
 
result = false;
 
result = false;
 
else
 
else

Revision as of 05:44, 13 May 2016

A module to help templates/modules determine if they are being previewed.


local p = {}

--[[
main

This function returns the either the first argument or second argument passed to this module, depending on whether it is being previewed.

Usage:
{{#invoke:If preview|main|value_if_preview|value_if_not_preview}}

]]

function p.main(frame)
	local result = ''
	Preview_mode = frame:preprocess('{{REVISIONID}}');							-- use magic word to get revision id
	if not (Preview_mode == nil or Preview_mode == '') then										-- if there is a value then this is not a preiview
		result = frame.args[2] or '';
	else
		result = frame.args[1] or '';									-- no value (nil or empty string) so this is a preview
	end
	return result
end

--[[
pmain

This function returns the either the first argument or second argument passed to this module's parent (i.e. template using this module), depending on whether it is being previewed.

Usage:
{{#invoke:If preview|pmain}}

]]

function p.pmain(frame)
	local parent = frame.getParent(frame)
	local result = ''
	Preview_mode = frame:preprocess('{{REVISIONID}}');							-- use magic word to get revision id
	if not (Preview_mode == nil or Preview_mode == '') then										-- if there is a value then this is not a preiview
		result = frame.args[2]
	else
		result = frame.args[1];										-- no value (nil or empty string) so this is a preview
	end
	return result
end

--[[
boolean

This function returns the either true or false, depending on whether it is being previewed.

Usage:
{{#invoke:If preview|boolean}}

]]

function p.main(frame)
	local result = ''
	Preview_mode = frame:preprocess('{{REVISIONID}}');							-- use magic word to get revision id
	if not (Preview_mode == nil or Preview_mode == '') then										-- if there is a value then this is not a preiview
		result = false;
	else
		result = true;									-- no value (nil or empty string) so this is a preview
	end
	return result
end
 
return p