• Welcome to the Kancolle Wiki!
  • If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord

Difference between revisions of "Module:View/Quest"

From Kancolle Wiki
Jump to navigation Jump to search
m
Line 2: Line 2:
 
local Data = require('Module:Data')
 
local Data = require('Module:Data')
 
local View = require('Module:View')
 
local View = require('Module:View')
 +
 +
-- [[Category:Todo]]:
 +
-- * Support render : Args -> UI tree in Module:View, currently Args -> String
 +
-- * Module:View/Table for table UI tree construction
 +
 +
local table_header = [=[{|style="width:100%;text-align:center"
 +
|style="width:4%"|ID
 +
|style="width:{{{requirements_width|35%}}}"|Requirements
 +
|style="width:0.5%"|
 +
|style="width:20%"|[[File:Fuel.png|30px|link=Tutorial: FAQ#How do resources work in this game?]][[File:Ammunition.png|30px|link=Tutorial: FAQ#How do resources work in this game?]][[File:Steel.png|30px|link=Tutorial: FAQ#How do resources work in this game?]][[File:Bauxite.png|30px|link=Tutorial: FAQ#How do resources work in this game?]]
 +
|style="width:0.5%"|
 +
|style="width:20%"|Rewards
 +
|style="width:0.5%"|
 +
|style="width:30%"|Note
 +
|-]=]
 +
 +
local table_footer = '|}'
 +
 +
local table_row = [=[|- id="${label}" class="quest_A"
 +
|rowspan="2"|'''${label}'''
 +
|colspan="11"|'''<span lang="ja">${title}</span>'''<br>''${title_en}''
 +
|- class="quest_details_A"
 +
|${detail_en}
 +
|
 +
|${reward_fuel} / ${reward_ammo} / ${reward_steel} / ${reward_bauxite}
 +
|
 +
|''${reward_other}''
 +
|
 +
|${note}]=]
  
 
local function render(args)
 
local function render(args)
 
   local category = args.explicit[1]
 
   local category = args.explicit[1]
 
   local data = Data.load('Quest', category)
 
   local data = Data.load('Quest', category)
   return data[1].title
+
  local result = {}
 +
  table.insert(result, table_header)
 +
  for _, q in ipairs(data) do
 +
    table.insert(result, _.format(table_row, q))
 +
  end
 +
  table.insert(result, table_footer)
 +
   return _.join(result, '\n')
 
end
 
end
  
 
return View(render)
 
return View(render)

Revision as of 09:27, 22 July 2018

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

local _ = require('Module:Core')
local Data = require('Module:Data')
local View = require('Module:View')

-- [[Category:Todo]]:
-- * Support render : Args -> UI tree in Module:View, currently Args -> String
-- * Module:View/Table for table UI tree construction

local table_header = [=[{|style="width:100%;text-align:center"
|style="width:4%"|ID
|style="width:{{{requirements_width|35%}}}"|Requirements
|style="width:0.5%"|
|style="width:20%"|[[File:Fuel.png|30px|link=Tutorial: FAQ#How do resources work in this game?]][[File:Ammunition.png|30px|link=Tutorial: FAQ#How do resources work in this game?]][[File:Steel.png|30px|link=Tutorial: FAQ#How do resources work in this game?]][[File:Bauxite.png|30px|link=Tutorial: FAQ#How do resources work in this game?]]
|style="width:0.5%"|
|style="width:20%"|Rewards
|style="width:0.5%"|
|style="width:30%"|Note
|-]=]

local table_footer = '|}'

local table_row = [=[|- id="${label}" class="quest_A"
|rowspan="2"|'''${label}'''
|colspan="11"|'''<span lang="ja">${title}</span>'''<br>''${title_en}''
|- class="quest_details_A"
|${detail_en}
|
|${reward_fuel} / ${reward_ammo} / ${reward_steel} / ${reward_bauxite}
|
|''${reward_other}''
|
|${note}]=]

local function render(args)
  local category = args.explicit[1]
  local data = Data.load('Quest', category)
  local result = {}
  table.insert(result, table_header)
  for _, q in ipairs(data) do
    table.insert(result, _.format(table_row, q))
  end
  table.insert(result, table_footer)
  return _.join(result, '\n')
end

return View(render)