Module:If preview
Appearance
![]() | This Lua module is used on approximately 315,000 pages, or roughly 35% of all pages. To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
![]() | This module depends on the following other modules: |
![]() | This module uses TemplateStyles: |
This module implements {{if preview}} and {{preview warning}}. It helps templates/modules determine if they are being previewed.
Prefer implementing the template versions in other templates.
In a module to use the main()
, you need to pass a frame table with an args table.
For the preview warning, use _warning()
.
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)
return p.main(frame:getParent())
end
--[[
boolean
This function returns the either true or false, depending on whether it is being previewed.
Usage:
{{#invoke:If preview|boolean}}
]]
function p.boolean(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