From ebda8931ab57b0467d1b155c5f470454d8d2dd6d Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 12 Aug 2016 20:09:46 +0200 Subject: Add simple sort settings --- init.lua | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'init.lua') diff --git a/init.lua b/init.lua index c0e02aa..2fc7917 100644 --- a/init.lua +++ b/init.lua @@ -256,7 +256,8 @@ end function doc.get_sorted_entry_names(cid) local sort_table = {} local entry_table = {} - for eid,entry in pairs(doc.data.categories[cid].entries) do + local cat = doc.data.categories[cid] + for eid,entry in pairs(cat.entries) do local new_entry = table.copy(entry) new_entry.eid = eid table.insert(entry_table, new_entry) @@ -267,10 +268,16 @@ function doc.get_sorted_entry_names(cid) for i=1, #sort_table do reverse_sort_table[sort_table[i]] = i end - local comp = function(e1, e2) - if reverse_sort_table[e1.name] < reverse_sort_table[e2.name] then return true else return false end + -- Sorting algorithm + local comp + if cat.def.sorting ~= "nosort" then + if cat.def.sorting == "abc" or cat.def.sorting == nil then + comp = function(e1, e2) + if reverse_sort_table[e1.name] < reverse_sort_table[e2.name] then return true else return false end + end + table.sort(entry_table, comp) + end end - table.sort(entry_table, comp) return entry_table end -- cgit v1.2.3