Module:Task

From atwg
Revision as of 12:09, 11 February 2018 by Ccicalese (talk | contribs)

Documentation for this module may be created at Module:Task/doc

local p = {}
	
function p.displayTable(frame)

	local query = '[[Category:Outcomes]]|?Description|limit=100'
    local outcomes = mw.smw.getQueryResult( query )
    if outcomes == nil or #outcomes.results == 0 then
        return ""
    end
	s = '{| class="wikitable tasktable"\n'
	s = s .. '! Outcome\n'
	s = s .. '! Output\n'
	s = s .. '! Task\n'
	s = s .. '! Description\n'
	s = s .. '! Type\n'
	s = s .. '! Primary Team'
	s = s .. '| Collaborating Teams\n'
	s = s .. '! Start Year\n'
	s = s .. '! Duration\n'
	s = s .. '! Depends On Tasks\n'
	s = s .. '! Risks\n'
	s = s .. '! Contingencies\n'
	s = s .. '! Benefits\n'
	s = s .. '! Assumptions\n'
	s = s .. '! Implications\n'
	s = s .. '! Notes\n'
	s = s .. '|-\n'
	
	for k1,v1 in pairs( outcomes.results ) do
		query = '[[Category:Outputs]][[Parent Outcome::' .. v1.fulltext .. ']]' ..
			'|limit=100'
		local outputs = mw.smw.getQueryResult( query )
		if outputs == nil or #outputs.results == 0 then
        	return ""
		end
	    
		s = s .. '| rowspan="' .. #outputs.results .. '" | [[' .. v1.fulltext .. '|' .. table.concat( v1.printouts.Description ) .. ']]\n'
	    
		for k2,v2 in pairs( outputs.results ) do
			query = '[[Category:Tasks]][[Associated Output::' .. v2.fulltext .. ']]' ..
				'|?Description' ..
				'|?Type' ..
				'|?Primary Team' ..
				'|?Collaborating Team' ..
				'|? Start Year' ..
				'|?Duration' ..
				'|?Depends On Task' ..
				'|?Risks' ..
				'|?Contingencies' ..
				'|?Benefits' ..
				'|?Assumptions' ..
				'|?Implications' ..
				'|?Notes' ..
				'|limit=100'
			local tasks = mw.smw.getQueryResult( query )
			if tasks ~= nil then
				s = s .. '| rowspan="' .. #tasks.results .. '" | [[' .. v2.fulltext .. ']]\n'
				for k3,v3 in pairs( tasks.results ) do
					s = s .. '| [[' .. v3.fulltext .. ']]\n'
					s = s .. '| ' .. table.concat( v3.printouts.Description ) .. '\n'
					s = s .. '|-\n'
				end
			end

			s = s .. '|-\n'
		end
    end
    

--[[]
	result = result .. '! rowspan="2" | Issue\n'
		result = result .. '! colspan=' .. #v.values .. ' | ' .. v.name .. '\n'
	end
	result = result .. '|-\n'
	for k1,v1 in ipairs( p.Taxonomy ) do
		for k2,v2 in ipairs( v1.values ) do
			result = result .. '! ' ..
				frame:expandTemplate{ title = 'Tag Link', args = { v2 } } .. '\n'
		end
	end

	result = result .. '|-\n!<br/>'
	for k1,v1 in ipairs( p.Taxonomy ) do
		for k2,v2 in ipairs( v1.values ) do
			result = result .. '!!'
		end
	end
	result = result .. '\n'

	for k1,v1 in pairs( issues.results ) do
		result = result .. '|-\n'
		]]
--		result = result .. '| [[' .. v1.fulltext .. '|' .. v1.printouts['Description'][1] .. ']]\n'
--[[]
		for k2,v2 in ipairs( p.Taxonomy ) do
			local query_values = v1.printouts[v2.property]
			for k3,v3 in ipairs( v2.values ) do
				result = result .. '| style="text-align:center;min-width:60px;" |'
				for k4,v4 in pairs(query_values) do
					if v3 == v4 then
						result = result .. 'X'
					end
				end
				result = result .. '\n'
			end
		end
	end

]]
	s = s .. '|}'
    return s
end

return p