<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FGonnym%2Fsometest10</id>
	<title>Module:Sandbox/Gonnym/sometest10 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FGonnym%2Fsometest10"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Gonnym/sometest10&amp;action=history"/>
	<updated>2026-05-27T13:23:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Gonnym/sometest10&amp;diff=145482&amp;oldid=prev</id>
		<title>imported&gt;Gonnym at 10:22, 2 December 2019</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Gonnym/sometest10&amp;diff=145482&amp;oldid=prev"/>
		<updated>2019-12-02T10:22:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[&lt;br /&gt;
Option 1: Pass cell data and join the cells in main module.&lt;br /&gt;
Option 2: Pass a complete args table and get a finished table.&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
List of public functions:&lt;br /&gt;
	-- createTable(args)&lt;br /&gt;
	-- createTableRow(args)&lt;br /&gt;
	-- createAndAddTableRow(tableObject, args)&lt;br /&gt;
	-- createColumnHeaderCell(args)&lt;br /&gt;
	-- createAndAddColumnHeaderCell(rowObject, args)&lt;br /&gt;
	-- createRowCell(args)&lt;br /&gt;
	-- createAndAddRowCell(rowObject, args)&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
--[[&lt;br /&gt;
Local function which is used to add relevent tags (attributes, css and others) to the current table object.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
	-- class			— If used, will add a class using the value entered.&lt;br /&gt;
	-- rowspan			— If used, will add the rowspan attribute and set its number as the value entered.&lt;br /&gt;
	-- colspan			— If used, will add the colspan attribute and set its number as the value entered.&lt;br /&gt;
	-- id				— If used, will add an ID attribute, using the value entered.&lt;br /&gt;
	-- background		— If used, will add the background css, and set it to the value entered.&lt;br /&gt;
	-- backgroundColor	— If used, will add the backgroundColor css, and set it to the value entered.&lt;br /&gt;
	-- borderBottom		— If used, will add the borderBottom css, and set it to the value entered.&lt;br /&gt;
	-- lineHeight		— If used, will add the lineHeight css, and set it to the value entered.&lt;br /&gt;
	-- padding			— If used, will add the padding css, and set it to the value entered.&lt;br /&gt;
	-- textAlign		— If used, will add the textAlign css, and set it to the value entered.&lt;br /&gt;
	-- width			— If used, will add the width css, and set it to the value entered.&lt;br /&gt;
	-- newline			— If used, will add a newline.&lt;br /&gt;
	-- text				— If used, will add text using the value entered.&lt;br /&gt;
-]]&lt;br /&gt;
local function setTags(object, args)&lt;br /&gt;
--------------- Class section ---------------&lt;br /&gt;
	&lt;br /&gt;
	-- Set class.&lt;br /&gt;
	if (args.class) then&lt;br /&gt;
		object:addClass(args.class)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--[[&lt;br /&gt;
	Is more than 1 class possible (not including those already handled by the createTable() by default)?&lt;br /&gt;
	-- Set another class.&lt;br /&gt;
	if (args.class2) then&lt;br /&gt;
		object:addClass(args.class2)&lt;br /&gt;
	end&lt;br /&gt;
	--]]&lt;br /&gt;
&lt;br /&gt;
--------------- Attribute section ---------------&lt;br /&gt;
&lt;br /&gt;
	-- Set rowspan.&lt;br /&gt;
	if (args.rowspan) then&lt;br /&gt;
		object:attr(&amp;#039;rowspan&amp;#039;, args.rowspan)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set colspan.&lt;br /&gt;
	if (args.colspan) then&lt;br /&gt;
		object:attr(&amp;#039;colspan&amp;#039;, args.colspan)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set ID.&lt;br /&gt;
	if (args.id) then&lt;br /&gt;
		object:attr(&amp;#039;id&amp;#039;, args.id)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
--------------- CSS section ---------------&lt;br /&gt;
&lt;br /&gt;
	-- Set background.&lt;br /&gt;
	if (args.background) then&lt;br /&gt;
		object:css(&amp;#039;background&amp;#039;, args.background)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set background-color.&lt;br /&gt;
	if (args.backgroundColor) then&lt;br /&gt;
		object:css(&amp;#039;background-color&amp;#039;, args.backgroundColor)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set border-bottom.&lt;br /&gt;
	if (args.borderBottom) then&lt;br /&gt;
		object:css(&amp;#039;border-bottom&amp;#039;, args.borderBottom)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set color.&lt;br /&gt;
	if (args.color) then&lt;br /&gt;
		object:css(&amp;#039;color&amp;#039;, args.color)&lt;br /&gt;
	end	&lt;br /&gt;
&lt;br /&gt;
	-- Set display.&lt;br /&gt;
	if (args.display) then&lt;br /&gt;
		object:css(&amp;#039;display&amp;#039;, args.borderBottom)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set line-height.&lt;br /&gt;
	if (args.lineHeight) then&lt;br /&gt;
		object:css(&amp;#039;line-height&amp;#039;, args.lineHeight)&lt;br /&gt;
	end	&lt;br /&gt;
&lt;br /&gt;
	-- Set padding.&lt;br /&gt;
	if (args.padding) then&lt;br /&gt;
		object:css(&amp;#039;padding&amp;#039;, args.padding)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set text-align.&lt;br /&gt;
	if (args.textAlign) then&lt;br /&gt;
		object:css(&amp;#039;text-align&amp;#039;, args.textAlign)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set width.&lt;br /&gt;
	if (args.width) then&lt;br /&gt;
		object:css(&amp;#039;width&amp;#039;, args.width)	&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
--------------- Others ---------------&lt;br /&gt;
&lt;br /&gt;
	-- Set newline.&lt;br /&gt;
	if (args.newline) then&lt;br /&gt;
		object:newline()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set text.		&lt;br /&gt;
	if (args.text) then&lt;br /&gt;
		object:wikitext(args.text)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return object&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------Option 1---------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which creates a wikitable.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
	-- plainrowheaders	— true or false; If true sets the table as &amp;quot;plainrowheaders&amp;quot;.&lt;br /&gt;
	-- sortable			— true or false; If true sets the table as &amp;quot;sortable&amp;quot;.&lt;br /&gt;
	-- textAlign		— Sets the value as the table&amp;#039;s text-align.&lt;br /&gt;
	-- width			— Sets the value as the table&amp;#039;s width.&lt;br /&gt;
	-- caption			— Sets the value as the table&amp;#039;s caption.&lt;br /&gt;
-]]&lt;br /&gt;
function p.createTable(args)&lt;br /&gt;
	-- Create the root mw.html object to return.&lt;br /&gt;
	local root = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	-- Create wikitable.&lt;br /&gt;
	root:addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	-- Set plainrowheaders.&lt;br /&gt;
	if (args.plainrowheaders) then&lt;br /&gt;
		root:addClass(&amp;#039;plainrowheaders&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set sortable.&lt;br /&gt;
	if (args.sortable) then&lt;br /&gt;
		root:addClass(&amp;#039;sortable&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	root = setTags(root, args)&lt;br /&gt;
&lt;br /&gt;
	-- Set caption.&lt;br /&gt;
	if (args.caption) then&lt;br /&gt;
		root:tag(&amp;#039;caption&amp;#039;):wikitext(args.caption)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return root&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which creates a table row.&lt;br /&gt;
&lt;br /&gt;
Parameters: See setTags() for complete parameter list.&lt;br /&gt;
-]]&lt;br /&gt;
function p.createTableRow(args)&lt;br /&gt;
	-- Create the table row mw.html object to return.&lt;br /&gt;
	local row = mw.html.create(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	return setTags(row, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which creates a table row, and adds it to the table.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
	-- tableObject	— The parent table of the row. &lt;br /&gt;
	-- See setTags() for complete parameter list.&lt;br /&gt;
-]]&lt;br /&gt;
function p.createAndAddTableRow(tableObject, args)&lt;br /&gt;
	if (args) then&lt;br /&gt;
		mw.log(true)&lt;br /&gt;
	else&lt;br /&gt;
		mw.log(false)&lt;br /&gt;
	end&lt;br /&gt;
	local row = p.createTableRow(args)&lt;br /&gt;
	return tableObject:node(row)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which creates a column header cell.&lt;br /&gt;
&lt;br /&gt;
Parameters: See setTags() for complete parameter list.&lt;br /&gt;
-]]&lt;br /&gt;
function p.createColumnHeaderCell(args)&lt;br /&gt;
	-- Create the table header mw.html object to return.&lt;br /&gt;
	local cell = mw.html.create(&amp;#039;th&amp;#039;):attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
	return setTags(cell, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which creates a column header cell, and adds the cell to the row object.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
	-- rowObject	— The parent row of the current cell. &lt;br /&gt;
	-- See setTags() for complete parameter list.&lt;br /&gt;
-]]&lt;br /&gt;
function p.createAndAddColumnHeaderCell(rowObject, args)&lt;br /&gt;
	local cell = p.createColumnHeaderCell(args)&lt;br /&gt;
	return rowObject:node(cell)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which creates a row header cell.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
	-- headerCell	— true or false; If true will set the cell to &amp;quot;th&amp;quot;, if false, will set it to &amp;quot;td&amp;quot;.&lt;br /&gt;
	-- See setTags() for complete parameter list.&lt;br /&gt;
-]]&lt;br /&gt;
function p.createRowCell(args)&lt;br /&gt;
	local cell&lt;br /&gt;
	-- Check if the cell is a header or data cell.&lt;br /&gt;
	if (args.headerCell) then&lt;br /&gt;
		-- Create the table header mw.html object to return.&lt;br /&gt;
		cell = mw.html.create(&amp;#039;th&amp;#039;):attr(&amp;#039;scope&amp;#039;, &amp;#039;row&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		-- Create the table data mw.html object to return.&lt;br /&gt;
		cell = mw.html.create(&amp;#039;td&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return setTags(cell, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Public function which creates a row header cell, and adds it to the table.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
	-- rowObject	— The parent row of the current cell. &lt;br /&gt;
	-- See createRowCell() and setTags() for complete parameter list.&lt;br /&gt;
-]]&lt;br /&gt;
function p.createAndAddRowCell(rowObject, args)&lt;br /&gt;
	local cell = p.createRowCell(args)&lt;br /&gt;
	return rowObject:node(cell)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
------------Option 2---------------&lt;br /&gt;
local root&lt;br /&gt;
&lt;br /&gt;
local function createTable2(args)&lt;br /&gt;
	-- Create the root mw.html object to return&lt;br /&gt;
	root = mw.html.create()&lt;br /&gt;
	&lt;br /&gt;
	-- Create wikitable.&lt;br /&gt;
	root:addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- Set plainrowheaders.&lt;br /&gt;
	if (args.plainrowheaders) then&lt;br /&gt;
		root:addClass(&amp;#039;plainrowheaders&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Set sortable.&lt;br /&gt;
	if (args.sortable) then&lt;br /&gt;
		root:addClass(&amp;#039;sortable&amp;#039;);&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Set text-align.&lt;br /&gt;
	if (args.text-align) then&lt;br /&gt;
		root:css(&amp;#039;text-align&amp;#039;, args.textAlign)&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	-- Set width.&lt;br /&gt;
	if (args.width) then&lt;br /&gt;
		root:css(&amp;#039;width&amp;#039;, args.width)&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	-- Set caption.&lt;br /&gt;
	if (args.caption) then&lt;br /&gt;
		root:tag(&amp;#039;caption&amp;#039;):wikitext(args.caption)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return root&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function createTableRow2(args)&lt;br /&gt;
	local row = root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- TODO: add logic.&lt;br /&gt;
	setTags(row, args)&lt;br /&gt;
	&lt;br /&gt;
	-- TODO: create loop here&lt;br /&gt;
	if (columnCell) then&lt;br /&gt;
		createColumnHeaderCell(args)&lt;br /&gt;
	else&lt;br /&gt;
		createRowCell(args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function createColumnHeaderCell2(args)&lt;br /&gt;
	headerRow:tag(&amp;#039;th&amp;#039;):attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- TODO: add logic.&lt;br /&gt;
	setTags(headerRow, args)&lt;br /&gt;
end&lt;br /&gt;
			&lt;br /&gt;
local function createRowCell2(args)&lt;br /&gt;
	-- Check if the cell is a header or data cell.&lt;br /&gt;
	if (args.headerCell) then&lt;br /&gt;
		row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	row:attr(&amp;#039;scope&amp;#039;, &amp;#039;row&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	-- TODO: add logic.&lt;br /&gt;
	row = setTags(row, args)&lt;br /&gt;
	&lt;br /&gt;
	return row&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Gonnym</name></author>
	</entry>
</feed>