diff --git a/API.md b/API.md index 99ddc21..24de94b 100644 --- a/API.md +++ b/API.md @@ -4,6 +4,9 @@ #### `i3.new_tab(name, def)` +- `name` is the tab name. +- `def` is the tab definition. + Custom tabs can be added to the `i3` inventory as follow (example): ```Lua @@ -238,17 +241,17 @@ A map of search filters, indexed by name. Sorting methods are used to filter the player's main inventory. -#### `i3.add_sorting_method(def)` +#### `i3.add_sorting_method(name, def)` Adds a player inventory sorting method. +- `name` is the method name. - `def` is the method definition. Example: ```Lua -i3.add_sorting_method { - name = "test", +i3.add_sorting_method("test", { description = "Cool sorting method", func = function(list, data) -- `list`: inventory list @@ -259,7 +262,7 @@ i3.add_sorting_method { -- A list must be returned return list end, -} +}) ``` diff --git a/src/api.lua b/src/api.lua index 87c1c1b..4bf266e 100644 --- a/src/api.lua +++ b/src/api.lua @@ -298,32 +298,31 @@ function i3.compress(item, def) end end -function i3.add_sorting_method(def) - if not true_table(def) then - return err "i3.add_sorting_method: definition missing" - elseif not true_str(def.name) then +function i3.add_sorting_method(name, def) + if not true_str(name) then return err "i3.add_sorting_method: name missing" + elseif not true_table(def) then + return err "i3.add_sorting_method: definition missing" elseif not is_func(def.func) then return err "i3.add_sorting_method: function missing" end + def.name = name insert(i3.sorting_methods, def) end -i3.add_sorting_method { - name = "alphabetical", +i3.add_sorting_method("alphabetical", { description = S"Sort items by name (A-Z)", func = function(list, data) sorter(list, data.reverse_sorting, 1) return list end -} +}) -i3.add_sorting_method { - name = "numerical", +i3.add_sorting_method("numerical", { description = S"Sort items by number of items per stack", func = function(list, data) sorter(list, data.reverse_sorting, 2) return list end, -} +}) diff --git a/src/gui.lua b/src/gui.lua index c873b72..7205cc7 100644 --- a/src/gui.lua +++ b/src/gui.lua @@ -475,7 +475,7 @@ local function show_popup(fs, data) fs("image_button", 7.65, 10.6, 0.35, 0.35, "", "next_sort", "") fs("style[sort_method;font=bold;font_size=20]") - fs("button", 2.55, 10.36, 5.1, 0.8, "sort_method", data.sort:gsub("^%l", upper)) + fs("button", 2.55, 10.36, 5.1, 0.8, "sort_method", toupper(data.sort)) local idx = get_sorting_idx(data.sort) local desc = i3.sorting_methods[idx].description