Fake Table Sort jQuery plugin examples

Label
Amount
Why do you need table sorting anymay ?
5435346457687768
01/04/2017 au 05/04/2018
587.23 €
The quick brown fox jumps over the lazy dog
5413244546456456
01/03/2017 au 05/05/2018
768.89 €
Is this love ?
35435454656
01/04/2018 au 05/04/2019
345.87 €
Yes it is
223453645765687
07/04/2017 au 05/04/2018
90.00 €

On this example, column Reference is sorted lexicographically.

<script>
/**
* Convert french date interval "d/m/Y au d/m/Y" in a string which can be properly compared lexicographically
* For example, converts "01/04/2017 au 05/06/2018" to "2017-04-01-2018-06-05"
* @param value
* @returns {string}
*/
function convertDateInterval(value) {
    var matches = value.match(/([0-9]{2}\/[0-9]{2}\/[0-9]{4}) au ([0-9]{2}\/[0-9]{2}\/[0-9]{4})/);
    var date1Parts = matches[1].split('/');
    var date2Parts = matches[2].split('/');

    return date1Parts[2] + '-' + date1Parts[1] + '-' + date1Parts[0] + '-' + date2Parts[2] + '-' + date2Parts[1] + '-' + date2Parts[0];

}

//Start table fake sort
jQuery('.table-fake').fakeTableSortable({
    headerItems: 'div.table-fake-row-first > div',
    lineItems: 'div.table-fake-row',
    cellItems: 'div.table-fake-col',
    firstSort: 'asc',
    sortMethods: ['lexicographical', 'lexicographical', 'lexicographical', 'number'],
    textConverter: [null, null, convertDateInterval, null]
});
</script>
                    

Custom sort configuration

Label
Amount
Why do you need table sorting anymay ?
5435346457687768
01/04/2017 au 05/04/2018
587.23 €
The quick brown fox jumps over the lazy dog
5413244546456456
01/03/2017 au 05/05/2018
768.89 €
Is this love ?
35435454656
01/04/2018 au 05/04/2019
345.87 €
Yes it is
223453645765687
07/04/2017 au 05/04/2018
90.00 €

On this example, column Reference is sorted by number value.
The only change from previous example is the sort method applied on the Reference column :

sortMethods: ['lexicographical', 'number', 'lexicographical', 'number']
                    

Want to use a table anyway ? You can !

Label Amount
Why do you need table sorting anymay ? 5435346457687768 01/04/2017 au 05/04/2018 587.23 €
The quick brown fox jumps over the lazy dog 5413244546456456 01/03/2017 au 05/05/2018 768.89 €
Is this love ? 35435454656 01/04/2018 au 05/04/2019 345.87 €
Yes it is 223453645765687 07/04/2017 au 05/04/2018 90.00 €

On this example, a real table is used.

<script>
jQuery('.table-fake3').fakeTableSortable({
    headerItems: 'thead > tr > th',
    lineItems: 'tbody > tr',
    cellItems: 'td',
    linesContainer: 'tbody', // This is where you tell where lines are contained
    firstSort: 'asc',
    sortMethods: ['lexicographical', 'number', 'lexicographical', 'number'],
    textConverter: [null, null, convertDateInterval, null]
});
</script>