AirScout/AirScout/wwwroot/dashboard/assets/extra-libs/DataTables/DataTables-1.10.16/js/dataTables.jqueryui.js

180 wiersze
4.9 KiB
JavaScript

/*! 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 + "caret-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 + "caret-1-n";
} else if (!asc && desc) {
noSortAppliedClass = sort_prefix + "caret-1-s";
}
// Setup the DOM structure
$("<div/>")
.addClass("DataTables_sort_wrapper")
.append(cell.contents())
.append(
$("<span/>").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 +
"caret-2-n-s" +
" " +
sort_prefix +
"caret-1-n" +
" " +
sort_prefix +
"caret-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;
});