You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Plugins/sorting/turkish-string.js

42 lines
1.2 KiB
JavaScript

/**
* Sorting in Javascript for Turkish Characters. This plug-in will replace the special
* turkish letters (non english characters) and replace in English.
*
*
* @name Turkish
* @summary Sort Turkish characters
* @author [Yuksel Beyti](http://yukselbeyti.com)
*
* @example
* // Use plug-in for all columns
* $('#example').dataTable({
* columnDefs: [
* { type: 'turkish', targets: '_all' }
* ]
* });
*/
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"turkish-pre": function ( a ) {
var special_letters = {
"C": "Ca", "c": "ca", "Ç": "Cb", "ç": "cb",
"G": "Ga", "g": "ga", "Ğ": "Gb", "ğ": "gb",
"I": "Ia", "ı": "ia", "İ": "Ib", "i": "ib",
"O": "Oa", "o": "oa", "Ö": "Ob", "ö": "ob",
"S": "Sa", "s": "sa", "Ş": "Sb", "ş": "sb",
"U": "Ua", "u": "ua", "Ü": "Ub", "ü": "ub"
};
for (var val in special_letters)
a = a.split(val).join(special_letters[val]).toLowerCase();
return a;
},
"turkish-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"turkish-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );