Changes

no edit summary
Line 33: Line 33:     
local function render(args, frame)
 
local function render(args, frame)
   local category = args.explicit[1]
+
  -- Filter term ([1] = pattern to match, [2] = data element to match)
   local data = Data.load('Quest', category)
+
   local filter = (args.explicit['filter'] or nil)
 +
   local categories = (args.explicit['categories'] or { args.explicit[1] })
 
   local result = {}
 
   local result = {}
 
   table.insert(result, table_header)
 
   table.insert(result, table_header)
   for i, q in ipairs(data) do
+
   for cat in categories do
    -- table.insert(result, _.format(table_row, q))
+
    local data = Data.load('Quest', cat)
    table.insert(result, _.format(table_row, {
+
    if (type(filter) == nil) or (string.match(data[filter[2]], filter[1])) then
      label = q.label,
+
      for i, q in ipairs(data) do
      title = q.title,
+
        -- table.insert(result, _.format(table_row, q))
      title_en = q.title_en,
+
        table.insert(result, _.format(table_row, {
      detail_en = q.detail_en,
+
          label = q.label,
      reward_fuel = q.reward_fuel,
+
          title = q.title,
      reward_ammo = q.reward_ammo,
+
          title_en = q.title_en,
      reward_steel = q.reward_steel,
+
          detail_en = q.detail_en,
      reward_bauxite = q.reward_bauxite,
+
          reward_fuel = q.reward_fuel,
      reward_other = q.reward_other,
+
          reward_ammo = q.reward_ammo,
      note = q.note,
+
          reward_steel = q.reward_steel,
      letter = q.label:sub(1, 1)
+
          reward_bauxite = q.reward_bauxite,
    }))
+
          reward_other = q.reward_other,
 +
          note = q.note,
 +
          letter = q.label:sub(1, 1)
 +
        }))
 +
      end
 +
    end
 
   end
 
   end
 
   table.insert(result, table_footer)
 
   table.insert(result, table_footer)