Module:Task: Difference between revisions
From atwg
No edit summary |
No edit summary |
||
(38 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p.displayTextCell( s ) | |||
if ( s ) then | |||
return '| style="vertical-align:top;" | ' .. table.concat( s, ', ' ) .. '\n' | |||
else | |||
return '|\n' | |||
end | |||
end | |||
function p.displayTable(frame) | function p.displayTable(frame) | ||
local query = '[[Category:Outcomes]]|? | local query = '[[Category:Outcomes]][[Archived::!true]]|?Long Name|limit=100' | ||
local outcomes = mw.smw.getQueryResult( query ) | local outcomes = mw.smw.getQueryResult( query ) | ||
if outcomes == nil or #outcomes.results == 0 then | if outcomes == nil or #outcomes.results == 0 then | ||
Line 12: | Line 20: | ||
s = s .. '! Output\n' | s = s .. '! Output\n' | ||
s = s .. '! Task\n' | s = s .. '! Task\n' | ||
s = s .. '! style="min-width:300px;" | Description\n' | |||
s = s .. '! Depends On Tasks\n' | |||
s = s .. '! Type\n' | s = s .. '! Type\n' | ||
s = s .. '! | s = s .. '! Primary Team\n' | ||
s = s .. '! | s = s .. '! Collaborating Teams\n' | ||
s = s .. '! Start Year\n' | s = s .. '! Start Year\n' | ||
s = s .. '! Duration\n' | s = s .. '! Duration\n' | ||
s = s .. '! Risks\n' | s = s .. '! Risks\n' | ||
s = s .. '! Contingencies\n' | s = s .. '! Contingencies\n' | ||
Line 23: | Line 32: | ||
s = s .. '! Assumptions\n' | s = s .. '! Assumptions\n' | ||
s = s .. '! Implications\n' | s = s .. '! Implications\n' | ||
s = s .. '! Notes\n' | s = s .. '! style="min-width:300px;" | Notes\n' | ||
s = s .. '|-\n' | s = s .. '|-\n' | ||
for k1,v1 in pairs( outcomes.results ) do | for k1,v1 in pairs( outcomes.results ) do | ||
query = '[[Category:Outputs]][[Parent Outcome::' .. v1.fulltext .. ']]|limit=100' | query = '[[Category:Outputs]][[Parent Outcome::' .. v1.fulltext .. ']][[Archived::!true]]|?Long Name|limit=100' | ||
local outputs = mw.smw.getQueryResult( query ) | |||
if outputs == nil or #outputs.results == 0 then | |||
return "" | return "" | ||
end | |||
local rowcount = 0 | |||
local rows = '' | |||
for k2,v2 in pairs( outputs.results ) do | |||
query = '[[Category:Tasks]][[Associated Output::' .. v2.fulltext .. ']][[Archived::!true]]' .. | |||
'|?Description' .. | |||
'|?Depends On Task' .. | |||
'|?Type' .. | |||
'|?Primary Team' .. | |||
'|?Collaborating Team' .. | |||
'|? Start Year' .. | |||
'|?Duration' .. | |||
'|?Risks' .. | |||
'|?Contingencies' .. | |||
'|?Benefits' .. | |||
'|?Assumptions' .. | |||
'|?Implications' .. | |||
'|?Notes' .. | |||
'|limit=100' | |||
local tasks = mw.smw.getQueryResult( query ) | |||
if tasks ~= nil then | |||
rows = rows .. '| rowspan="' .. #tasks.results .. '" style="vertical-align:top;" | [[' .. v2.fulltext .. '|' .. table.concat( v2.printouts['Long Name'] ) .. ']]\n' | |||
if ( #tasks.results == 0 ) then | |||
rowcount = rowcount + 1 | |||
rows = rows .. '|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|-\n' | |||
else | |||
rowcount = rowcount + #tasks.results | |||
for k3,v3 in pairs( tasks.results ) do | |||
rows = rows .. '| style="vertical-align:top;" | [[' .. v3.fulltext .. ']]\n' | |||
rows = rows .. p.displayTextCell( v3.printouts.Description ) | |||
rows = rows .. '| style="vertical-align:top;" |\n' | |||
for k4,v4 in pairs ( v3.printouts['Depends On Task'] ) do | |||
rows = rows .. '* [[' .. v4.fulltext .. ']]\n' | |||
end | |||
rows = rows .. '\n' | |||
rows = rows .. p.displayTextCell( v3.printouts.Type ) | |||
rows = rows .. p.displayTextCell( v3.printouts['Primary Team'] ) | |||
rows = rows .. '| style="vertical-align:top;" |\n' | |||
for k4,v4 in pairs ( v3.printouts['Collaborating Team'] ) do | |||
rows = rows .. '* ' .. v4 .. '\n' | |||
end | |||
rows = rows .. '\n' | |||
rows = rows .. p.displayTextCell( v3.printouts['Start Year'] ) | |||
rows = rows .. p.displayTextCell( v3.printouts.Duration ) | |||
rows = rows .. p.displayTextCell( v3.printouts.Risks ) | |||
rows = rows .. p.displayTextCell( v3.printouts.Contingencies ) | |||
rows = rows .. p.displayTextCell( v3.printouts.Benefits ) | |||
rows = rows .. p.displayTextCell( v3.printouts.Assumptions ) | |||
rows = rows .. p.displayTextCell( v3.printouts.Implications ) | |||
rows = rows .. p.displayTextCell( v3.printouts.Notes ) | |||
rows = rows .. '|-\n' | |||
end | end | ||
end | end | ||
end | end | ||
end | end | ||
s = s .. '| rowspan="' .. rowcount .. '" style="vertical-align:top;" | [[' .. v1.fulltext .. '|' .. table.concat( v1.printouts['Long Name'] ) .. ']]\n' | |||
s = s .. rows | |||
end | |||
s = s .. '|}' | s = s .. '|}' | ||
return s | return s |
Latest revision as of 09:56, 20 February 2018
Documentation for this module may be created at Module:Task/doc
local p = {}
function p.displayTextCell( s )
if ( s ) then
return '| style="vertical-align:top;" | ' .. table.concat( s, ', ' ) .. '\n'
else
return '|\n'
end
end
function p.displayTable(frame)
local query = '[[Category:Outcomes]][[Archived::!true]]|?Long Name|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 .. '! style="min-width:300px;" | Description\n'
s = s .. '! Depends On Tasks\n'
s = s .. '! Type\n'
s = s .. '! Primary Team\n'
s = s .. '! Collaborating Teams\n'
s = s .. '! Start Year\n'
s = s .. '! Duration\n'
s = s .. '! Risks\n'
s = s .. '! Contingencies\n'
s = s .. '! Benefits\n'
s = s .. '! Assumptions\n'
s = s .. '! Implications\n'
s = s .. '! style="min-width:300px;" | Notes\n'
s = s .. '|-\n'
for k1,v1 in pairs( outcomes.results ) do
query = '[[Category:Outputs]][[Parent Outcome::' .. v1.fulltext .. ']][[Archived::!true]]|?Long Name|limit=100'
local outputs = mw.smw.getQueryResult( query )
if outputs == nil or #outputs.results == 0 then
return ""
end
local rowcount = 0
local rows = ''
for k2,v2 in pairs( outputs.results ) do
query = '[[Category:Tasks]][[Associated Output::' .. v2.fulltext .. ']][[Archived::!true]]' ..
'|?Description' ..
'|?Depends On Task' ..
'|?Type' ..
'|?Primary Team' ..
'|?Collaborating Team' ..
'|? Start Year' ..
'|?Duration' ..
'|?Risks' ..
'|?Contingencies' ..
'|?Benefits' ..
'|?Assumptions' ..
'|?Implications' ..
'|?Notes' ..
'|limit=100'
local tasks = mw.smw.getQueryResult( query )
if tasks ~= nil then
rows = rows .. '| rowspan="' .. #tasks.results .. '" style="vertical-align:top;" | [[' .. v2.fulltext .. '|' .. table.concat( v2.printouts['Long Name'] ) .. ']]\n'
if ( #tasks.results == 0 ) then
rowcount = rowcount + 1
rows = rows .. '|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|-\n'
else
rowcount = rowcount + #tasks.results
for k3,v3 in pairs( tasks.results ) do
rows = rows .. '| style="vertical-align:top;" | [[' .. v3.fulltext .. ']]\n'
rows = rows .. p.displayTextCell( v3.printouts.Description )
rows = rows .. '| style="vertical-align:top;" |\n'
for k4,v4 in pairs ( v3.printouts['Depends On Task'] ) do
rows = rows .. '* [[' .. v4.fulltext .. ']]\n'
end
rows = rows .. '\n'
rows = rows .. p.displayTextCell( v3.printouts.Type )
rows = rows .. p.displayTextCell( v3.printouts['Primary Team'] )
rows = rows .. '| style="vertical-align:top;" |\n'
for k4,v4 in pairs ( v3.printouts['Collaborating Team'] ) do
rows = rows .. '* ' .. v4 .. '\n'
end
rows = rows .. '\n'
rows = rows .. p.displayTextCell( v3.printouts['Start Year'] )
rows = rows .. p.displayTextCell( v3.printouts.Duration )
rows = rows .. p.displayTextCell( v3.printouts.Risks )
rows = rows .. p.displayTextCell( v3.printouts.Contingencies )
rows = rows .. p.displayTextCell( v3.printouts.Benefits )
rows = rows .. p.displayTextCell( v3.printouts.Assumptions )
rows = rows .. p.displayTextCell( v3.printouts.Implications )
rows = rows .. p.displayTextCell( v3.printouts.Notes )
rows = rows .. '|-\n'
end
end
end
end
s = s .. '| rowspan="' .. rowcount .. '" style="vertical-align:top;" | [[' .. v1.fulltext .. '|' .. table.concat( v1.printouts['Long Name'] ) .. ']]\n'
s = s .. rows
end
s = s .. '|}'
return s
end
return p