├── LICENSE ├── README.md ├── action.php ├── assets ├── datatables.net-buttons │ ├── css │ │ ├── buttons.bootstrap.css │ │ ├── buttons.bootstrap.min.css │ │ ├── buttons.bootstrap4.css │ │ ├── buttons.bootstrap4.min.css │ │ ├── buttons.bootstrap5.css │ │ ├── buttons.bootstrap5.min.css │ │ ├── buttons.bulma.css │ │ ├── buttons.bulma.min.css │ │ ├── buttons.dataTables.css │ │ ├── buttons.dataTables.min.css │ │ ├── buttons.foundation.css │ │ ├── buttons.foundation.min.css │ │ ├── buttons.jqueryui.css │ │ ├── buttons.jqueryui.min.css │ │ ├── buttons.semanticui.css │ │ ├── buttons.semanticui.min.css │ │ ├── common.scss │ │ └── mixins.scss │ └── js │ │ ├── buttons.bootstrap.js │ │ ├── buttons.bootstrap.min.js │ │ ├── buttons.bootstrap4.js │ │ ├── buttons.bootstrap4.min.js │ │ ├── buttons.bootstrap5.js │ │ ├── buttons.bootstrap5.min.js │ │ ├── buttons.bulma.js │ │ ├── buttons.bulma.min.js │ │ ├── buttons.colVis.js │ │ ├── buttons.colVis.min.js │ │ ├── buttons.dataTables.js │ │ ├── buttons.dataTables.min.js │ │ ├── buttons.foundation.js │ │ ├── buttons.foundation.min.js │ │ ├── buttons.html5.js │ │ ├── buttons.html5.min.js │ │ ├── buttons.jqueryui.js │ │ ├── buttons.jqueryui.min.js │ │ ├── buttons.print.js │ │ ├── buttons.print.min.js │ │ ├── buttons.semanticui.js │ │ ├── buttons.semanticui.min.js │ │ ├── dataTables.buttons.js │ │ └── dataTables.buttons.min.js ├── datatables.net-fixedcolumns-dt │ ├── css │ │ ├── fixedColumns.bootstrap.css │ │ ├── fixedColumns.bootstrap.min.css │ │ ├── fixedColumns.bootstrap4.css │ │ ├── fixedColumns.bootstrap4.min.css │ │ ├── fixedColumns.bootstrap5.css │ │ ├── fixedColumns.bootstrap5.min.css │ │ ├── fixedColumns.bulma.css │ │ ├── fixedColumns.bulma.min.css │ │ ├── fixedColumns.dataTables.css │ │ ├── fixedColumns.dataTables.min.css │ │ ├── fixedColumns.foundation.css │ │ ├── fixedColumns.foundation.min.css │ │ ├── fixedColumns.jqueryui.css │ │ ├── fixedColumns.jqueryui.min.css │ │ ├── fixedColumns.semanticui.css │ │ └── fixedColumns.semanticui.min.css │ └── js │ │ ├── dataTables.fixedColumns.js │ │ ├── dataTables.fixedColumns.min.js │ │ ├── fixedColumns.bootstrap.js │ │ ├── fixedColumns.bootstrap.min.js │ │ ├── fixedColumns.bootstrap4.js │ │ ├── fixedColumns.bootstrap4.min.js │ │ ├── fixedColumns.bootstrap5.js │ │ ├── fixedColumns.bootstrap5.min.js │ │ ├── fixedColumns.bulma.js │ │ ├── fixedColumns.bulma.min.js │ │ ├── fixedColumns.dataTables.js │ │ ├── fixedColumns.dataTables.min.js │ │ ├── fixedColumns.foundation.js │ │ ├── fixedColumns.foundation.min.js │ │ ├── fixedColumns.jqueryui.js │ │ ├── fixedColumns.jqueryui.min.js │ │ ├── fixedColumns.semanticui.js │ │ └── fixedColumns.semanticui.min.js ├── datatables.net-fixedheader-dt │ ├── css │ │ ├── fixedHeader.bootstrap.css │ │ ├── fixedHeader.bootstrap.min.css │ │ ├── fixedHeader.bootstrap4.css │ │ ├── fixedHeader.bootstrap4.min.css │ │ ├── fixedHeader.bootstrap5.css │ │ ├── fixedHeader.bootstrap5.min.css │ │ ├── fixedHeader.bulma.css │ │ ├── fixedHeader.bulma.min.css │ │ ├── fixedHeader.dataTables.css │ │ ├── fixedHeader.dataTables.min.css │ │ ├── fixedHeader.foundation.css │ │ ├── fixedHeader.foundation.min.css │ │ ├── fixedHeader.jqueryui.css │ │ ├── fixedHeader.jqueryui.min.css │ │ ├── fixedHeader.semanticui.css │ │ └── fixedHeader.semanticui.min.css │ └── js │ │ ├── dataTables.fixedHeader.js │ │ ├── dataTables.fixedHeader.min.js │ │ ├── fixedHeader.bootstrap.js │ │ ├── fixedHeader.bootstrap.min.js │ │ ├── fixedHeader.bootstrap4.js │ │ ├── fixedHeader.bootstrap4.min.js │ │ ├── fixedHeader.bootstrap5.js │ │ ├── fixedHeader.bootstrap5.min.js │ │ ├── fixedHeader.bulma.js │ │ ├── fixedHeader.bulma.min.js │ │ ├── fixedHeader.dataTables.js │ │ ├── fixedHeader.dataTables.min.js │ │ ├── fixedHeader.foundation.js │ │ ├── fixedHeader.foundation.min.js │ │ ├── fixedHeader.jqueryui.js │ │ ├── fixedHeader.jqueryui.min.js │ │ ├── fixedHeader.semanticui.js │ │ └── fixedHeader.semanticui.min.js ├── datatables.net-i18n │ ├── Ganda.json │ ├── af.json │ ├── am.json │ ├── ar.json │ ├── az-AZ.json │ ├── be.json │ ├── bg.json │ ├── bn.json │ ├── bs-BA.json │ ├── ca.json │ ├── co.json │ ├── cs.json │ ├── cy.json │ ├── da.json │ ├── de-DE.json │ ├── el.json │ ├── en-GB.json │ ├── eo.json │ ├── es-AR.json │ ├── es-CL.json │ ├── es-CO.json │ ├── es-ES.json │ ├── es-MX.json │ ├── et.json │ ├── eu.json │ ├── fa.json │ ├── fi.json │ ├── fil.json │ ├── fr-FR.json │ ├── ga.json │ ├── gl.json │ ├── gu.json │ ├── he.json │ ├── hi.json │ ├── hr.json │ ├── hu.json │ ├── hy.json │ ├── id-ALT.json │ ├── id.json │ ├── is.json │ ├── it-IT.json │ ├── ja.json │ ├── jv.json │ ├── ka.json │ ├── kk.json │ ├── km.json │ ├── kn.json │ ├── ko.json │ ├── ku.json │ ├── ky.json │ ├── lo.json │ ├── lt.json │ ├── lv.json │ ├── mk.json │ ├── mn.json │ ├── mr.json │ ├── ms.json │ ├── ne.json │ ├── nl-NL.json │ ├── no-NB.json │ ├── no-NO.json │ ├── pa.json │ ├── pl.json │ ├── ps.json │ ├── pt-BR.json │ ├── pt-PT.json │ ├── rm.json │ ├── ro.json │ ├── ru.json │ ├── si.json │ ├── sk.json │ ├── sl.json │ ├── snd.json │ ├── sq.json │ ├── sr-SP.json │ ├── sr.json │ ├── sv-SE.json │ ├── sw.json │ ├── ta.json │ ├── te.json │ ├── tg.json │ ├── th.json │ ├── tk.json │ ├── tr.json │ ├── ug.json │ ├── uk.json │ ├── ur.json │ ├── uz-CR.json │ ├── uz.json │ ├── vi.json │ ├── zh-HANT.json │ └── zh.json ├── datatables.net │ ├── css │ │ ├── dataTables.bootstrap.css │ │ ├── dataTables.bootstrap.min.css │ │ ├── dataTables.bootstrap4.css │ │ ├── dataTables.bootstrap4.min.css │ │ ├── dataTables.bootstrap5.css │ │ ├── dataTables.bootstrap5.min.css │ │ ├── dataTables.bulma.css │ │ ├── dataTables.bulma.min.css │ │ ├── dataTables.dataTables.css │ │ ├── dataTables.dataTables.min.css │ │ ├── dataTables.foundation.css │ │ ├── dataTables.foundation.min.css │ │ ├── dataTables.jqueryui.css │ │ ├── dataTables.jqueryui.min.css │ │ ├── dataTables.semanticui.css │ │ ├── dataTables.semanticui.min.css │ │ ├── jquery.dataTables.css │ │ └── jquery.dataTables.min.css │ ├── images │ │ ├── sort_asc.png │ │ ├── sort_asc_disabled.png │ │ ├── sort_both.png │ │ ├── sort_desc.png │ │ └── sort_desc_disabled.png │ └── js │ │ ├── dataTables.bootstrap.js │ │ ├── dataTables.bootstrap.min.js │ │ ├── dataTables.bootstrap4.js │ │ ├── dataTables.bootstrap4.min.js │ │ ├── dataTables.bootstrap5.js │ │ ├── dataTables.bootstrap5.min.js │ │ ├── dataTables.bulma.js │ │ ├── dataTables.bulma.min.js │ │ ├── dataTables.dataTables.js │ │ ├── dataTables.dataTables.min.js │ │ ├── dataTables.foundation.js │ │ ├── dataTables.foundation.min.js │ │ ├── dataTables.jqueryui.js │ │ ├── dataTables.jqueryui.min.js │ │ ├── dataTables.semanticui.js │ │ ├── dataTables.semanticui.min.js │ │ ├── jquery.dataTables.js │ │ └── jquery.dataTables.min.js ├── jszip │ ├── jszip.js │ └── jszip.min.js ├── pdfmake │ ├── pdfmake.js │ ├── pdfmake.min.js │ └── vfs_fonts.js └── source.txt ├── conf ├── default.php └── metadata.php ├── lang ├── de │ └── settings.php ├── en │ └── settings.php ├── fr │ └── settings.php └── ja │ └── settings.php ├── plugin.info.txt ├── script.js └── syntax.php /README.md: -------------------------------------------------------------------------------- 1 | DataTables Plugin for DokuWiki 2 | ============================== 3 | 4 | Add DataTables support to your DokuWiki 5 | 6 | All documentation for this plugin can be found at 7 | http://www.dokuwiki.org/plugin:datatables 8 | 9 | If you install this plugin manually, make sure it is installed in 10 | lib/plugins/datatables/ - if the folder is called different it 11 | will not work! 12 | 13 | Please refer to http://www.dokuwiki.org/plugins for additional info 14 | on how to install plugins in DokuWiki. 15 | 16 | ---- 17 | Copyright (C) Giuseppe Di Terlizzi 18 | 19 | This program is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; version 2 of the License 22 | 23 | This program is distributed in the hope that it will be useful, 24 | but WITHOUT ANY WARRANTY; without even the implied warranty of 25 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 26 | GNU General Public License for more details. 27 | 28 | See the COPYING file in your DokuWiki folder for details 29 | -------------------------------------------------------------------------------- /assets/datatables.net-buttons/css/common.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin active-tick { 3 | position: absolute; 4 | top: 50%; 5 | margin-top: -10px; 6 | right: 1em; 7 | display: inline-block; 8 | content: '\2713'; // utf8 tick 9 | color: inherit; 10 | } 11 | 12 | div.dataTables_wrapper { 13 | position: relative; 14 | } 15 | 16 | div.dt-buttons { 17 | position: initial; 18 | 19 | .dt-button { 20 | overflow: hidden; 21 | text-overflow: ellipsis; 22 | } 23 | } 24 | 25 | div.dt-button-info { 26 | position: fixed; 27 | top: 50%; 28 | left: 50%; 29 | width: 400px; 30 | margin-top: -100px; 31 | margin-left: -200px; 32 | background-color: white; 33 | border-radius: 0.75em; 34 | box-shadow: 3px 4px 10px 1px rgba(0, 0, 0, 0.8); 35 | text-align: center; 36 | z-index: 2003; 37 | overflow: hidden; 38 | 39 | h2 { 40 | padding: 2rem 2rem 1rem 2rem; 41 | margin: 0; 42 | font-weight: normal; 43 | } 44 | 45 | > div { 46 | padding: 1em 2em 2em 2em; 47 | } 48 | } 49 | 50 | div.dtb-popover-close { 51 | position: absolute; 52 | top: 6px; 53 | right: 6px; 54 | width: 22px; 55 | height: 22px; 56 | text-align: center; 57 | border-radius: 3px; 58 | cursor: pointer; 59 | z-index: 2003; 60 | } 61 | 62 | button.dtb-hide-drop { 63 | display: none !important; 64 | } 65 | 66 | div.dt-button-collection-title { 67 | text-align: center; 68 | padding: 0.3em 0 0.5em; 69 | margin-left: 0.5em; 70 | margin-right: 0.5em; 71 | font-size: 0.9em; 72 | } 73 | 74 | div.dt-button-collection-title:empty { 75 | display: none; 76 | } 77 | 78 | span.dt-button-spacer { 79 | display: inline-block; 80 | margin: 0.5em; 81 | white-space: nowrap; 82 | 83 | &.bar { 84 | border-left: 1px solid rgba(0, 0, 0, 0.3); 85 | vertical-align: middle; 86 | padding-left: 0.5em; 87 | 88 | &:empty { 89 | height: 1em; 90 | width: 1px; 91 | padding-left: 0; 92 | } 93 | } 94 | } 95 | 96 | 97 | 98 | div.dt-button-collection { 99 | .dt-button-active { 100 | padding-right: 3em; 101 | 102 | &:after { 103 | @include active-tick; 104 | } 105 | 106 | &.dt-button-split { 107 | padding-right: 0; 108 | 109 | &:after { 110 | display: none; 111 | } 112 | 113 | > *:first-child { 114 | padding-right: 3em; 115 | 116 | &:after { 117 | @include active-tick; 118 | } 119 | } 120 | } 121 | } 122 | 123 | .dt-button-active-a a { 124 | padding-right: 3em; 125 | 126 | &:after { 127 | position: absolute; 128 | right: 1em; 129 | display: inline-block; 130 | content: '\2713'; // utf8 tick 131 | color: inherit; 132 | } 133 | } 134 | 135 | span.dt-button-spacer { 136 | width: 100%; 137 | font-size: 0.9em; 138 | text-align: center; 139 | margin: 0.5em 0; 140 | 141 | &:empty { 142 | height: 0; 143 | width: 100%; 144 | } 145 | 146 | &.bar { 147 | border-left: none; 148 | border-bottom: 1px solid rgba(0, 0, 0, 0.1); 149 | padding-left: 0; 150 | } 151 | } 152 | } 153 | 154 | html.dark { 155 | div.dt-button-info { 156 | background-color: var(--dt-html-background); 157 | border: 1px solid rgba(255, 255, 255, 0.15); 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /assets/datatables.net-buttons/js/buttons.bootstrap.js: -------------------------------------------------------------------------------- 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'; 52 | var 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: '' 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: '', 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 | 117 | return DataTable; 118 | })); 119 | -------------------------------------------------------------------------------- /assets/datatables.net-buttons/js/buttons.bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! Bootstrap integration for DataTables' Buttons 2 | * © SpryMedia Ltd - datatables.net/license 3 | */ 4 | !function(e){var a,o;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-buttons"],function(t){return e(t,window,document)}):"object"==typeof exports?(a=require("jquery"),o=function(t,n){n.fn.dataTable||require("datatables.net-bs")(t,n),n.fn.dataTable.Buttons||require("datatables.net-buttons")(t,n)},"undefined"==typeof window?module.exports=function(t,n){return t=t||window,n=n||a(t),o(t,n),e(n,0,t.document)}:(o(window,a),module.exports=e(a,window,window.document))):e(jQuery,window,document)}(function(t,n,e,a){"use strict";var o=t.fn.dataTable;return t.extend(!0,o.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group flex-wrap"},button:{className:"btn btn-secondary",active:"active"},collection:{action:{dropHtml:''},container:{tag:"div",className:"dt-button-collection",content:{tag:"ul",className:"dropdown-menu"}},closeButton:!1,button:{tag:"li",className:"dt-button",active:"dt-button-active-a",disabled:"disabled",liner:{tag:"a"},spacer:{className:"divider",tag:"li"}}},split:{action:{tag:"a",className:"btn btn-secondary dt-button-split-drop-button",closeButton:!1},dropdown:{tag:"button",dropHtml:'',className:"btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split",closeButton:!1,align:"split-left",splitAlignClass:"dt-button-split-left"},wrapper:{tag:"div",className:"dt-button-split btn-group",closeButton:!1}}}}),o}); -------------------------------------------------------------------------------- /assets/datatables.net-buttons/js/buttons.bootstrap4.js: -------------------------------------------------------------------------------- 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-bs4', '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-bs4')(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'; 52 | var 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: '' 68 | }, 69 | container: { 70 | tag: 'div', 71 | className: 'dropdown-menu dt-button-collection' 72 | }, 73 | closeButton: false, 74 | button: { 75 | tag: 'a', 76 | className: 'dt-button dropdown-item', 77 | active: 'dt-button-active', 78 | disabled: 'disabled', 79 | spacer: { 80 | className: 'dropdown-divider', 81 | tag: 'hr' 82 | } 83 | } 84 | }, 85 | split: { 86 | action: { 87 | tag: 'a', 88 | className: 'btn btn-secondary dt-button-split-drop-button', 89 | closeButton: false 90 | }, 91 | dropdown: { 92 | tag: 'button', 93 | dropHtml: '', 94 | className: 95 | 'btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split', 96 | closeButton: false, 97 | align: 'split-left', 98 | splitAlignClass: 'dt-button-split-left' 99 | }, 100 | wrapper: { 101 | tag: 'div', 102 | className: 'dt-button-split btn-group', 103 | closeButton: false 104 | } 105 | } 106 | }, 107 | buttonCreated: function (config, button) { 108 | return config.buttons ? $('
').append(button) : button; 109 | } 110 | }); 111 | 112 | DataTable.ext.buttons.collection.className += ' dropdown-toggle'; 113 | DataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right'; 114 | 115 | 116 | return DataTable; 117 | })); 118 | -------------------------------------------------------------------------------- /assets/datatables.net-buttons/js/buttons.bootstrap4.min.js: -------------------------------------------------------------------------------- 1 | /*! Bootstrap integration for DataTables' Buttons 2 | * © SpryMedia Ltd - datatables.net/license 3 | */ 4 | !function(o){var e,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-buttons"],function(t){return o(t,window,document)}):"object"==typeof exports?(e=require("jquery"),a=function(t,n){n.fn.dataTable||require("datatables.net-bs4")(t,n),n.fn.dataTable.Buttons||require("datatables.net-buttons")(t,n)},"undefined"==typeof window?module.exports=function(t,n){return t=t||window,n=n||e(t),a(t,n),o(n,0,t.document)}:(a(window,e),module.exports=o(e,window,window.document))):o(jQuery,window,document)}(function(o,t,n,e){"use strict";var a=o.fn.dataTable;return o.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group flex-wrap"},button:{className:"btn btn-secondary",active:"active"},collection:{action:{dropHtml:""},container:{tag:"div",className:"dropdown-menu dt-button-collection"},closeButton:!1,button:{tag:"a",className:"dt-button dropdown-item",active:"dt-button-active",disabled:"disabled",spacer:{className:"dropdown-divider",tag:"hr"}}},split:{action:{tag:"a",className:"btn btn-secondary dt-button-split-drop-button",closeButton:!1},dropdown:{tag:"button",dropHtml:"",className:"btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split",closeButton:!1,align:"split-left",splitAlignClass:"dt-button-split-left"},wrapper:{tag:"div",className:"dt-button-split btn-group",closeButton:!1}}},buttonCreated:function(t,n){return t.buttons?o('
').append(n):n}}),a.ext.buttons.collection.className+=" dropdown-toggle",a.ext.buttons.collection.rightAlignClassName="dropdown-menu-right",a}); -------------------------------------------------------------------------------- /assets/datatables.net-buttons/js/buttons.bootstrap5.js: -------------------------------------------------------------------------------- 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-bs5', '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-bs5')(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'; 52 | var 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: '' 68 | }, 69 | container: { 70 | tag: 'div', 71 | className: 'dropdown-menu dt-button-collection' 72 | }, 73 | closeButton: false, 74 | button: { 75 | tag: 'a', 76 | className: 'dt-button dropdown-item', 77 | active: 'dt-button-active', 78 | disabled: 'disabled', 79 | spacer: { 80 | className: 'dropdown-divider', 81 | tag: 'hr' 82 | } 83 | } 84 | }, 85 | split: { 86 | action: { 87 | tag: 'a', 88 | className: 'btn btn-secondary dt-button-split-drop-button', 89 | closeButton: false 90 | }, 91 | dropdown: { 92 | tag: 'button', 93 | dropHtml: '', 94 | className: 95 | 'btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split', 96 | closeButton: false, 97 | align: 'split-left', 98 | splitAlignClass: 'dt-button-split-left' 99 | }, 100 | wrapper: { 101 | tag: 'div', 102 | className: 'dt-button-split btn-group', 103 | closeButton: false 104 | } 105 | } 106 | }, 107 | buttonCreated: function (config, button) { 108 | return config.buttons ? $('
').append(button) : button; 109 | } 110 | }); 111 | 112 | DataTable.ext.buttons.collection.className += ' dropdown-toggle'; 113 | DataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right'; 114 | 115 | 116 | return DataTable; 117 | })); 118 | -------------------------------------------------------------------------------- /assets/datatables.net-buttons/js/buttons.bootstrap5.min.js: -------------------------------------------------------------------------------- 1 | /*! Bootstrap integration for DataTables' Buttons 2 | * © SpryMedia Ltd - datatables.net/license 3 | */ 4 | !function(o){var e,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-buttons"],function(t){return o(t,window,document)}):"object"==typeof exports?(e=require("jquery"),a=function(t,n){n.fn.dataTable||require("datatables.net-bs5")(t,n),n.fn.dataTable.Buttons||require("datatables.net-buttons")(t,n)},"undefined"==typeof window?module.exports=function(t,n){return t=t||window,n=n||e(t),a(t,n),o(n,0,t.document)}:(a(window,e),module.exports=o(e,window,window.document))):o(jQuery,window,document)}(function(o,t,n,e){"use strict";var a=o.fn.dataTable;return o.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group flex-wrap"},button:{className:"btn btn-secondary",active:"active"},collection:{action:{dropHtml:""},container:{tag:"div",className:"dropdown-menu dt-button-collection"},closeButton:!1,button:{tag:"a",className:"dt-button dropdown-item",active:"dt-button-active",disabled:"disabled",spacer:{className:"dropdown-divider",tag:"hr"}}},split:{action:{tag:"a",className:"btn btn-secondary dt-button-split-drop-button",closeButton:!1},dropdown:{tag:"button",dropHtml:"",className:"btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split",closeButton:!1,align:"split-left",splitAlignClass:"dt-button-split-left"},wrapper:{tag:"div",className:"dt-button-split btn-group",closeButton:!1}}},buttonCreated:function(t,n){return t.buttons?o('
').append(n):n}}),a.ext.buttons.collection.className+=" dropdown-toggle",a.ext.buttons.collection.rightAlignClassName="dropdown-menu-right",a}); -------------------------------------------------------------------------------- /assets/datatables.net-buttons/js/buttons.bulma.js: -------------------------------------------------------------------------------- 1 | /*! Bulma 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-bm', '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-bm')(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'; 52 | var DataTable = $.fn.dataTable; 53 | 54 | 55 | 56 | $.extend(true, DataTable.Buttons.defaults, { 57 | dom: { 58 | container: { 59 | className: 'dt-buttons field is-grouped' 60 | }, 61 | button: { 62 | className: 'button is-light', 63 | active: 'is-active', 64 | disabled: 'is-disabled' 65 | }, 66 | collection: { 67 | action: { 68 | tag: 'div', 69 | className: 'dropdown-content', 70 | dropHtml: '' 71 | }, 72 | button: { 73 | tag: 'a', 74 | className: 'dt-button dropdown-item', 75 | active: 'dt-button-active', 76 | disabled: 'is-disabled', 77 | spacer: { 78 | className: 'dropdown-divider', 79 | tag: 'hr' 80 | } 81 | }, 82 | closeButton: false, 83 | container: { 84 | className: 'dt-button-collection dropdown-menu', 85 | content: { 86 | className: 'dropdown-content' 87 | } 88 | } 89 | }, 90 | split: { 91 | action: { 92 | tag: 'button', 93 | className: 'dt-button-split-drop-button button is-light', 94 | closeButton: false 95 | }, 96 | dropdown: { 97 | tag: 'button', 98 | dropHtml: '', 99 | className: 'button is-light', 100 | closeButton: false, 101 | align: 'split-left', 102 | splitAlignClass: 'dt-button-split-left' 103 | }, 104 | wrapper: { 105 | tag: 'div', 106 | className: 'dt-button-split dropdown-trigger buttons has-addons', 107 | closeButton: false 108 | } 109 | } 110 | }, 111 | buttonCreated: function (config, button) { 112 | // For collections 113 | if (config.buttons) { 114 | // Wrap the dropdown content in a menu element 115 | config._collection = $('