summaryrefslogtreecommitdiff
path: root/API.md
diff options
context:
space:
mode:
authorWuzzy <almikes@aol.com>2016-08-13 13:30:38 +0200
committerWuzzy <almikes@aol.com>2016-08-13 13:30:38 +0200
commitd6cecb387c867f14a3a9de793e158c874a974253 (patch)
tree13704f7d5e7aa4281a8db245d1c5ba34165509db /API.md
parent4d92bc5ef3bd17b15f341c6bf2e2de21344817ef (diff)
Allow function-based sorting
Diffstat (limited to 'API.md')
-rw-r--r--API.md21
1 files changed, 16 insertions, 5 deletions
diff --git a/API.md b/API.md
index 636263a..91dfe87 100644
--- a/API.md
+++ b/API.md
@@ -57,16 +57,27 @@ data.
* `"abc"`: Alphabetical (default)
* `"nosort"`: Entries appear in no particular order
* `"custom"`: Manually define the order of entries in `sorting_data`
+ * `"function"`: Sort by function defined in `sorting_data`
* `sorting_data`: Additional data for special sorting methods.
- If `sorting=="custom"`, this field must contain a table (list form) in which
- the entry IDs are specified in the order they are supposed to appear in the
- entry list. All entries which are missing in this table will appear in no
- particular order below the final specified one.
- This field is not required if `sorting` has any other value
+ * If `sorting=="custom"`, this field must contain a table (list form) in which
+ the entry IDs are specified in the order they are supposed to appear in the
+ entry list. All entries which are missing in this table will appear in no
+ particular order below the final specified one.
+ * If `sorting=="function"`, this field is a compare function to be used as
+ the `comp` parameter of `table.sort`. The parameters given are two entries.
+ * This field is not required if `sorting` has any other value
* `build_formspec`: The template function. Takes entry data as its
only parameter (has the data type of the entry data) and must
return a formspec which is inserted in the Entry tab.
+Note: For function-based sorting, the entries provided in the compare function have the
+following format:
+
+ {
+ name = n, -- entry name
+ data = d, -- arbitrary entry data
+ }
+
#### Using `build_formspec`
For `build_formspec` you can either define your own function which
procedurally generates the entry formspec or you use one of the