/* datatable: sort types and filters */
(function (factory) {
    'use strict';
    require(['jquery', 'jquery.dataTables'], factory);
})
(function ($) {
    'use strict';
    var FOLDER_TYPE = 'abilian.sbe.apps.documents.models.folder';

    function sortFolderFirstCmp(x, y) {
        if (x === y) {
            return 0;
        }
        else if (x === FOLDER_TYPE) {
            return -1;
        }
        else if (y === FOLDER_TYPE) {
            return 1;
        }
        return 0;
    }

    $.extend($.fn.dataTableExt.oSort, {
        'cmistype-pre': $.fn.dataTableExt.oSort['string-pre'],
        'cmistype-asc': sortFolderFirstCmp,
        'cmistype-desc': sortFolderFirstCmp
    });

});
