You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			163 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			JavaScript
		
	
		
		
			
		
	
	
			163 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			JavaScript
		
	
| 
											11 years ago
										 | /*! DataTables Bootstrap 2 integration | ||
|  |  * ©2011-2014 SpryMedia Ltd - datatables.net/license | ||
|  |  */ | ||
|  | 
 | ||
|  | /** | ||
|  |  * DataTables integration for Bootstrap 2. This requires Bootstrap 2 and | ||
|  |  * DataTables 1.10 or newer. | ||
|  |  * | ||
|  |  * This file sets the defaults and adds options to DataTables to style its | ||
|  |  * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
 | ||
|  |  * for further information. | ||
|  |  */ | ||
|  | (function(window, document, $, DataTable, undefined){ | ||
|  | 
 | ||
|  | $.extend( true, DataTable.defaults, { | ||
|  | 	"dom": | ||
|  | 		"<'row-fluid'<'span6'l><'span6'f>r>" + | ||
|  | 		"<'row-fluid'<'span12't>>" + | ||
|  | 		"<'row-fluid'<'span6'i><'span6'p>>", | ||
|  | 	renderer: 'bootstrap' | ||
|  | } ); | ||
|  | 
 | ||
|  | 
 | ||
|  | /* Default class modification */ | ||
|  | $.extend( DataTable.ext.classes, { | ||
|  | 	sWrapper: "dataTables_wrapper form-inline dt-bootstrap" | ||
|  | } ); | ||
|  | 
 | ||
|  | 
 | ||
|  | /* Bootstrap paging button renderer */ | ||
|  | DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { | ||
|  | 	var api     = new DataTable.Api( settings ); | ||
|  | 	var classes = settings.oClasses; | ||
|  | 	var lang    = settings.oLanguage.oPaginate; | ||
|  | 	var btnDisplay, btnClass; | ||
|  | 
 | ||
|  | 	var attach = function( container, buttons ) { | ||
|  | 		var i, ien, node, button; | ||
|  | 		var clickHandler = function ( e ) { | ||
|  | 			e.preventDefault(); | ||
|  | 			if ( !$(e.currentTarget).hasClass('disabled') ) { | ||
|  | 				api.page( e.data.action ).draw( false ); | ||
|  | 			} | ||
|  | 		}; | ||
|  | 
 | ||
|  | 		for ( i=0, ien=buttons.length ; i<ien ; i++ ) { | ||
|  | 			button = buttons[i]; | ||
|  | 
 | ||
|  | 			if ( $.isArray( button ) ) { | ||
|  | 				attach( container, button ); | ||
|  | 			} | ||
|  | 			else { | ||
|  | 				btnDisplay = ''; | ||
|  | 				btnClass = ''; | ||
|  | 
 | ||
|  | 				switch ( button ) { | ||
|  | 					case 'ellipsis': | ||
|  | 						btnDisplay = '…'; | ||
|  | 						btnClass = 'disabled'; | ||
|  | 						break; | ||
|  | 
 | ||
|  | 					case 'first': | ||
|  | 						btnDisplay = lang.sFirst; | ||
|  | 						btnClass = button + (page > 0 ? | ||
|  | 							'' : ' disabled'); | ||
|  | 						break; | ||
|  | 
 | ||
|  | 					case 'previous': | ||
|  | 						btnDisplay = lang.sPrevious; | ||
|  | 						btnClass = button + (page > 0 ? | ||
|  | 							'' : ' disabled'); | ||
|  | 						break; | ||
|  | 
 | ||
|  | 					case 'next': | ||
|  | 						btnDisplay = lang.sNext; | ||
|  | 						btnClass = button + (page < pages-1 ? | ||
|  | 							'' : ' disabled'); | ||
|  | 						break; | ||
|  | 
 | ||
|  | 					case 'last': | ||
|  | 						btnDisplay = lang.sLast; | ||
|  | 						btnClass = button + (page < pages-1 ? | ||
|  | 							'' : ' disabled'); | ||
|  | 						break; | ||
|  | 
 | ||
|  | 					default: | ||
|  | 						btnDisplay = button + 1; | ||
|  | 						btnClass = page === button ? | ||
|  | 							'active' : ''; | ||
|  | 						break; | ||
|  | 				} | ||
|  | 
 | ||
|  | 				if ( btnDisplay ) { | ||
|  | 					node = $('<li>', { | ||
|  | 							'class': classes.sPageButton+' '+btnClass, | ||
|  | 							'aria-controls': settings.sTableId, | ||
|  | 							'tabindex': settings.iTabIndex, | ||
|  | 							'id': idx === 0 && typeof button === 'string' ? | ||
|  | 								settings.sTableId +'_'+ button : | ||
|  | 								null | ||
|  | 						} ) | ||
|  | 						.append( $('<a>', { | ||
|  | 								'href': '#' | ||
|  | 							} ) | ||
|  | 							.html( btnDisplay ) | ||
|  | 						) | ||
|  | 						.appendTo( container ); | ||
|  | 
 | ||
|  | 					settings.oApi._fnBindAction( | ||
|  | 						node, {action: button}, clickHandler | ||
|  | 					); | ||
|  | 				} | ||
|  | 			} | ||
|  | 		} | ||
|  | 	}; | ||
|  | 
 | ||
|  | 	attach( | ||
|  | 		$(host).empty().html('<div class="pagination"><ul/></div>').find('ul'), | ||
|  | 		buttons | ||
|  | 	); | ||
|  | }; | ||
|  | 
 | ||
|  | 
 | ||
|  | /* | ||
|  |  * TableTools Bootstrap compatibility | ||
|  |  * Required TableTools 2.1+ | ||
|  |  */ | ||
|  | if ( DataTable.TableTools ) { | ||
|  | 	// Set the classes that TableTools uses to something suitable for Bootstrap
 | ||
|  | 	$.extend( true, DataTable.TableTools.classes, { | ||
|  | 		"container": "DTTT btn-group", | ||
|  | 		"buttons": { | ||
|  | 			"normal": "btn", | ||
|  | 			"disabled": "disabled" | ||
|  | 		}, | ||
|  | 		"collection": { | ||
|  | 			"container": "DTTT_dropdown dropdown-menu", | ||
|  | 			"buttons": { | ||
|  | 				"normal": "", | ||
|  | 				"disabled": "disabled" | ||
|  | 			} | ||
|  | 		}, | ||
|  | 		"print": { | ||
|  | 			"info": "DTTT_print_info modal" | ||
|  | 		}, | ||
|  | 		"select": { | ||
|  | 			"row": "active" | ||
|  | 		} | ||
|  | 	} ); | ||
|  | 
 | ||
|  | 	// Have the collection use a bootstrap compatible dropdown
 | ||
|  | 	$.extend( true, DataTable.TableTools.DEFAULTS.oTags, { | ||
|  | 		"collection": { | ||
|  | 			"container": "ul", | ||
|  | 			"button": "li", | ||
|  | 			"liner": "a" | ||
|  | 		} | ||
|  | 	} ); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | })(window, document, jQuery, jQuery.fn.dataTable); |