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/chinese-string.js

79 lines
2.1 KiB
JavaScript

/*! © SpryMedia Ltd, Patrik Lindström - datatables.net/license */
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net')(root, $);
}
};
if (typeof window !== 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
/**
* Sorting in Javascript for Chinese Character. The Chinese Characters are
* sorted on the radical and number of strokes. This plug-in performs sorting
* for Chinese characters using the Javascript [localeCompare](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/localeCompare)
* function.
*
* Please note that `localeCompare` is not implemented in the same way in all
* browsers, potentially leading to different results (particularly in IE).
*
* @name Chinese (string)
* @summary Sort Chinese characters
* @author [Patrik Lindström](http://www.lcube.se/sorting-chinese-characters-in-javascript/)
*
* @example
* $('#example').dataTable( {
* columnDefs: [
* { type: 'chinese-string', targets: 0 }
* ]
* } );
*/
DataTable.ext.order['chinese-string-asc'] = function (s1, s2) {
return s1.localeCompare(s2);
};
DataTable.ext.order['chinese-string-desc'] = function (s1, s2) {
return s2.localeCompare(s1);
};
return DataTable;
}));