• 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
m
Line 38: Line 38:
 
   table.insert(result, table_header)
 
   table.insert(result, table_header)
 
   for i, q in ipairs(data) do
 
   for i, q in ipairs(data) do
     q.letter = q.label:sub(1, 1)
+
     -- table.insert(result, _.format(table_row, q))
    table.insert(result, _.format(table_row, q))
 
    --[[
 
 
     table.insert(result, _.format(table_row, {
 
     table.insert(result, _.format(table_row, {
 
       label = q.label,
 
       label = q.label,
 
       title = q.title,
 
       title = q.title,
 
       title_en = q.title_en,
 
       title_en = q.title_en,
       detail_en = frame:preprocess(q.detail_en),
+
       detail_en = q.detail_en,
 
       reward_fuel = q.reward_fuel,
 
       reward_fuel = q.reward_fuel,
 
       reward_ammo = q.reward_ammo,
 
       reward_ammo = q.reward_ammo,
 
       reward_steel = q.reward_steel,
 
       reward_steel = q.reward_steel,
 
       reward_bauxite = q.reward_bauxite,
 
       reward_bauxite = q.reward_bauxite,
       reward_other = frame:preprocess(q.reward_other),
+
       reward_other = q.reward_other,
 
       note = q.note,
 
       note = q.note,
 +
      letter = q.label:sub(1, 1)
 
     }))
 
     }))
    ]]--
 
 
   end
 
   end
 
   table.insert(result, table_footer)
 
   table.insert(result, table_footer)

Revision as of 20:02, 8 August 2019

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" cellspacing="0"
|style="width:4%"|ID
|style="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="q${letter}"
|rowspan="2"|'''${label}'''
|colspan="11"|'''<span lang="ja">${title}</span>'''<br>''${title_en}''
|- class="qd${letter}"
|${detail_en}
|
|${reward_fuel} / ${reward_ammo} / ${reward_steel} / ${reward_bauxite}
|
|''${reward_other}''
|
|${note}]=]

local function render(args, frame)
  local category = args.explicit[1]
  local data = Data.load('Quest', category)
  local result = {}
  table.insert(result, table_header)
  for i, q in ipairs(data) do
    -- table.insert(result, _.format(table_row, q))
    table.insert(result, _.format(table_row, {
      label = q.label,
      title = q.title,
      title_en = q.title_en,
      detail_en = q.detail_en,
      reward_fuel = q.reward_fuel,
      reward_ammo = q.reward_ammo,
      reward_steel = q.reward_steel,
      reward_bauxite = q.reward_bauxite,
      reward_other = q.reward_other,
      note = q.note,
      letter = q.label:sub(1, 1)
    }))
  end
  table.insert(result, table_footer)
  return frame:preprocess(_.join(result, '\n'))
end

return View(render)