local p = {}
local utils = require('Module:Utils')
local HtmlBuilder = require('Module:HtmlBuilder')
function p.viewer(frame)
local args = utils.get_args(frame)
local startframe = utils.processArg(args['startframe'])
local image = utils.processArg(args['image'])
local image_0 = utils.processArg(args['image-0'])
local fallback = utils.processArg(args['fallback'])
local startframe_class
if startframe ~= '' then
startframe_class = mw.text.trim(startframe)
else
startframe_class = utils.expandWikitext('{{File:' .. (image_0 or image) .. '|startframe}}')
end
local output_view = HtmlBuilder.create('div')
.addClass('viewer-3d')
.addClass('startframe-' .. startframe_class)
.wikitext(fallback)
--could this be shortned to .addClass('viewer-3d startframe-' .. startframe_class) ?
for i = 0,10 do
local image_n = utils.processArg(args['image-' .. i], '')
if image_n ~= '' then
span_image_url_n = output_view
.tag('span')
.addClass('viewer-3d-url-' .. i)
.wikitext(utils.expandWikitext('{{File:' .. image_n .. '|url}}'))
span_image_map_n = output_view
.tag('span')
.addClass('viewer-3d-map-' .. i)
.wikitext(utils.expandWikitext('{{File:' .. image_n .. '|map}}'))
end
end
local viewer_3d_frame = output_view
.tag('div')
.addClass('viewer-3d-frame')
local switch_to_2d = output_view
.tag('div')
.attr('id', 'switch-to-2d')
return tostring(output_view)
end
return p