1/*! Bootstrap integration for DataTables' Buttons 2 * © SpryMedia Ltd - datatables.net/license 3 */ 4 5(function( factory ){ 6 if ( typeof define === 'function' && define.amd ) { 7 // AMD 8 define( ['jquery', 'datatables.net-bs', 'datatables.net-buttons'], function ( $ ) { 9 return factory( $, window, document ); 10 } ); 11 } 12 else if ( typeof exports === 'object' ) { 13 // CommonJS 14 var jq = require('jquery'); 15 var cjsRequires = function (root, $) { 16 if ( ! $.fn.dataTable ) { 17 require('datatables.net-bs')(root, $); 18 } 19 20 if ( ! $.fn.dataTable.Buttons ) { 21 require('datatables.net-buttons')(root, $); 22 } 23 }; 24 25 if (typeof window === 'undefined') { 26 module.exports = function (root, $) { 27 if ( ! root ) { 28 // CommonJS environments without a window global must pass a 29 // root. This will give an error otherwise 30 root = window; 31 } 32 33 if ( ! $ ) { 34 $ = jq( root ); 35 } 36 37 cjsRequires( root, $ ); 38 return factory( $, root, root.document ); 39 }; 40 } 41 else { 42 cjsRequires( window, jq ); 43 module.exports = factory( jq, window, window.document ); 44 } 45 } 46 else { 47 // Browser 48 factory( jQuery, window, document ); 49 } 50}(function( $, window, document, undefined ) { 51'use strict'; 52var DataTable = $.fn.dataTable; 53 54 55 56$.extend(true, DataTable.Buttons.defaults, { 57 dom: { 58 container: { 59 className: 'dt-buttons btn-group flex-wrap' 60 }, 61 button: { 62 className: 'btn btn-secondary', 63 active: 'active' 64 }, 65 collection: { 66 action: { 67 dropHtml: '<span class="caret"></span>' 68 }, 69 container: { 70 tag: 'div', 71 className: 'dt-button-collection', 72 content: { 73 tag: 'ul', 74 className: 'dropdown-menu' 75 } 76 }, 77 closeButton: false, 78 button: { 79 tag: 'li', 80 className: 'dt-button', 81 active: 'dt-button-active-a', 82 disabled: 'disabled', 83 liner: { 84 tag: 'a' 85 }, 86 spacer: { 87 className: 'divider', 88 tag: 'li' 89 } 90 } 91 }, 92 split: { 93 action: { 94 tag: 'a', 95 className: 'btn btn-secondary dt-button-split-drop-button', 96 closeButton: false 97 }, 98 dropdown: { 99 tag: 'button', 100 dropHtml: '<span class="caret"></span>', 101 className: 102 'btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split', 103 closeButton: false, 104 align: 'split-left', 105 splitAlignClass: 'dt-button-split-left' 106 }, 107 wrapper: { 108 tag: 'div', 109 className: 'dt-button-split btn-group', 110 closeButton: false 111 } 112 } 113 } 114}); 115 116 117return DataTable; 118})); 119