MRBS 1.12.2 等保2.0二级整改完整提交

包含:登录失败锁定、90天密码有效期、30分钟会话超时、
强制改密、登录审计日志、屏幕水印、企业背景图、
备案信息固定底部、favicon、JS空集合保护、
会话过期体验优化(403 JSON)、display_errors 关闭、
固定 key 根治 Integrity check failed 等全部改动

注意:config.inc.php/.htaccess/.user.ini 含敏感信息,
通过 .gitignore 排除,勿推送到公开仓库。
This commit is contained in:
人事系统开发
2026-09-09 16:55:02 +08:00
commit 1ba6efd8ed
2151 changed files with 528780 additions and 0 deletions
@@ -0,0 +1,118 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-bs', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-bs')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.Buttons.defaults, {
dom: {
container: {
className: 'dt-buttons btn-group flex-wrap'
},
button: {
className: 'btn btn-secondary',
active: 'active'
},
collection: {
action: {
dropHtml: '<span class="caret"></span>'
},
container: {
tag: 'div',
className: 'dt-button-collection',
content: {
tag: 'ul',
className: 'dropdown-menu'
}
},
closeButton: false,
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: false
},
dropdown: {
tag: 'button',
dropHtml: '<span class="caret"></span>',
className:
'btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split',
closeButton: false,
align: 'split-left',
splitAlignClass: 'dt-button-split-left'
},
wrapper: {
tag: 'div',
className: 'dt-button-split btn-group',
closeButton: false
}
}
}
});
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!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:'<span class="caret"></span>'},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:'<span class="caret"></span>',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});
@@ -0,0 +1,117 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-bs4', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-bs4')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.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: false,
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: false
},
dropdown: {
tag: 'button',
dropHtml: '',
className:
'btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split',
closeButton: false,
align: 'split-left',
splitAlignClass: 'dt-button-split-left'
},
wrapper: {
tag: 'div',
className: 'dt-button-split btn-group',
closeButton: false
}
}
},
buttonCreated: function (config, button) {
return config.buttons ? $('<div class="btn-group"/>').append(button) : button;
}
});
DataTable.ext.buttons.collection.className += ' dropdown-toggle';
DataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right';
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!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('<div class="btn-group"/>').append(n):n}}),a.ext.buttons.collection.className+=" dropdown-toggle",a.ext.buttons.collection.rightAlignClassName="dropdown-menu-right",a});
@@ -0,0 +1,117 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-bs5', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-bs5')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.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: false,
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: false
},
dropdown: {
tag: 'button',
dropHtml: '',
className:
'btn btn-secondary dt-button-split-drop dropdown-toggle dropdown-toggle-split',
closeButton: false,
align: 'split-left',
splitAlignClass: 'dt-button-split-left'
},
wrapper: {
tag: 'div',
className: 'dt-button-split btn-group',
closeButton: false
}
}
},
buttonCreated: function (config, button) {
return config.buttons ? $('<div class="btn-group"/>').append(button) : button;
}
});
DataTable.ext.buttons.collection.className += ' dropdown-toggle';
DataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right';
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!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('<div class="btn-group"/>').append(n):n}}),a.ext.buttons.collection.className+=" dropdown-toggle",a.ext.buttons.collection.rightAlignClassName="dropdown-menu-right",a});
@@ -0,0 +1,131 @@
/*! Bulma integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-bm', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-bm')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.Buttons.defaults, {
dom: {
container: {
className: 'dt-buttons field is-grouped'
},
button: {
className: 'button is-light',
active: 'is-active',
disabled: 'is-disabled'
},
collection: {
action: {
tag: 'div',
className: 'dropdown-content',
dropHtml: ''
},
button: {
tag: 'a',
className: 'dt-button dropdown-item',
active: 'dt-button-active',
disabled: 'is-disabled',
spacer: {
className: 'dropdown-divider',
tag: 'hr'
}
},
closeButton: false,
container: {
className: 'dt-button-collection dropdown-menu',
content: {
className: 'dropdown-content'
}
}
},
split: {
action: {
tag: 'button',
className: 'dt-button-split-drop-button button is-light',
closeButton: false
},
dropdown: {
tag: 'button',
dropHtml: '<i class="fa fa-angle-down" aria-hidden="true"></i>',
className: 'button is-light',
closeButton: false,
align: 'split-left',
splitAlignClass: 'dt-button-split-left'
},
wrapper: {
tag: 'div',
className: 'dt-button-split dropdown-trigger buttons has-addons',
closeButton: false
}
}
},
buttonCreated: function (config, button) {
// For collections
if (config.buttons) {
// Wrap the dropdown content in a menu element
config._collection = $('<div class="dropdown-menu"/>').append(config._collection);
// And add the collection dropdown icon
$(button).append(
'<span class="icon is-small">' +
'<i class="fa fa-angle-down" aria-hidden="true"></i>' +
'</span>'
);
}
return button;
}
});
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! Bulma integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!function(e){var o,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bm","datatables.net-buttons"],function(t){return e(t,window,document)}):"object"==typeof exports?(o=require("jquery"),a=function(t,n){n.fn.dataTable||require("datatables.net-bm")(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||o(t),a(t,n),e(n,0,t.document)}:(a(window,o),module.exports=e(o,window,window.document))):e(jQuery,window,document)}(function(e,t,n,o){"use strict";var a=e.fn.dataTable;return e.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons field is-grouped"},button:{className:"button is-light",active:"is-active",disabled:"is-disabled"},collection:{action:{tag:"div",className:"dropdown-content",dropHtml:""},button:{tag:"a",className:"dt-button dropdown-item",active:"dt-button-active",disabled:"is-disabled",spacer:{className:"dropdown-divider",tag:"hr"}},closeButton:!1,container:{className:"dt-button-collection dropdown-menu",content:{className:"dropdown-content"}}},split:{action:{tag:"button",className:"dt-button-split-drop-button button is-light",closeButton:!1},dropdown:{tag:"button",dropHtml:'<i class="fa fa-angle-down" aria-hidden="true"></i>',className:"button is-light",closeButton:!1,align:"split-left",splitAlignClass:"dt-button-split-left"},wrapper:{tag:"div",className:"dt-button-split dropdown-trigger buttons has-addons",closeButton:!1}}},buttonCreated:function(t,n){return t.buttons&&(t._collection=e('<div class="dropdown-menu"/>').append(t._collection),e(n).append('<span class="icon is-small"><i class="fa fa-angle-down" aria-hidden="true"></i></span>')),n}}),a});
@@ -0,0 +1,260 @@
/*!
* Column visibility buttons for Buttons and DataTables.
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(DataTable.ext.buttons, {
// A collection of column visibility buttons
colvis: function (dt, conf) {
var node = null;
var buttonConf = {
extend: 'collection',
init: function (dt, n) {
node = n;
},
text: function (dt) {
return dt.i18n('buttons.colvis', 'Column visibility');
},
className: 'buttons-colvis',
closeButton: false,
buttons: [
{
extend: 'columnsToggle',
columns: conf.columns,
columnText: conf.columnText
}
]
};
// Rebuild the collection with the new column structure if columns are reordered
dt.on('column-reorder.dt' + conf.namespace, function (e, settings, details) {
dt.button(null, dt.button(null, node).node()).collectionRebuild([
{
extend: 'columnsToggle',
columns: conf.columns,
columnText: conf.columnText
}
]);
});
return buttonConf;
},
// Selected columns with individual buttons - toggle column visibility
columnsToggle: function (dt, conf) {
var columns = dt
.columns(conf.columns)
.indexes()
.map(function (idx) {
return {
extend: 'columnToggle',
columns: idx,
columnText: conf.columnText
};
})
.toArray();
return columns;
},
// Single button to toggle column visibility
columnToggle: function (dt, conf) {
return {
extend: 'columnVisibility',
columns: conf.columns,
columnText: conf.columnText
};
},
// Selected columns with individual buttons - set column visibility
columnsVisibility: function (dt, conf) {
var columns = dt
.columns(conf.columns)
.indexes()
.map(function (idx) {
return {
extend: 'columnVisibility',
columns: idx,
visibility: conf.visibility,
columnText: conf.columnText
};
})
.toArray();
return columns;
},
// Single button to set column visibility
columnVisibility: {
columns: undefined, // column selector
text: function (dt, button, conf) {
return conf._columnText(dt, conf);
},
className: 'buttons-columnVisibility',
action: function (e, dt, button, conf) {
var col = dt.columns(conf.columns);
var curr = col.visible();
col.visible(
conf.visibility !== undefined ? conf.visibility : !(curr.length ? curr[0] : false)
);
},
init: function (dt, button, conf) {
var that = this;
button.attr('data-cv-idx', conf.columns);
dt.on('column-visibility.dt' + conf.namespace, function (e, settings) {
if (!settings.bDestroying && settings.nTable == dt.settings()[0].nTable) {
that.active(dt.column(conf.columns).visible());
}
}).on('column-reorder.dt' + conf.namespace, function (e, settings, details) {
// Button has been removed from the DOM
if (conf.destroying) {
return;
}
if (dt.columns(conf.columns).count() !== 1) {
return;
}
// This button controls the same column index but the text for the column has
// changed
that.text(conf._columnText(dt, conf));
// Since its a different column, we need to check its visibility
that.active(dt.column(conf.columns).visible());
});
this.active(dt.column(conf.columns).visible());
},
destroy: function (dt, button, conf) {
dt.off('column-visibility.dt' + conf.namespace).off(
'column-reorder.dt' + conf.namespace
);
},
_columnText: function (dt, conf) {
// Use DataTables' internal data structure until this is presented
// is a public API. The other option is to use
// `$( column(col).node() ).text()` but the node might not have been
// populated when Buttons is constructed.
var idx = dt.column(conf.columns).index();
var title = dt.settings()[0].aoColumns[idx].sTitle;
if (!title) {
title = dt.column(idx).header().innerHTML;
}
title = title
.replace(/\n/g, ' ') // remove new lines
.replace(/<br\s*\/?>/gi, ' ') // replace line breaks with spaces
.replace(/<select(.*?)<\/select>/g, '') // remove select tags, including options text
.replace(/<!\-\-.*?\-\->/g, '') // strip HTML comments
.replace(/<.*?>/g, '') // strip HTML
.replace(/^\s+|\s+$/g, ''); // trim
return conf.columnText ? conf.columnText(dt, idx, title) : title;
}
},
colvisRestore: {
className: 'buttons-colvisRestore',
text: function (dt) {
return dt.i18n('buttons.colvisRestore', 'Restore visibility');
},
init: function (dt, button, conf) {
conf._visOriginal = dt
.columns()
.indexes()
.map(function (idx) {
return dt.column(idx).visible();
})
.toArray();
},
action: function (e, dt, button, conf) {
dt.columns().every(function (i) {
// Take into account that ColReorder might have disrupted our
// indexes
var idx =
dt.colReorder && dt.colReorder.transpose
? dt.colReorder.transpose(i, 'toOriginal')
: i;
this.visible(conf._visOriginal[idx]);
});
}
},
colvisGroup: {
className: 'buttons-colvisGroup',
action: function (e, dt, button, conf) {
dt.columns(conf.show).visible(true, false);
dt.columns(conf.hide).visible(false, false);
dt.columns.adjust();
},
show: [],
hide: []
}
});
return DataTable;
}));
@@ -0,0 +1,5 @@
/*!
* Column visibility buttons for Buttons and DataTables.
* © SpryMedia Ltd - datatables.net/license
*/
!function(t){var o,i;"function"==typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(n){return t(n,window,document)}):"object"==typeof exports?(o=require("jquery"),i=function(n,e){e.fn.dataTable||require("datatables.net")(n,e),e.fn.dataTable.Buttons||require("datatables.net-buttons")(n,e)},"undefined"==typeof window?module.exports=function(n,e){return n=n||window,e=e||o(n),i(n,e),t(e,0,n.document)}:(i(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(n,e,t,l){"use strict";var o=n.fn.dataTable;return n.extend(o.ext.buttons,{colvis:function(o,i){var l=null,n={extend:"collection",init:function(n,e){l=e},text:function(n){return n.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",closeButton:!1,buttons:[{extend:"columnsToggle",columns:i.columns,columnText:i.columnText}]};return o.on("column-reorder.dt"+i.namespace,function(n,e,t){o.button(null,o.button(null,l).node()).collectionRebuild([{extend:"columnsToggle",columns:i.columns,columnText:i.columnText}])}),n},columnsToggle:function(n,e){return n.columns(e.columns).indexes().map(function(n){return{extend:"columnToggle",columns:n,columnText:e.columnText}}).toArray()},columnToggle:function(n,e){return{extend:"columnVisibility",columns:e.columns,columnText:e.columnText}},columnsVisibility:function(n,e){return n.columns(e.columns).indexes().map(function(n){return{extend:"columnVisibility",columns:n,visibility:e.visibility,columnText:e.columnText}}).toArray()},columnVisibility:{columns:l,text:function(n,e,t){return t._columnText(n,t)},className:"buttons-columnVisibility",action:function(n,e,t,o){var e=e.columns(o.columns),i=e.visible();e.visible(o.visibility!==l?o.visibility:!(i.length&&i[0]))},init:function(o,n,i){var l=this;n.attr("data-cv-idx",i.columns),o.on("column-visibility.dt"+i.namespace,function(n,e){e.bDestroying||e.nTable!=o.settings()[0].nTable||l.active(o.column(i.columns).visible())}).on("column-reorder.dt"+i.namespace,function(n,e,t){i.destroying||1===o.columns(i.columns).count()&&(l.text(i._columnText(o,i)),l.active(o.column(i.columns).visible()))}),this.active(o.column(i.columns).visible())},destroy:function(n,e,t){n.off("column-visibility.dt"+t.namespace).off("column-reorder.dt"+t.namespace)},_columnText:function(n,e){var t=n.column(e.columns).index(),o=n.settings()[0].aoColumns[t].sTitle;return o=(o=o||n.column(t).header().innerHTML).replace(/\n/g," ").replace(/<br\s*\/?>/gi," ").replace(/<select(.*?)<\/select>/g,"").replace(/<!\-\-.*?\-\->/g,"").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,""),e.columnText?e.columnText(n,t,o):o}},colvisRestore:{className:"buttons-colvisRestore",text:function(n){return n.i18n("buttons.colvisRestore","Restore visibility")},init:function(e,n,t){t._visOriginal=e.columns().indexes().map(function(n){return e.column(n).visible()}).toArray()},action:function(n,e,t,o){e.columns().every(function(n){n=e.colReorder&&e.colReorder.transpose?e.colReorder.transpose(n,"toOriginal"):n;this.visible(o._visOriginal[n])})}},colvisGroup:{className:"buttons-colvisGroup",action:function(n,e,t,o){e.columns(o.show).visible(!0,!1),e.columns(o.hide).visible(!1,!1),e.columns.adjust()},show:[],hide:[]}}),o});
@@ -0,0 +1,58 @@
/*! DataTables styling wrapper for Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-dt', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-dt')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! DataTables styling wrapper for Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!function(n){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-dt","datatables.net-buttons"],function(e){return n(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,t){t.fn.dataTable||require("datatables.net-dt")(e,t),t.fn.dataTable.Buttons||require("datatables.net-buttons")(e,t)},"undefined"==typeof window?module.exports=function(e,t){return e=e||window,t=t||o(e),d(e,t),n(t,0,e.document)}:(d(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(e,t,n,o){"use strict";return e.fn.dataTable});
@@ -0,0 +1,122 @@
/*! Foundation integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-zf', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-zf')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.Buttons.defaults, {
dom: {
container: {
tag: 'div',
className: 'dt-buttons button-group'
},
button: {
tag: 'a',
className: 'dt-button button small',
active: 'secondary active'
},
collection: {
action: {
dropHtml: ''
},
button: {
tag: 'li',
className: '',
active: 'dt-button-active-a',
liner: {
tag: 'a'
}
},
container: {
tag: 'div',
className: 'dt-button-collection',
content: {
tag: 'ul',
className: 'dropdown menu is-dropdown-submenu'
}
}
},
split: {
action: {
tag: 'button',
className: 'button small'
},
dropdown: {
tag: 'button',
className: 'button dropdown arrow-only',
dropHtml: ''
},
wrapper: {
tag: 'div',
className: 'button-group dt-button-split'
}
}
}
});
DataTable.ext.buttons.collection.className = 'dropdown';
$(document).on('buttons-popover.dt', function () {
var notButton = false;
$('.dtsp-panesContainer').each(function () {
if (!$(this).is('button')) {
notButton = true;
}
});
if (notButton) {
$('.dtsp-panesContainer').removeClass('button-group stacked');
}
});
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! Foundation integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!function(o){var e,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net-zf","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-zf")(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(n,t,o,e){"use strict";var a=n.fn.dataTable;return n.extend(!0,a.Buttons.defaults,{dom:{container:{tag:"div",className:"dt-buttons button-group"},button:{tag:"a",className:"dt-button button small",active:"secondary active"},collection:{action:{dropHtml:""},button:{tag:"li",className:"",active:"dt-button-active-a",liner:{tag:"a"}},container:{tag:"div",className:"dt-button-collection",content:{tag:"ul",className:"dropdown menu is-dropdown-submenu"}}},split:{action:{tag:"button",className:"button small"},dropdown:{tag:"button",className:"button dropdown arrow-only",dropHtml:""},wrapper:{tag:"div",className:"button-group dt-button-split"}}}}),a.ext.buttons.collection.className="dropdown",n(o).on("buttons-popover.dt",function(){var t=!1;n(".dtsp-panesContainer").each(function(){n(this).is("button")||(t=!0)}),t&&n(".dtsp-panesContainer").removeClass("button-group stacked")}),a});
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,98 @@
/*! jQuery UI integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-jqui', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-jqui')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.Buttons.defaults, {
dom: {
collection: {
action: {
dropHtml: '<span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s"/>'
},
button: {
active: 'dt-button-active'
}
},
container: {
className: 'dt-buttons ui-buttonset'
},
button: {
className: 'dt-button ui-button ui-corner-all',
disabled: 'ui-state-disabled',
active: 'ui-state-active',
liner: {
tag: '',
className: ''
}
},
split: {
action: {
tag: 'button',
className: 'dt-button-split-drop-button ui-button ui-corner-left'
},
dropdown: {
tag: 'button',
dropHtml: '<span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s"/>',
className: 'dt-button-split-drop ui-button ui-corner-right'
},
wrapper: {
tag: 'div',
className: 'dt-button-split'
}
}
}
});
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! jQuery UI integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!function(e){var o,i;"function"==typeof define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-buttons"],function(t){return e(t,window,document)}):"object"==typeof exports?(o=require("jquery"),i=function(t,n){n.fn.dataTable||require("datatables.net-jqui")(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||o(t),i(t,n),e(n,0,t.document)}:(i(window,o),module.exports=e(o,window,window.document))):e(jQuery,window,document)}(function(t,n,e,o){"use strict";var i=t.fn.dataTable;return t.extend(!0,i.Buttons.defaults,{dom:{collection:{action:{dropHtml:'<span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s"/>'},button:{active:"dt-button-active"}},container:{className:"dt-buttons ui-buttonset"},button:{className:"dt-button ui-button ui-corner-all",disabled:"ui-state-disabled",active:"ui-state-active",liner:{tag:"",className:""}},split:{action:{tag:"button",className:"dt-button-split-drop-button ui-button ui-corner-left"},dropdown:{tag:"button",dropHtml:'<span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s"/>',className:"dt-button-split-drop ui-button ui-corner-right"},wrapper:{tag:"div",className:"dt-button-split"}}}}),i});
@@ -0,0 +1,242 @@
/*!
* Print button for Buttons and DataTables.
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
var _link = document.createElement('a');
/**
* Clone link and style tags, taking into account the need to change the source
* path.
*
* @param {node} el Element to convert
*/
var _styleToAbs = function (el) {
var url;
var clone = $(el).clone()[0];
var linkHost;
if (clone.nodeName.toLowerCase() === 'link') {
clone.href = _relToAbs(clone.href);
}
return clone.outerHTML;
};
/**
* Convert a URL from a relative to an absolute address so it will work
* correctly in the popup window which has no base URL.
*
* @param {string} href URL
*/
var _relToAbs = function (href) {
// Assign to a link on the original page so the browser will do all the
// hard work of figuring out where the file actually is
_link.href = href;
var linkHost = _link.host;
// IE doesn't have a trailing slash on the host
// Chrome has it on the pathname
if (linkHost.indexOf('/') === -1 && _link.pathname.indexOf('/') !== 0) {
linkHost += '/';
}
return _link.protocol + '//' + linkHost + _link.pathname + _link.search;
};
DataTable.ext.buttons.print = {
className: 'buttons-print',
text: function (dt) {
return dt.i18n('buttons.print', 'Print');
},
action: function (e, dt, button, config) {
var data = dt.buttons.exportData(
$.extend({ decodeEntities: false }, config.exportOptions) // XSS protection
);
var exportInfo = dt.buttons.exportInfo(config);
var columnClasses = dt
.columns(config.exportOptions.columns)
.flatten()
.map(function (idx) {
return dt.settings()[0].aoColumns[dt.column(idx).index()].sClass;
})
.toArray();
var addRow = function (d, tag) {
var str = '<tr>';
for (var i = 0, ien = d.length; i < ien; i++) {
// null and undefined aren't useful in the print output
var dataOut = d[i] === null || d[i] === undefined ? '' : d[i];
var classAttr = columnClasses[i] ? 'class="' + columnClasses[i] + '"' : '';
str += '<' + tag + ' ' + classAttr + '>' + dataOut + '</' + tag + '>';
}
return str + '</tr>';
};
// Construct a table for printing
var html = '<table class="' + dt.table().node().className + '">';
if (config.header) {
html += '<thead>' + addRow(data.header, 'th') + '</thead>';
}
html += '<tbody>';
for (var i = 0, ien = data.body.length; i < ien; i++) {
html += addRow(data.body[i], 'td');
}
html += '</tbody>';
if (config.footer && data.footer) {
html += '<tfoot>' + addRow(data.footer, 'th') + '</tfoot>';
}
html += '</table>';
// Open a new window for the printable table
var win = window.open('', '');
if (!win) {
dt.buttons.info(
dt.i18n('buttons.printErrorTitle', 'Unable to open print view'),
dt.i18n(
'buttons.printErrorMsg',
'Please allow popups in your browser for this site to be able to view the print view.'
),
5000
);
return;
}
win.document.close();
// Inject the title and also a copy of the style and link tags from this
// document so the table can retain its base styling. Note that we have
// to use string manipulation as IE won't allow elements to be created
// in the host document and then appended to the new window.
var head = '<title>' + exportInfo.title + '</title>';
$('style, link').each(function () {
head += _styleToAbs(this);
});
try {
win.document.head.innerHTML = head; // Work around for Edge
} catch (e) {
$(win.document.head).html(head); // Old IE
}
// Inject the table and other surrounding information
win.document.body.innerHTML =
'<h1>' +
exportInfo.title +
'</h1>' +
'<div>' +
(exportInfo.messageTop || '') +
'</div>' +
html +
'<div>' +
(exportInfo.messageBottom || '') +
'</div>';
$(win.document.body).addClass('dt-print-view');
$('img', win.document.body).each(function (i, img) {
img.setAttribute('src', _relToAbs(img.getAttribute('src')));
});
if (config.customize) {
config.customize(win, config, dt);
}
// Allow stylesheets time to load
var autoPrint = function () {
if (config.autoPrint) {
win.print(); // blocking - so close will not
win.close(); // execute until this is done
}
};
if (navigator.userAgent.match(/Trident\/\d.\d/)) {
// IE needs to call this without a setTimeout
autoPrint();
}
else {
win.setTimeout(autoPrint, 1000);
}
},
title: '*',
messageTop: '*',
messageBottom: '*',
exportOptions: {},
header: true,
footer: false,
autoPrint: true,
customize: null
};
return DataTable;
}));
@@ -0,0 +1,5 @@
/*!
* Print button for Buttons and DataTables.
* © SpryMedia Ltd - datatables.net/license
*/
!function(n){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(t){return n(t,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(t,e){e.fn.dataTable||require("datatables.net")(t,e),e.fn.dataTable.Buttons||require("datatables.net-buttons")(t,e)},"undefined"==typeof window?module.exports=function(t,e){return t=t||window,e=e||o(t),r(t,e),n(e,t,t.document)}:(r(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(m,b,t,p){"use strict";function h(t){return n.href=t,-1===(t=n.host).indexOf("/")&&0!==n.pathname.indexOf("/")&&(t+="/"),n.protocol+"//"+t+n.pathname+n.search}var e=m.fn.dataTable,n=t.createElement("a");return e.ext.buttons.print={className:"buttons-print",text:function(t){return t.i18n("buttons.print","Print")},action:function(t,e,n,o){function r(t,e){for(var n="<tr>",o=0,r=t.length;o<r;o++){var i=null===t[o]||t[o]===p?"":t[o];n+="<"+e+" "+(s[o]?'class="'+s[o]+'"':"")+">"+i+"</"+e+">"}return n+"</tr>"}var i=e.buttons.exportData(m.extend({decodeEntities:!1},o.exportOptions)),a=e.buttons.exportInfo(o),s=e.columns(o.exportOptions.columns).flatten().map(function(t){return e.settings()[0].aoColumns[e.column(t).index()].sClass}).toArray(),u='<table class="'+e.table().node().className+'">';o.header&&(u+="<thead>"+r(i.header,"th")+"</thead>"),u+="<tbody>";for(var d=0,c=i.body.length;d<c;d++)u+=r(i.body[d],"td");u+="</tbody>",o.footer&&i.footer&&(u+="<tfoot>"+r(i.footer,"th")+"</tfoot>"),u+="</table>";var l=b.open("","");if(l){l.document.close();var f="<title>"+a.title+"</title>";m("style, link").each(function(){f+=function(t){t=m(t).clone()[0];return"link"===t.nodeName.toLowerCase()&&(t.href=h(t.href)),t.outerHTML}(this)});try{l.document.head.innerHTML=f}catch(t){m(l.document.head).html(f)}l.document.body.innerHTML="<h1>"+a.title+"</h1><div>"+(a.messageTop||"")+"</div>"+u+"<div>"+(a.messageBottom||"")+"</div>",m(l.document.body).addClass("dt-print-view"),m("img",l.document.body).each(function(t,e){e.setAttribute("src",h(e.getAttribute("src")))}),o.customize&&o.customize(l,o,e);a=function(){o.autoPrint&&(l.print(),l.close())};navigator.userAgent.match(/Trident\/\d.\d/)?a():l.setTimeout(a,1e3)}else e.buttons.info(e.i18n("buttons.printErrorTitle","Unable to open print view"),e.i18n("buttons.printErrorMsg","Please allow popups in your browser for this site to be able to view the print view."),5e3)},title:"*",messageTop:"*",messageBottom:"*",exportOptions:{},header:!0,footer:!1,autoPrint:!0,customize:null},e});
@@ -0,0 +1,135 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-se', 'datatables.net-buttons'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-se')(root, $);
}
if ( ! $.fn.dataTable.Buttons ) {
require('datatables.net-buttons')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.Buttons.defaults, {
dom: {
container: {
className: 'dt-buttons ui buttons'
},
button: {
tag: 'button',
active: 'active',
className: 'dt-button ui button',
spacerClass: 'dt-button ui button'
},
collection: {
action: {
dropHtml: '<i class="dropdown icon"></i>'
},
container: {
tag: 'div',
className: 'ui dropdown active visible dt-button-collection',
content: {
className: 'menu transition visible'
}
},
closeButton: false,
button: {
tag: 'div',
className: 'item',
active: 'dt-button-active',
spacer: {
className: 'divider',
tag: 'div'
}
},
split: {
action: {
tag: 'div',
className: ''
},
dropdown: {
tag: 'span',
className: 'dt-button-split-drop dropdown icon',
dropHtml: '<i class="dropdown icon"></i>'
},
wrapper: {
tag: 'div',
className: 'dt-button-split'
}
}
},
split: {
action: {
tag: 'button',
className: 'dt-button-split-drop-button ui button'
},
dropdown: {
tag: 'button',
className: 'ui floating button dt-button-split-drop dropdown icon'
},
wrapper: {
tag: 'div',
className: 'dt-button-split buttons'
}
}
}
});
$(document).on('buttons-popover.dt', function () {
var notButton = false;
$('.dtsp-panesContainer').each(function () {
if (!$(this).is('button')) {
notButton = true;
}
});
if (notButton) {
$('.dtsp-panesContainer').removeClass('vertical buttons');
}
});
return DataTable;
}));
@@ -0,0 +1,4 @@
/*! Bootstrap integration for DataTables' Buttons
* © SpryMedia Ltd - datatables.net/license
*/
!function(o){var e,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net-se","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-se")(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(n,t,o,e){"use strict";var a=n.fn.dataTable;return n.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons ui buttons"},button:{tag:"button",active:"active",className:"dt-button ui button",spacerClass:"dt-button ui button"},collection:{action:{dropHtml:'<i class="dropdown icon"></i>'},container:{tag:"div",className:"ui dropdown active visible dt-button-collection",content:{className:"menu transition visible"}},closeButton:!1,button:{tag:"div",className:"item",active:"dt-button-active",spacer:{className:"divider",tag:"div"}},split:{action:{tag:"div",className:""},dropdown:{tag:"span",className:"dt-button-split-drop dropdown icon",dropHtml:'<i class="dropdown icon"></i>'},wrapper:{tag:"div",className:"dt-button-split"}}},split:{action:{tag:"button",className:"dt-button-split-drop-button ui button"},dropdown:{tag:"button",className:"ui floating button dt-button-split-drop dropdown icon"},wrapper:{tag:"div",className:"dt-button-split buttons"}}}}),n(o).on("buttons-popover.dt",function(){var t=!1;n(".dtsp-panesContainer").each(function(){n(this).is("button")||(t=!0)}),t&&n(".dtsp-panesContainer").removeClass("vertical buttons")}),a});
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long