====== sortablejs Plugin ======
---- plugin ----
description: JavaScript for sortable tables
author : vaxquis (AKA FyiurAmron)
email : spamove@gmail.com
type : syntax
lastupdate : 2023-04-12
compatible : Anteater, Angua, Rincewind, "Adora Belle", Weatherwax, Binky, "Ponder Stibbons", Hrun, "Elenor Of Tsort", Greebo, Hogfather; Igor, Jack Jackrum, Kaos
depends :
conflicts : cellbg, tabinclude
similar : datatables, tablelayout
tags : javascript, tables, sort, listing
downloadurl: https://github.com/FyiurAmron/sortablejs/zipball/master
sourcerepo : https://github.com/FyiurAmron/sortablejs
bugtracker : https://github.com/FyiurAmron/sortablejs/issues
----
===== Description =====
A JavaScript-based (client-side) plugin, which can be used to create sortable tables. It is optional for [[linkmanager]] plugin.
For server-side sorting or more robust sort facilities use Sam Wilson's sorter, based on https://github.com/Mottie/tablesorter (supports server-side sorting): https://github.com/samwilson/dokuwiki_sortablejs
Previously maintained by oiv (Otto Vainio at otto@valjakko.net)
===== Usage =====
After installing the plugin you should make sure that your DokuWiki cache is updated. This can easily be done by changing any parameter value in settings (or by doing a ''touch conf/local.php'').
You need to set '''' and '''' tags around your table.
^ Col1 ^ Col3 ^ Col3 ^
| 1 | one | 02/25/2008 |
| 2 | two | 02/14/2008 |
Table initially sorted by column 1
^ Col1 ^ Col3 ^ Col3 ^
| 1 | one | 02/25/2008 |
| 2 | two | 02/14/2008 |
Table initially reverse sorted by column 1
^ Col1 ^ Col3 ^ Col3 ^
| 1 | one | 2008-02-25 |
| 2 | two | 2008-02-14 |
To sort the columns you (the page viewer) just needs to click on the correct column on the first row. A second click on the same column reverses sort.
===== Options =====
││ │ │ │ │ │
││ │ │ │ │ └ No sort option for column 3
││ │ │ │ └ Sort column 2 as text always
││ │ │ └ Sort column 1 as numeric always
││ │ └ Add a 3-phase sort option. Normal, Reverse and Back to original order.
││ └ Prevent last 2 rows from sort. The number can be omitted. Default is last row (=1)
│└ Initially sort by column 1 on page load
└ Reverse initial sort
Columns sorted as special data types
^ Col1 ^ Col3 ^ Col3 ^ Col4 ^ Col5 ^
| one | 02/25/2008 | 34°C | € 23,42| 205-8795|
| two | 02/14/2008 | 12°C | € 193,54| 442-0026|
Date type is sorted, if, e.g. US american date format mm/dd/yyyy is used. The date sorting is done via //Date()// object, which, in theory, should work like this: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format
In practice, it usually accepts legacy formats (based on browser etc.), e.g.:
* mm-dd-yyyy
* yyyy/mm/dd
* mm/dd/yyyy
* mmmm dd, yyyy
* mmm dd, yyyy
Of course, the format yyyy-mm-dd will always be correctly sorted, when labeled as //alpha// and even if not labeled at all.
The implementation of type numeric is capable of cutting off units before and after numeric values. This makes it efficient to sort e.g. prices and temperature values with units attached.
===== Misc links =====
* Historical versions: https://github.com/FyiurAmron/sortablejs/wiki/older-versions
* GitHub revision history: https://github.com/FyiurAmron/sortablejs/commits/master
* Historical bugs/ehnancements: https://github.com/FyiurAmron/sortablejs/wiki/old-issues-and-enhancement-requests
* current issue tracker: https://github.com/FyiurAmron/sortablejs/issues