Line 34: |
Line 34: |
| local function render(args, frame) | | local function render(args, frame) |
| -- Filter term ([1] = pattern to match, [2] = data element to match) | | -- Filter term ([1] = pattern to match, [2] = data element to match) |
− | local filter = args.explicit['filter'] | + | local filter = { (args.explicit['filterMatch'] or nil), (args.explicit['filterGroup'] 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,cat in ipairs(categories) do | + | for i,cat in ipairs(args.explicit) do |
| local data = Data.load('Quest', cat) | | local data = Data.load('Quest', cat) |
| for i, q in ipairs(data) do | | for i, q in ipairs(data) do |
− | if (not filter) or (string.match(q[filter[2]], filter[1])) then | + | if (not filter[1] or not filter[2]) or (string.match(q[filter[2]], filter[1])) then |
| -- 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, { |