All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.bower_components.datatables.net-jqui.js.dataTables.jqueryui.js Maven / Gradle / Ivy

The newest version!
/*! DataTables jQuery UI integration
 * ©2011-2014 SpryMedia Ltd - datatables.net/license
 */

/**
 * DataTables integration for jQuery UI. This requires jQuery UI and
 * DataTables 1.10 or newer.
 *
 * This file sets the defaults and adds options to DataTables to style its
 * controls using jQuery UI. See http://datatables.net/manual/styling/jqueryui
 * for further information.
 */
(function (factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD
        define(['jquery', 'datatables.net'], function ($) {
            return factory($, window, document);
        });
    }
    else if (typeof exports === 'object') {
        // CommonJS
        module.exports = function (root, $) {
            if (!root) {
                root = window;
            }

            if (!$ || !$.fn.dataTable) {
                $ = require('datatables.net')(root, $).$;
            }

            return factory($, root, root.document);
        };
    }
    else {
        // Browser
        factory(jQuery, window, document);
    }
}(function ($, window, document, undefined) {
    'use strict';
    var DataTable = $.fn.dataTable;


    var sort_prefix = 'css_right ui-icon ui-icon-';
    var toolbar_prefix = 'fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-';

    /* Set the defaults for DataTables initialisation */
    $.extend(true, DataTable.defaults, {
        dom:
        '<"' + toolbar_prefix + 'tl ui-corner-tr"lfr>' +
        't' +
        '<"' + toolbar_prefix + 'bl ui-corner-br"ip>',
        renderer: 'jqueryui'
    });


    $.extend(DataTable.ext.classes, {
        "sWrapper": "dataTables_wrapper dt-jqueryui",

        /* Full numbers paging buttons */
        "sPageButton": "fg-button ui-button ui-state-default",
        "sPageButtonActive": "ui-state-disabled",
        "sPageButtonDisabled": "ui-state-disabled",

        /* Features */
        "sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi " +
        "ui-buttonset-multi paging_", /* Note that the type is postfixed */

        /* Sorting */
        "sSortAsc": "ui-state-default sorting_asc",
        "sSortDesc": "ui-state-default sorting_desc",
        "sSortable": "ui-state-default sorting",
        "sSortableAsc": "ui-state-default sorting_asc_disabled",
        "sSortableDesc": "ui-state-default sorting_desc_disabled",
        "sSortableNone": "ui-state-default sorting_disabled",
        "sSortIcon": "DataTables_sort_icon",

        /* Scrolling */
        "sScrollHead": "dataTables_scrollHead " + "ui-state-default",
        "sScrollFoot": "dataTables_scrollFoot " + "ui-state-default",

        /* Misc */
        "sHeaderTH": "ui-state-default",
        "sFooterTH": "ui-state-default"
    });


    DataTable.ext.renderer.header.jqueryui = function (settings, cell, column, classes) {
        // Calculate what the unsorted class should be
        var noSortAppliedClass = sort_prefix + 'carat-2-n-s';
        var asc = $.inArray('asc', column.asSorting) !== -1;
        var desc = $.inArray('desc', column.asSorting) !== -1;

        if (!column.bSortable || (!asc && !desc)) {
            noSortAppliedClass = '';
        }
        else if (asc && !desc) {
            noSortAppliedClass = sort_prefix + 'carat-1-n';
        }
        else if (!asc && desc) {
            noSortAppliedClass = sort_prefix + 'carat-1-s';
        }

        // Setup the DOM structure
        $('
') .addClass('DataTables_sort_wrapper') .append(cell.contents()) .append($('') .addClass(classes.sSortIcon + ' ' + noSortAppliedClass) ) .appendTo(cell); // Attach a sort listener to update on sort $(settings.nTable).on('order.dt', function (e, ctx, sorting, columns) { if (settings !== ctx) { return; } var colIdx = column.idx; cell .removeClass(classes.sSortAsc + " " + classes.sSortDesc) .addClass(columns[colIdx] == 'asc' ? classes.sSortAsc : columns[colIdx] == 'desc' ? classes.sSortDesc : column.sSortingClass ); cell .find('span.' + classes.sSortIcon) .removeClass( sort_prefix + 'triangle-1-n' + " " + sort_prefix + 'triangle-1-s' + " " + sort_prefix + 'carat-2-n-s' + " " + sort_prefix + 'carat-1-n' + " " + sort_prefix + 'carat-1-s' ) .addClass(columns[colIdx] == 'asc' ? sort_prefix + 'triangle-1-n' : columns[colIdx] == 'desc' ? sort_prefix + 'triangle-1-s' : noSortAppliedClass ); }); }; /* * TableTools jQuery UI compatibility * Required TableTools 2.1+ */ if (DataTable.TableTools) { $.extend(true, DataTable.TableTools.classes, { "container": "DTTT_container ui-buttonset ui-buttonset-multi", "buttons": { "normal": "DTTT_button ui-button ui-state-default" }, "collection": { "container": "DTTT_collection ui-buttonset ui-buttonset-multi" } }); } return DataTable; }));




© 2015 - 2025 Weber Informatics LLC | Privacy Policy