Revision 47 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
/*! DataTables Foundation integration* ©2011-2014 SpryMedia Ltd - datatables.net/license*//*** DataTables integration for Foundation. This requires Foundation 5 and* DataTables 1.10 or newer.** This file sets the defaults and adds options to DataTables to style its* controls using Foundation. See http://datatables.net/manual/styling/foundation* for further information.*/(function(window, document, undefined){var factory = function( $, DataTable ) {"use strict";$.extend( DataTable.ext.classes, {sWrapper: "dataTables_wrapper dt-foundation"} );/* Set the defaults for DataTables initialisation */$.extend( true, DataTable.defaults, {dom:"<'row'<'small-6 columns'l><'small-6 columns'f>r>"+"t"+"<'row'<'small-6 columns'i><'small-6 columns'p>>",renderer: 'foundation'} );/* Page button renderer */DataTable.ext.renderer.pageButton.foundation = 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.data.action !== 'ellipsis' ) {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 = 'unavailable';break;case 'first':btnDisplay = lang.sFirst;btnClass = button + (page > 0 ?'' : ' unavailable');break;case 'previous':btnDisplay = lang.sPrevious;btnClass = button + (page > 0 ?'' : ' unavailable');break;case 'next':btnDisplay = lang.sNext;btnClass = button + (page < pages-1 ?'' : ' unavailable');break;case 'last':btnDisplay = lang.sLast;btnClass = button + (page < pages-1 ?'' : ' unavailable');break;default:btnDisplay = button + 1;btnClass = page === button ?'current' : '';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('<ul class="pagination"/>').children('ul'),buttons);};/** TableTools Foundation compatibility* Required TableTools 2.1+*/if ( DataTable.TableTools ) {// Set the classes that TableTools uses to something suitable for Foundation$.extend( true, DataTable.TableTools.classes, {"container": "DTTT button-group","buttons": {"normal": "button small","disabled": "disabled"},"collection": {"container": "DTTT_dropdown dropdown-menu","buttons": {"normal": "","disabled": "disabled"}},"select": {"row": "active"}} );// Have the collection use a bootstrap compatible dropdown$.extend( true, DataTable.TableTools.DEFAULTS.oTags, {"collection": {"container": "ul","button": "li","liner": "a"}} );}}; // /factory// Define as an AMD module if possibleif ( typeof define === 'function' && define.amd ) {define( ['jquery', 'datatables'], factory );}else if ( typeof exports === 'object' ) {// Node/CommonJSfactory( require('jquery'), require('datatables') );}else if ( jQuery ) {// Otherwise simply initialise as normal, stopping multiple evaluationfactory( jQuery, jQuery.fn.dataTable );}})(window, document);