mirror of
				https://github.com/dawidolko/Website-Templates.git
				synced 2025-10-31 16:33:10 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			157 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			4.3 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(window, document, undefined){
 | |
| 
 | |
| var factory = function( $, DataTable ) {
 | |
| "use strict";
 | |
| 
 | |
| 
 | |
| 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
 | |
| 	$('<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+'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"
 | |
| 		}
 | |
| 	} );
 | |
| }
 | |
| 
 | |
| }; // /factory
 | |
| 
 | |
| 
 | |
| // Define as an AMD module if possible
 | |
| if ( typeof define === 'function' && define.amd ) {
 | |
| 	define( ['jquery', 'datatables'], factory );
 | |
| }
 | |
| else if ( typeof exports === 'object' ) {
 | |
|     // Node/CommonJS
 | |
|     factory( require('jquery'), require('datatables') );
 | |
| }
 | |
| else if ( jQuery ) {
 | |
| 	// Otherwise simply initialise as normal, stopping multiple evaluation
 | |
| 	factory( jQuery, jQuery.fn.dataTable );
 | |
| }
 | |
| 
 | |
| 
 | |
| })(window, document);
 | |
| 
 |