").addClass("dt-rowReorder-float-parent").width(s).append(e).appendTo("body").scrollLeft(n));this.dom.clone=e,this.dom.cloneParent=t,this.s.domCloneOuterHeight=e.outerHeight()},_clonePosition:function(t){var e=this.s.start,o=this._eventToPage(t,"Y")-e.top,t=this._eventToPage(t,"X")-e.left,r=this.c.snapX,o=o+e.offsetTop,r=!0===r?e.offsetLeft:"number"==typeof r?e.offsetLeft+r:t+e.offsetLeft+this.dom.cloneParent.scrollLeft();o<0?o=0:o+this.s.domCloneOuterHeight>this.s.documentOuterHeight&&(o=this.s.documentOuterHeight-this.s.domCloneOuterHeight),this.dom.cloneParent.css({top:o,left:r})},_emitEvent:function(o,r){this.s.dt.iterator("table",function(t,e){v(t.nTable).triggerHandler(o+".dt",r)})},_eventToPage:function(t,e){return(-1!==t.type.indexOf("touch")?t.originalEvent.touches[0]:t)["page"+e]},_mouseDown:function(t,e){var o=this,r=this.s.dt,n=this.s.start,s=e.offset(),s=(n.top=this._eventToPage(t,"Y"),n.left=this._eventToPage(t,"X"),n.offsetTop=s.top,n.offsetLeft=s.left,n.nodes=v.unique(r.rows({page:"current"}).nodes().toArray()),this._cachePositions(),this._clone(e),this._clonePosition(t),(this.dom.target=e).addClass("dt-rowReorder-moving"),v(b).on("mouseup.rowReorder touchend.rowReorder",function(t){o._mouseUp(t)}).on("mousemove.rowReorder touchmove.rowReorder",function(t){o._mouseMove(t)}),v(d).width()===v(b).width()&&v(b.body).addClass("dt-rowReorder-noOverflow"),this.dom.dtScroll);this.s.scroll={windowHeight:v(d).height(),windowWidth:v(d).width(),dtTop:s.length?s.offset().top:null,dtLeft:s.length?s.offset().left:null,dtHeight:s.length?s.outerHeight():null,dtWidth:s.length?s.outerWidth():null}},_mouseMove:function(t){this._clonePosition(t);for(var e=this._eventToPage(t,"Y")-this.s.bodyTop,o=this.s.middles,r=null,n=this.s.dt,s=0,i=o.length;s
this.s.lastInsert?this.dom.target.insertAfter(n[r-1]):this.dom.target.insertBefore(n[r]),this._cachePositions(),this.s.lastInsert=r),this._shiftScroll(t)},_mouseUp:function(t){for(var e,o,r,n=this,s=this.s.dt,i=this.c.dataSrc,d=(this.dom.clone.remove(),this.dom.cloneParent.remove(),this.dom.clone=null,this.dom.cloneParent=null,this.dom.target.removeClass("dt-rowReorder-moving"),v(b).off(".rowReorder"),v(b.body).removeClass("dt-rowReorder-noOverflow"),clearInterval(this.s.scrollInterval),this.s.scrollInterval=null,this.s.start.nodes),l=v.unique(s.rows({page:"current"}).nodes().toArray()),a={},c=[],h=[],u=this.s.getDataFn,f=this.s.setDataFn,w=0,p=d.length;wn.windowHeight+v(d).scrollTop()-65&&(e=5),null!==n.dtTop&&t.pageYn.dtTop+n.dtHeight-65&&(o=5),e||o?(n.windowVert=e,n.dtVert=o,s=!0):this.s.scrollInterval&&(clearInterval(this.s.scrollInterval),this.s.scrollInterval=null),!this.s.scrollInterval&&s&&(this.s.scrollInterval=setInterval(function(){var t;n.windowVert&&(t=v(b).scrollTop(),v(b).scrollTop(t+n.windowVert),t!==v(b).scrollTop())&&(t=parseFloat(r.dom.cloneParent.css("top")),r.dom.cloneParent.css("top",t+n.windowVert)),n.dtVert&&(t=r.dom.dtScroll[0],n.dtVert)&&(t.scrollTop+=n.dtVert)},20))}}),s.defaults={dataSrc:0,editor:null,enable:!0,formOptions:{},selector:"td:first-child",snapX:!1,update:!0,excludedChildren:"a"},v.fn.dataTable.Api);return e.register("rowReorder()",function(){return this}),e.register("rowReorder.enable()",function(e){return e===t&&(e=!0),this.iterator("table",function(t){t.rowreorder&&(t.rowreorder.c.enable=e)})}),e.register("rowReorder.disable()",function(){return this.iterator("table",function(t){t.rowreorder&&(t.rowreorder.c.enable=!1)})}),s.version="1.3.3",v.fn.dataTable.RowReorder=s,v.fn.DataTable.RowReorder=s,v(b).on("init.dt.dtr",function(t,e,o){var r,n;"dt"===t.namespace&&(t=e.oInit.rowReorder,r=i.defaults.rowReorder,t||r)&&(n=v.extend({},t,r),!1!==t)&&new s(e,n)}),i});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap.js
deleted file mode 100644
index 55de9af..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/*! Bootstrap 3 styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bs', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap.min.js
deleted file mode 100644
index 7d4a906..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bootstrap 3 styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-rowreorder"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,n){n.fn.dataTable||require("datatables.net-bs")(e,n),n.fn.dataTable.RowReorder||require("datatables.net-rowreorder")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),r(e,n),t(n,0,e.document)}:(r(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap4.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap4.js
deleted file mode 100644
index d91a3aa..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap4.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Bootstrap 4 styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bs4', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap4.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap4.min.js
deleted file mode 100644
index cfe3f41..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap4.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bootstrap 4 styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-rowreorder"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,n){n.fn.dataTable||require("datatables.net-bs4")(e,n),n.fn.dataTable.RowReorder||require("datatables.net-rowreorder")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),r(e,n),t(n,0,e.document)}:(r(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap5.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap5.js
deleted file mode 100644
index eab37a0..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap5.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Bootstrap 5 styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bs5', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap5.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap5.min.js
deleted file mode 100644
index 27a5e26..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bootstrap5.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bootstrap 5 styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-rowreorder"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,n){n.fn.dataTable||require("datatables.net-bs5")(e,n),n.fn.dataTable.RowReorder||require("datatables.net-rowreorder")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),r(e,n),t(n,0,e.document)}:(r(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bulma.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bulma.js
deleted file mode 100644
index c662b24..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bulma.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Bulma styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bm', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bulma.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bulma.min.js
deleted file mode 100644
index 007ec2e..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.bulma.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bulma styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bm","datatables.net-rowreorder"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,n){n.fn.dataTable||require("datatables.net-bm")(e,n),n.fn.dataTable.RowReorder||require("datatables.net-rowreorder")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),r(e,n),t(n,0,e.document)}:(r(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.dataTables.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.dataTables.js
deleted file mode 100644
index 76a4cc1..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.dataTables.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! DataTables styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-dt', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.dataTables.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.dataTables.min.js
deleted file mode 100644
index 0e0a9f6..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.dataTables.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! DataTables styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(n){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-dt","datatables.net-rowreorder"],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.RowReorder||require("datatables.net-rowreorder")(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});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.foundation.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.foundation.js
deleted file mode 100644
index 75a0cf0..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.foundation.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Foundation styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-zf', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.foundation.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.foundation.min.js
deleted file mode 100644
index f6c3166..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.foundation.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Foundation styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-zf","datatables.net-rowreorder"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,n){n.fn.dataTable||require("datatables.net-zf")(e,n),n.fn.dataTable.RowReorder||require("datatables.net-rowreorder")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),r(e,n),t(n,0,e.document)}:(r(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.jqueryui.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.jqueryui.js
deleted file mode 100644
index ecb5ebb..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.jqueryui.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! jQuery UI styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-jqui', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.jqueryui.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.jqueryui.min.js
deleted file mode 100644
index 1ccebd0..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.jqueryui.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery UI styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-rowreorder"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,n){n.fn.dataTable||require("datatables.net-jqui")(e,n),n.fn.dataTable.RowReorder||require("datatables.net-rowreorder")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),r(e,n),t(n,0,e.document)}:(r(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.semanticui.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.semanticui.js
deleted file mode 100644
index a2a888a..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.semanticui.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Semanic UI styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-se', 'datatables.net-rowreorder'], 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.RowReorder ) {
- require('datatables.net-rowreorder')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.semanticui.min.js b/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.semanticui.min.js
deleted file mode 100644
index dc89ff8..0000000
--- a/src/main/resources/static/assets/DataTables/RowReorder-1.3.3/js/rowReorder.semanticui.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Semanic UI styling wrapper for RowReorder
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-se","datatables.net-rowreorder"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(e,n){n.fn.dataTable||require("datatables.net-se")(e,n),n.fn.dataTable.RowReorder||require("datatables.net-rowreorder")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),r(e,n),t(n,0,e.document)}:(r(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap.css
deleted file mode 100644
index 849a26c..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap.css
+++ /dev/null
@@ -1,37 +0,0 @@
-div.dts {
- display: block !important;
-}
-div.dts tbody th,
-div.dts tbody td {
- white-space: nowrap;
-}
-div.dts div.dts_loading {
- z-index: 1;
-}
-div.dts div.dts_label {
- position: absolute;
- right: 10px;
- background: rgba(0, 0, 0, 0.8);
- color: white;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
- text-align: right;
- border-radius: 3px;
- padding: 0.4em;
- z-index: 2;
- display: none;
-}
-div.dts div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.dts div.dataTables_scrollBody table {
- background-color: white;
- z-index: 2;
-}
-div.dts div.dataTables_paginate,
-div.dts div.dataTables_length {
- display: none;
-}
-
-div.DTS tbody tr {
- background-color: white;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap.min.css
deleted file mode 100644
index 8f7eae8..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dts{display:block !important}div.dts tbody th,div.dts tbody td{white-space:nowrap}div.dts div.dts_loading{z-index:1}div.dts div.dts_label{position:absolute;right:10px;background:rgba(0, 0, 0, 0.8);color:white;box-shadow:3px 3px 10px rgba(0, 0, 0, 0.5);text-align:right;border-radius:3px;padding:.4em;z-index:2;display:none}div.dts div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.dts div.dataTables_scrollBody table{background-color:white;z-index:2}div.dts div.dataTables_paginate,div.dts div.dataTables_length{display:none}div.DTS tbody tr{background-color:white}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap4.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap4.css
deleted file mode 100644
index ff5791a..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap4.css
+++ /dev/null
@@ -1,37 +0,0 @@
-div.dts {
- display: block !important;
-}
-div.dts tbody th,
-div.dts tbody td {
- white-space: nowrap;
-}
-div.dts div.dts_loading {
- z-index: 1;
-}
-div.dts div.dts_label {
- position: absolute;
- right: 10px;
- background: rgba(0, 0, 0, 0.8);
- color: white;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
- text-align: right;
- border-radius: 3px;
- padding: 0.4em;
- z-index: 2;
- display: none;
-}
-div.dts div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.dts div.dataTables_scrollBody table {
- background-color: white;
- z-index: 2;
-}
-div.dts div.dataTables_paginate,
-div.dts div.dataTables_length {
- display: none;
-}
-
-div.DTS div.dataTables_scrollBody table {
- background-color: white;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap4.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap4.min.css
deleted file mode 100644
index a22cb2f..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap4.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dts{display:block !important}div.dts tbody th,div.dts tbody td{white-space:nowrap}div.dts div.dts_loading{z-index:1}div.dts div.dts_label{position:absolute;right:10px;background:rgba(0, 0, 0, 0.8);color:white;box-shadow:3px 3px 10px rgba(0, 0, 0, 0.5);text-align:right;border-radius:3px;padding:.4em;z-index:2;display:none}div.dts div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.dts div.dataTables_scrollBody table{background-color:white;z-index:2}div.dts div.dataTables_paginate,div.dts div.dataTables_length{display:none}div.DTS div.dataTables_scrollBody table{background-color:white}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap5.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap5.css
deleted file mode 100644
index ff5791a..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap5.css
+++ /dev/null
@@ -1,37 +0,0 @@
-div.dts {
- display: block !important;
-}
-div.dts tbody th,
-div.dts tbody td {
- white-space: nowrap;
-}
-div.dts div.dts_loading {
- z-index: 1;
-}
-div.dts div.dts_label {
- position: absolute;
- right: 10px;
- background: rgba(0, 0, 0, 0.8);
- color: white;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
- text-align: right;
- border-radius: 3px;
- padding: 0.4em;
- z-index: 2;
- display: none;
-}
-div.dts div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.dts div.dataTables_scrollBody table {
- background-color: white;
- z-index: 2;
-}
-div.dts div.dataTables_paginate,
-div.dts div.dataTables_length {
- display: none;
-}
-
-div.DTS div.dataTables_scrollBody table {
- background-color: white;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap5.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap5.min.css
deleted file mode 100644
index a22cb2f..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bootstrap5.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dts{display:block !important}div.dts tbody th,div.dts tbody td{white-space:nowrap}div.dts div.dts_loading{z-index:1}div.dts div.dts_label{position:absolute;right:10px;background:rgba(0, 0, 0, 0.8);color:white;box-shadow:3px 3px 10px rgba(0, 0, 0, 0.5);text-align:right;border-radius:3px;padding:.4em;z-index:2;display:none}div.dts div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.dts div.dataTables_scrollBody table{background-color:white;z-index:2}div.dts div.dataTables_paginate,div.dts div.dataTables_length{display:none}div.DTS div.dataTables_scrollBody table{background-color:white}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bulma.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bulma.css
deleted file mode 100644
index ce5959d..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bulma.css
+++ /dev/null
@@ -1,33 +0,0 @@
-div.dts {
- display: block !important;
-}
-div.dts tbody th,
-div.dts tbody td {
- white-space: nowrap;
-}
-div.dts div.dts_loading {
- z-index: 1;
-}
-div.dts div.dts_label {
- position: absolute;
- right: 10px;
- background: rgba(0, 0, 0, 0.8);
- color: white;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
- text-align: right;
- border-radius: 3px;
- padding: 0.4em;
- z-index: 2;
- display: none;
-}
-div.dts div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.dts div.dataTables_scrollBody table {
- background-color: white;
- z-index: 2;
-}
-div.dts div.dataTables_paginate,
-div.dts div.dataTables_length {
- display: none;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bulma.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bulma.min.css
deleted file mode 100644
index 08fb958..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.bulma.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dts{display:block !important}div.dts tbody th,div.dts tbody td{white-space:nowrap}div.dts div.dts_loading{z-index:1}div.dts div.dts_label{position:absolute;right:10px;background:rgba(0, 0, 0, 0.8);color:white;box-shadow:3px 3px 10px rgba(0, 0, 0, 0.5);text-align:right;border-radius:3px;padding:.4em;z-index:2;display:none}div.dts div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.dts div.dataTables_scrollBody table{background-color:white;z-index:2}div.dts div.dataTables_paginate,div.dts div.dataTables_length{display:none}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.dataTables.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.dataTables.css
deleted file mode 100644
index ce5959d..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.dataTables.css
+++ /dev/null
@@ -1,33 +0,0 @@
-div.dts {
- display: block !important;
-}
-div.dts tbody th,
-div.dts tbody td {
- white-space: nowrap;
-}
-div.dts div.dts_loading {
- z-index: 1;
-}
-div.dts div.dts_label {
- position: absolute;
- right: 10px;
- background: rgba(0, 0, 0, 0.8);
- color: white;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
- text-align: right;
- border-radius: 3px;
- padding: 0.4em;
- z-index: 2;
- display: none;
-}
-div.dts div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.dts div.dataTables_scrollBody table {
- background-color: white;
- z-index: 2;
-}
-div.dts div.dataTables_paginate,
-div.dts div.dataTables_length {
- display: none;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.dataTables.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.dataTables.min.css
deleted file mode 100644
index 08fb958..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.dataTables.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dts{display:block !important}div.dts tbody th,div.dts tbody td{white-space:nowrap}div.dts div.dts_loading{z-index:1}div.dts div.dts_label{position:absolute;right:10px;background:rgba(0, 0, 0, 0.8);color:white;box-shadow:3px 3px 10px rgba(0, 0, 0, 0.5);text-align:right;border-radius:3px;padding:.4em;z-index:2;display:none}div.dts div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.dts div.dataTables_scrollBody table{background-color:white;z-index:2}div.dts div.dataTables_paginate,div.dts div.dataTables_length{display:none}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.foundation.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.foundation.css
deleted file mode 100644
index 29d3a46..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.foundation.css
+++ /dev/null
@@ -1,17 +0,0 @@
-div.DTS tbody th,
-div.DTS tbody td {
- white-space: nowrap;
-}
-div.DTS div.DTS_Loading {
- z-index: 1;
-}
-div.DTS div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.DTS div.dataTables_scrollBody table {
- z-index: 2;
-}
-div.DTS div.dataTables_paginate,
-div.DTS div.dataTables_length {
- display: none;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.foundation.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.foundation.min.css
deleted file mode 100644
index 0c83fee..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.foundation.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.DTS tbody th,div.DTS tbody td{white-space:nowrap}div.DTS div.DTS_Loading{z-index:1}div.DTS div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.DTS div.dataTables_scrollBody table{z-index:2}div.DTS div.dataTables_paginate,div.DTS div.dataTables_length{display:none}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.jqueryui.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.jqueryui.css
deleted file mode 100644
index ce5959d..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.jqueryui.css
+++ /dev/null
@@ -1,33 +0,0 @@
-div.dts {
- display: block !important;
-}
-div.dts tbody th,
-div.dts tbody td {
- white-space: nowrap;
-}
-div.dts div.dts_loading {
- z-index: 1;
-}
-div.dts div.dts_label {
- position: absolute;
- right: 10px;
- background: rgba(0, 0, 0, 0.8);
- color: white;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
- text-align: right;
- border-radius: 3px;
- padding: 0.4em;
- z-index: 2;
- display: none;
-}
-div.dts div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.dts div.dataTables_scrollBody table {
- background-color: white;
- z-index: 2;
-}
-div.dts div.dataTables_paginate,
-div.dts div.dataTables_length {
- display: none;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.jqueryui.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.jqueryui.min.css
deleted file mode 100644
index 08fb958..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.jqueryui.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dts{display:block !important}div.dts tbody th,div.dts tbody td{white-space:nowrap}div.dts div.dts_loading{z-index:1}div.dts div.dts_label{position:absolute;right:10px;background:rgba(0, 0, 0, 0.8);color:white;box-shadow:3px 3px 10px rgba(0, 0, 0, 0.5);text-align:right;border-radius:3px;padding:.4em;z-index:2;display:none}div.dts div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.dts div.dataTables_scrollBody table{background-color:white;z-index:2}div.dts div.dataTables_paginate,div.dts div.dataTables_length{display:none}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.semanticui.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.semanticui.css
deleted file mode 100644
index ce5959d..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.semanticui.css
+++ /dev/null
@@ -1,33 +0,0 @@
-div.dts {
- display: block !important;
-}
-div.dts tbody th,
-div.dts tbody td {
- white-space: nowrap;
-}
-div.dts div.dts_loading {
- z-index: 1;
-}
-div.dts div.dts_label {
- position: absolute;
- right: 10px;
- background: rgba(0, 0, 0, 0.8);
- color: white;
- box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
- text-align: right;
- border-radius: 3px;
- padding: 0.4em;
- z-index: 2;
- display: none;
-}
-div.dts div.dataTables_scrollBody {
- background: repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px);
-}
-div.dts div.dataTables_scrollBody table {
- background-color: white;
- z-index: 2;
-}
-div.dts div.dataTables_paginate,
-div.dts div.dataTables_length {
- display: none;
-}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.semanticui.min.css b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.semanticui.min.css
deleted file mode 100644
index 08fb958..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/css/scroller.semanticui.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dts{display:block !important}div.dts tbody th,div.dts tbody td{white-space:nowrap}div.dts div.dts_loading{z-index:1}div.dts div.dts_label{position:absolute;right:10px;background:rgba(0, 0, 0, 0.8);color:white;box-shadow:3px 3px 10px rgba(0, 0, 0, 0.5);text-align:right;border-radius:3px;padding:.4em;z-index:2;display:none}div.dts div.dataTables_scrollBody{background:repeating-linear-gradient(45deg, #edeeff, #edeeff 10px, white 10px, white 20px)}div.dts div.dataTables_scrollBody table{background-color:white;z-index:2}div.dts div.dataTables_paginate,div.dts div.dataTables_length{display:none}
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/dataTables.scroller.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/dataTables.scroller.js
deleted file mode 100644
index de27e27..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/dataTables.scroller.js
+++ /dev/null
@@ -1,1353 +0,0 @@
-/*! Scroller 2.1.1
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net'], 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 (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;
-
-
-
-/**
- * @summary Scroller
- * @description Virtual rendering for DataTables
- * @version 2.1.1
- * @author SpryMedia Ltd (www.sprymedia.co.uk)
- * @contact www.sprymedia.co.uk/contact
- * @copyright SpryMedia Ltd.
- *
- * This source file is free software, available under the following license:
- * MIT license - http://datatables.net/license/mit
- *
- * This source file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
- *
- * For details please refer to: http://www.datatables.net
- */
-
-
-/**
- * Scroller is a virtual rendering plug-in for DataTables which allows large
- * datasets to be drawn on screen every quickly. What the virtual rendering means
- * is that only the visible portion of the table (and a bit to either side to make
- * the scrolling smooth) is drawn, while the scrolling container gives the
- * visual impression that the whole table is visible. This is done by making use
- * of the pagination abilities of DataTables and moving the table around in the
- * scrolling container DataTables adds to the page. The scrolling container is
- * forced to the height it would be for the full table display using an extra
- * element.
- *
- * Note that rows in the table MUST all be the same height. Information in a cell
- * which expands on to multiple lines will cause some odd behaviour in the scrolling.
- *
- * Scroller is initialised by simply including the letter 'S' in the sDom for the
- * table you want to have this feature enabled on. Note that the 'S' must come
- * AFTER the 't' parameter in `dom`.
- *
- * Key features include:
- *
- * - Speed! The aim of Scroller for DataTables is to make rendering large data sets fast
- * - Full compatibility with deferred rendering in DataTables for maximum speed
- * - Display millions of rows
- * - Integration with state saving in DataTables (scrolling position is saved)
- * - Easy to use
- *
- *
- * @class
- * @constructor
- * @global
- * @param {object} dt DataTables settings object or API instance
- * @param {object} [opts={}] Configuration object for Scroller. Options
- * are defined by {@link Scroller.defaults}
- *
- * @requires jQuery 1.7+
- * @requires DataTables 1.10.0+
- *
- * @example
- * $(document).ready(function() {
- * $('#example').DataTable( {
- * "scrollY": "200px",
- * "ajax": "media/dataset/large.txt",
- * "scroller": true,
- * "deferRender": true
- * } );
- * } );
- */
-var Scroller = function ( dt, opts ) {
- /* Sanity check - you just know it will happen */
- if ( ! (this instanceof Scroller) ) {
- alert( "Scroller warning: Scroller must be initialised with the 'new' keyword." );
- return;
- }
-
- if ( opts === undefined ) {
- opts = {};
- }
-
- var dtApi = $.fn.dataTable.Api( dt );
-
- /**
- * Settings object which contains customisable information for the Scroller instance
- * @namespace
- * @private
- * @extends Scroller.defaults
- */
- this.s = {
- /**
- * DataTables settings object
- * @type object
- * @default Passed in as first parameter to constructor
- */
- dt: dtApi.settings()[0],
-
- /**
- * DataTables API instance
- * @type DataTable.Api
- */
- dtApi: dtApi,
-
- /**
- * Pixel location of the top of the drawn table in the viewport
- * @type int
- * @default 0
- */
- tableTop: 0,
-
- /**
- * Pixel location of the bottom of the drawn table in the viewport
- * @type int
- * @default 0
- */
- tableBottom: 0,
-
- /**
- * Pixel location of the boundary for when the next data set should be loaded and drawn
- * when scrolling up the way.
- * @type int
- * @default 0
- * @private
- */
- redrawTop: 0,
-
- /**
- * Pixel location of the boundary for when the next data set should be loaded and drawn
- * when scrolling down the way. Note that this is actually calculated as the offset from
- * the top.
- * @type int
- * @default 0
- * @private
- */
- redrawBottom: 0,
-
- /**
- * Auto row height or not indicator
- * @type bool
- * @default 0
- */
- autoHeight: true,
-
- /**
- * Number of rows calculated as visible in the visible viewport
- * @type int
- * @default 0
- */
- viewportRows: 0,
-
- /**
- * setTimeout reference for state saving, used when state saving is enabled in the DataTable
- * and when the user scrolls the viewport in order to stop the cookie set taking too much
- * CPU!
- * @type int
- * @default 0
- */
- stateTO: null,
-
- stateSaveThrottle: function () {},
-
- /**
- * setTimeout reference for the redraw, used when server-side processing is enabled in the
- * DataTables in order to prevent DoSing the server
- * @type int
- * @default null
- */
- drawTO: null,
-
- heights: {
- jump: null,
- page: null,
- virtual: null,
- scroll: null,
-
- /**
- * Height of rows in the table
- * @type int
- * @default 0
- */
- row: null,
-
- /**
- * Pixel height of the viewport
- * @type int
- * @default 0
- */
- viewport: null,
- labelHeight: 0,
- xbar: 0
- },
-
- topRowFloat: 0,
- scrollDrawDiff: null,
- loaderVisible: false,
- forceReposition: false,
- baseRowTop: 0,
- baseScrollTop: 0,
- mousedown: false,
- lastScrollTop: 0
- };
-
- // @todo The defaults should extend a `c` property and the internal settings
- // only held in the `s` property. At the moment they are mixed
- this.s = $.extend( this.s, Scroller.oDefaults, opts );
-
- // Workaround for row height being read from height object (see above comment)
- this.s.heights.row = this.s.rowHeight;
-
- /**
- * DOM elements used by the class instance
- * @private
- * @namespace
- *
- */
- this.dom = {
- "force": document.createElement('div'),
- "label": $('0
'),
- "scroller": null,
- "table": null,
- "loader": null
- };
-
- // Attach the instance to the DataTables instance so it can be accessed in
- // future. Don't initialise Scroller twice on the same table
- if ( this.s.dt.oScroller ) {
- return;
- }
-
- this.s.dt.oScroller = this;
-
- /* Let's do it */
- this.construct();
-};
-
-
-
-$.extend( Scroller.prototype, {
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Public methods - to be exposed via the DataTables API
- */
-
- /**
- * Calculate and store information about how many rows are to be displayed
- * in the scrolling viewport, based on current dimensions in the browser's
- * rendering. This can be particularly useful if the table is initially
- * drawn in a hidden element - for example in a tab.
- * @param {bool} [redraw=true] Redraw the table automatically after the recalculation, with
- * the new dimensions forming the basis for the draw.
- * @returns {void}
- */
- measure: function ( redraw )
- {
- if ( this.s.autoHeight )
- {
- this._calcRowHeight();
- }
-
- var heights = this.s.heights;
-
- if ( heights.row ) {
- heights.viewport = this._parseHeight($(this.dom.scroller).css('max-height'));
-
- this.s.viewportRows = parseInt( heights.viewport / heights.row, 10 )+1;
- this.s.dt._iDisplayLength = this.s.viewportRows * this.s.displayBuffer;
- }
-
- var label = this.dom.label.outerHeight();
-
- heights.xbar = this.dom.scroller.offsetHeight - this.dom.scroller.clientHeight;
- heights.labelHeight = label;
-
- if ( redraw === undefined || redraw )
- {
- this.s.dt.oInstance.fnDraw( false );
- }
- },
-
- /**
- * Get information about current displayed record range. This corresponds to
- * the information usually displayed in the "Info" block of the table.
- *
- * @returns {object} info as an object:
- * {
- * start: {int}, // the 0-indexed record at the top of the viewport
- * end: {int}, // the 0-indexed record at the bottom of the viewport
- * }
- */
- pageInfo: function()
- {
- var
- dt = this.s.dt,
- iScrollTop = this.dom.scroller.scrollTop,
- iTotal = dt.fnRecordsDisplay(),
- iPossibleEnd = Math.ceil(this.pixelsToRow(iScrollTop + this.s.heights.viewport, false, this.s.ani));
-
- return {
- start: Math.floor(this.pixelsToRow(iScrollTop, false, this.s.ani)),
- end: iTotal < iPossibleEnd ? iTotal-1 : iPossibleEnd-1
- };
- },
-
- /**
- * Calculate the row number that will be found at the given pixel position
- * (y-scroll).
- *
- * Please note that when the height of the full table exceeds 1 million
- * pixels, Scroller switches into a non-linear mode for the scrollbar to fit
- * all of the records into a finite area, but this function returns a linear
- * value (relative to the last non-linear positioning).
- * @param {int} pixels Offset from top to calculate the row number of
- * @param {int} [intParse=true] If an integer value should be returned
- * @param {int} [virtual=false] Perform the calculations in the virtual domain
- * @returns {int} Row index
- */
- pixelsToRow: function ( pixels, intParse, virtual )
- {
- var diff = pixels - this.s.baseScrollTop;
- var row = virtual ?
- (this._domain( 'physicalToVirtual', this.s.baseScrollTop ) + diff) / this.s.heights.row :
- ( diff / this.s.heights.row ) + this.s.baseRowTop;
-
- return intParse || intParse === undefined ?
- parseInt( row, 10 ) :
- row;
- },
-
- /**
- * Calculate the pixel position from the top of the scrolling container for
- * a given row
- * @param {int} iRow Row number to calculate the position of
- * @returns {int} Pixels
- */
- rowToPixels: function ( rowIdx, intParse, virtual )
- {
- var pixels;
- var diff = rowIdx - this.s.baseRowTop;
-
- if ( virtual ) {
- pixels = this._domain( 'virtualToPhysical', this.s.baseScrollTop );
- pixels += diff * this.s.heights.row;
- }
- else {
- pixels = this.s.baseScrollTop;
- pixels += diff * this.s.heights.row;
- }
-
- return intParse || intParse === undefined ?
- parseInt( pixels, 10 ) :
- pixels;
- },
-
-
- /**
- * Calculate the row number that will be found at the given pixel position (y-scroll)
- * @param {int} row Row index to scroll to
- * @param {bool} [animate=true] Animate the transition or not
- * @returns {void}
- */
- scrollToRow: function ( row, animate )
- {
- var that = this;
- var ani = false;
- var px = this.rowToPixels( row );
-
- // We need to know if the table will redraw or not before doing the
- // scroll. If it will not redraw, then we need to use the currently
- // displayed table, and scroll with the physical pixels. Otherwise, we
- // need to calculate the table's new position from the virtual
- // transform.
- var preRows = ((this.s.displayBuffer-1)/2) * this.s.viewportRows;
- var drawRow = row - preRows;
- if ( drawRow < 0 ) {
- drawRow = 0;
- }
-
- if ( (px > this.s.redrawBottom || px < this.s.redrawTop) && this.s.dt._iDisplayStart !== drawRow ) {
- ani = true;
- px = this._domain( 'virtualToPhysical', row * this.s.heights.row );
-
- // If we need records outside the current draw region, but the new
- // scrolling position is inside that (due to the non-linear nature
- // for larger numbers of records), we need to force position update.
- if ( this.s.redrawTop < px && px < this.s.redrawBottom ) {
- this.s.forceReposition = true;
- animate = false;
- }
- }
-
- if ( animate === undefined || animate )
- {
- this.s.ani = ani;
- $(this.dom.scroller).animate( {
- "scrollTop": px
- }, function () {
- // This needs to happen after the animation has completed and
- // the final scroll event fired
- setTimeout( function () {
- that.s.ani = false;
- }, 250 );
- } );
- }
- else
- {
- $(this.dom.scroller).scrollTop( px );
- }
- },
-
-
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Constructor
- */
-
- /**
- * Initialisation for Scroller
- * @returns {void}
- * @private
- */
- construct: function ()
- {
- var that = this;
- var dt = this.s.dtApi;
-
- /* Sanity check */
- if ( !this.s.dt.oFeatures.bPaginate ) {
- this.s.dt.oApi._fnLog( this.s.dt, 0, 'Pagination must be enabled for Scroller' );
- return;
- }
-
- /* Insert a div element that we can use to force the DT scrolling container to
- * the height that would be required if the whole table was being displayed
- */
- this.dom.force.style.position = "relative";
- this.dom.force.style.top = "0px";
- this.dom.force.style.left = "0px";
- this.dom.force.style.width = "1px";
-
- this.dom.scroller = $('div.'+this.s.dt.oClasses.sScrollBody, this.s.dt.nTableWrapper)[0];
- this.dom.scroller.appendChild( this.dom.force );
- this.dom.scroller.style.position = "relative";
-
- this.dom.table = $('>table', this.dom.scroller)[0];
- this.dom.table.style.position = "absolute";
- this.dom.table.style.top = "0px";
- this.dom.table.style.left = "0px";
-
- // Add class to 'announce' that we are a Scroller table
- $(dt.table().container()).addClass('dts DTS');
-
- // Add a 'loading' indicator
- if ( this.s.loadingIndicator )
- {
- this.dom.loader = $(''+this.s.dt.oLanguage.sLoadingRecords+'
')
- .css('display', 'none');
-
- $(this.dom.scroller.parentNode)
- .css('position', 'relative')
- .append( this.dom.loader );
- }
-
- this.dom.label.appendTo(this.dom.scroller);
-
- /* Initial size calculations */
- if ( this.s.heights.row && this.s.heights.row != 'auto' )
- {
- this.s.autoHeight = false;
- }
-
- // Scrolling callback to see if a page change is needed
- this.s.ingnoreScroll = true;
- $(this.dom.scroller).on( 'scroll.dt-scroller', function (e) {
- that._scroll.call( that );
- } );
-
- // In iOS we catch the touchstart event in case the user tries to scroll
- // while the display is already scrolling
- $(this.dom.scroller).on('touchstart.dt-scroller', function () {
- that._scroll.call( that );
- } );
-
- $(this.dom.scroller)
- .on('mousedown.dt-scroller', function () {
- that.s.mousedown = true;
- })
- .on('mouseup.dt-scroller', function () {
- that.s.labelVisible = false;
- that.s.mousedown = false;
- that.dom.label.css('display', 'none');
- });
-
- // On resize, update the information element, since the number of rows shown might change
- $(window).on( 'resize.dt-scroller', function () {
- that.measure( false );
- that._info();
- } );
-
- // Add a state saving parameter to the DT state saving so we can restore the exact
- // position of the scrolling.
- var initialStateSave = true;
- var loadedState = dt.state.loaded();
-
- dt.on( 'stateSaveParams.scroller', function ( e, settings, data ) {
- if ( initialStateSave && loadedState ) {
- data.scroller = loadedState.scroller;
- initialStateSave = false;
-
- if (data.scroller) {
- that.s.lastScrollTop = data.scroller.scrollTop;
- }
- }
- else {
- // Need to used the saved position on init
- data.scroller = {
- topRow: that.s.topRowFloat,
- baseScrollTop: that.s.baseScrollTop,
- baseRowTop: that.s.baseRowTop,
- scrollTop: that.s.lastScrollTop
- };
- }
- } );
-
- dt.on( 'stateLoadParams.scroller', function( e, settings, data ) {
- if (data.scroller !== undefined) {
- that.scrollToRow(data.scroller.topRow);
- }
- });
-
- if ( loadedState && loadedState.scroller ) {
- this.s.topRowFloat = loadedState.scroller.topRow;
- this.s.baseScrollTop = loadedState.scroller.baseScrollTop;
- this.s.baseRowTop = loadedState.scroller.baseRowTop;
- }
-
- this.measure( false );
-
- that.s.stateSaveThrottle = that.s.dt.oApi._fnThrottle( function () {
- that.s.dtApi.state.save();
- }, 500 );
-
- dt.on( 'init.scroller', function () {
- that.measure( false );
-
- // Setting to `jump` will instruct _draw to calculate the scroll top
- // position
- that.s.scrollType = 'jump';
- that._draw();
-
- // Update the scroller when the DataTable is redrawn
- dt.on( 'draw.scroller', function () {
- that._draw();
- });
- } );
-
- // Set height before the draw happens, allowing everything else to update
- // on draw complete without worry for roder.
- dt.on( 'preDraw.dt.scroller', function () {
- that._scrollForce();
- } );
-
- // Destructor
- dt.on( 'destroy.scroller', function () {
- $(window).off( 'resize.dt-scroller' );
- $(that.dom.scroller).off('.dt-scroller');
- $(that.s.dt.nTable).off( '.scroller' );
-
- $(that.s.dt.nTableWrapper).removeClass('DTS');
- $('div.DTS_Loading', that.dom.scroller.parentNode).remove();
-
- that.dom.table.style.position = "";
- that.dom.table.style.top = "";
- that.dom.table.style.left = "";
- } );
- },
-
-
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Private methods
- */
-
- /**
- * Automatic calculation of table row height. This is just a little tricky here as using
- * initialisation DataTables has tale the table out of the document, so we need to create
- * a new table and insert it into the document, calculate the row height and then whip the
- * table out.
- * @returns {void}
- * @private
- */
- _calcRowHeight: function ()
- {
- var dt = this.s.dt;
- var origTable = dt.nTable;
- var nTable = origTable.cloneNode( false );
- var tbody = $('').appendTo( nTable );
- var container = $(
- ''
- );
-
- // Want 3 rows in the sizing table so :first-child and :last-child
- // CSS styles don't come into play - take the size of the middle row
- $('tbody tr:lt(4)', origTable).clone().appendTo( tbody );
- var rowsCount = $('tr', tbody).length;
-
- if ( rowsCount === 1 ) {
- tbody.prepend(' |
');
- tbody.append(' |
');
- }
- else {
- for (; rowsCount < 3; rowsCount++) {
- tbody.append(' |
');
- }
- }
-
- $('div.'+dt.oClasses.sScrollBody, container).append( nTable );
-
- // If initialised using `dom`, use the holding element as the insert point
- var insertEl = this.s.dt.nHolding || origTable.parentNode;
-
- if ( ! $(insertEl).is(':visible') ) {
- insertEl = 'body';
- }
-
- // Remove form element links as they might select over others (particularly radio and checkboxes)
- container.find("input").removeAttr("name");
-
- container.appendTo( insertEl );
- this.s.heights.row = $('tr', tbody).eq(1).outerHeight();
-
- container.remove();
- },
-
- /**
- * Draw callback function which is fired when the DataTable is redrawn. The main function of
- * this method is to position the drawn table correctly the scrolling container for the rows
- * that is displays as a result of the scrolling position.
- * @returns {void}
- * @private
- */
- _draw: function ()
- {
- var
- that = this,
- heights = this.s.heights,
- iScrollTop = this.dom.scroller.scrollTop,
- iTableHeight = $(this.s.dt.nTable).height(),
- displayStart = this.s.dt._iDisplayStart,
- displayLen = this.s.dt._iDisplayLength,
- displayEnd = this.s.dt.fnRecordsDisplay(),
- viewportEndY = iScrollTop + heights.viewport;
-
- // Disable the scroll event listener while we are updating the DOM
- this.s.skip = true;
-
- // If paging is reset
- if ( (this.s.dt.bSorted || this.s.dt.bFiltered) && displayStart === 0 && !this.s.dt._drawHold ) {
- this.s.topRowFloat = 0;
- }
-
- iScrollTop = this.s.scrollType === 'jump' ?
- this._domain( 'virtualToPhysical', this.s.topRowFloat * heights.row ) :
- iScrollTop;
-
- // Store positional information so positional calculations can be based
- // upon the current table draw position
- this.s.baseScrollTop = iScrollTop;
- this.s.baseRowTop = this.s.topRowFloat;
-
- // Position the table in the virtual scroller
- var tableTop = iScrollTop - ((this.s.topRowFloat - displayStart) * heights.row);
- if ( displayStart === 0 ) {
- tableTop = 0;
- }
- else if ( displayStart + displayLen >= displayEnd ) {
- tableTop = heights.scroll - iTableHeight;
- }
- else {
- var iTableBottomY = tableTop + iTableHeight;
- if (iTableBottomY < viewportEndY) {
- // The last row of the data is above the end of the viewport.
- // This means the background is visible, which is not what the user expects.
- var newTableTop = viewportEndY - iTableHeight;
- var diffPx = newTableTop - tableTop;
- this.s.baseScrollTop += diffPx + 1; // Update start row number in footer.
- tableTop = newTableTop; // Move table so last line of data is at the bottom of the viewport.
- }
- }
-
- this.dom.table.style.top = tableTop+'px';
-
- /* Cache some information for the scroller */
- this.s.tableTop = tableTop;
- this.s.tableBottom = iTableHeight + this.s.tableTop;
-
- // Calculate the boundaries for where a redraw will be triggered by the
- // scroll event listener
- var boundaryPx = (iScrollTop - this.s.tableTop) * this.s.boundaryScale;
- this.s.redrawTop = iScrollTop - boundaryPx;
- this.s.redrawBottom = iScrollTop + boundaryPx > heights.scroll - heights.viewport - heights.row ?
- heights.scroll - heights.viewport - heights.row :
- iScrollTop + boundaryPx;
-
- this.s.skip = false;
-
- if(that.s.ingnoreScroll) {
- // Restore the scrolling position that was saved by DataTable's state
- // saving Note that this is done on the second draw when data is Ajax
- // sourced, and the first draw when DOM soured
- if ( this.s.dt.oFeatures.bStateSave && this.s.dt.oLoadedState !== null &&
- typeof this.s.dt.oLoadedState.scroller != 'undefined' )
- {
- // A quirk of DataTables is that the draw callback will occur on an
- // empty set if Ajax sourced, but not if server-side processing.
- var ajaxSourced = (this.s.dt.sAjaxSource || that.s.dt.ajax) && ! this.s.dt.oFeatures.bServerSide ?
- true :
- false;
-
- if ( ( ajaxSourced && this.s.dt.iDraw >= 2) ||
- (!ajaxSourced && this.s.dt.iDraw >= 1) )
- {
- setTimeout( function () {
- $(that.dom.scroller).scrollTop( that.s.dt.oLoadedState.scroller.scrollTop );
-
- // In order to prevent layout thrashing we need another
- // small delay
- setTimeout( function () {
- that.s.ingnoreScroll = false;
- }, 0 );
- }, 0 );
- }
- }
- else {
- that.s.ingnoreScroll = false;
- }
- }
-
-
- // Because of the order of the DT callbacks, the info update will
- // take precedence over the one we want here. So a 'thread' break is
- // needed. Only add the thread break if bInfo is set
- if ( this.s.dt.oFeatures.bInfo ) {
- setTimeout( function () {
- that._info.call( that );
- }, 0 );
- }
-
- $(this.s.dt.nTable).triggerHandler('position.dts.dt', tableTop);
-
- // Hide the loading indicator
- if ( this.dom.loader && this.s.loaderVisible ) {
- this.dom.loader.css( 'display', 'none' );
- this.s.loaderVisible = false;
- }
- },
-
- /**
- * Convert from one domain to another. The physical domain is the actual
- * pixel count on the screen, while the virtual is if we had browsers which
- * had scrolling containers of infinite height (i.e. the absolute value)
- *
- * @param {string} dir Domain transform direction, `virtualToPhysical` or
- * `physicalToVirtual`
- * @returns {number} Calculated transform
- * @private
- */
- _domain: function ( dir, val )
- {
- var heights = this.s.heights;
- var diff;
- var magic = 10000; // the point at which the non-linear calculations start to happen
-
- // If the virtual and physical height match, then we use a linear
- // transform between the two, allowing the scrollbar to be linear
- if ( heights.virtual === heights.scroll ) {
- return val;
- }
-
- // In the first 10k pixels and the last 10k pixels, we want the scrolling
- // to be linear. After that it can be non-linear. It would be unusual for
- // anyone to mouse wheel through that much.
- if ( val < magic ) {
- return val;
- }
- else if ( dir === 'virtualToPhysical' && val >= heights.virtual - magic ) {
- diff = heights.virtual - val;
- return heights.scroll - diff;
- }
- else if ( dir === 'physicalToVirtual' && val >= heights.scroll - magic ) {
- diff = heights.scroll - val;
- return heights.virtual - diff;
- }
-
- // Otherwise, we want a non-linear scrollbar to take account of the
- // redrawing regions at the start and end of the table, otherwise these
- // can stutter badly - on large tables 30px (for example) scroll might
- // be hundreds of rows, so the table would be redrawing every few px at
- // the start and end. Use a simple linear eq. to stop this, effectively
- // causing a kink in the scrolling ratio. It does mean the scrollbar is
- // non-linear, but with such massive data sets, the scrollbar is going
- // to be a best guess anyway
- var m = (heights.virtual - magic - magic) / (heights.scroll - magic - magic);
- var c = magic - (m*magic);
-
- return dir === 'virtualToPhysical' ?
- (val-c) / m :
- (m*val) + c;
- },
-
- /**
- * Update any information elements that are controlled by the DataTable based on the scrolling
- * viewport and what rows are visible in it. This function basically acts in the same way as
- * _fnUpdateInfo in DataTables, and effectively replaces that function.
- * @returns {void}
- * @private
- */
- _info: function ()
- {
- if ( !this.s.dt.oFeatures.bInfo )
- {
- return;
- }
-
- var
- dt = this.s.dt,
- language = dt.oLanguage,
- iScrollTop = this.dom.scroller.scrollTop,
- iStart = Math.floor( this.pixelsToRow(iScrollTop, false, this.s.ani)+1 ),
- iMax = dt.fnRecordsTotal(),
- iTotal = dt.fnRecordsDisplay(),
- iPossibleEnd = Math.ceil( this.pixelsToRow(iScrollTop+this.s.heights.viewport, false, this.s.ani) ),
- iEnd = iTotal < iPossibleEnd ? iTotal : iPossibleEnd,
- sStart = dt.fnFormatNumber( iStart ),
- sEnd = dt.fnFormatNumber( iEnd ),
- sMax = dt.fnFormatNumber( iMax ),
- sTotal = dt.fnFormatNumber( iTotal ),
- sOut;
-
- if ( dt.fnRecordsDisplay() === 0 &&
- dt.fnRecordsDisplay() == dt.fnRecordsTotal() )
- {
- /* Empty record set */
- sOut = language.sInfoEmpty+ language.sInfoPostFix;
- }
- else if ( dt.fnRecordsDisplay() === 0 )
- {
- /* Empty record set after filtering */
- sOut = language.sInfoEmpty +' '+
- language.sInfoFiltered.replace('_MAX_', sMax)+
- language.sInfoPostFix;
- }
- else if ( dt.fnRecordsDisplay() == dt.fnRecordsTotal() )
- {
- /* Normal record set */
- sOut = language.sInfo.
- replace('_START_', sStart).
- replace('_END_', sEnd).
- replace('_MAX_', sMax).
- replace('_TOTAL_', sTotal)+
- language.sInfoPostFix;
- }
- else
- {
- /* Record set after filtering */
- sOut = language.sInfo.
- replace('_START_', sStart).
- replace('_END_', sEnd).
- replace('_MAX_', sMax).
- replace('_TOTAL_', sTotal) +' '+
- language.sInfoFiltered.replace(
- '_MAX_',
- dt.fnFormatNumber(dt.fnRecordsTotal())
- )+
- language.sInfoPostFix;
- }
-
- var callback = language.fnInfoCallback;
- if ( callback ) {
- sOut = callback.call( dt.oInstance,
- dt, iStart, iEnd, iMax, iTotal, sOut
- );
- }
-
- var n = dt.aanFeatures.i;
- if ( typeof n != 'undefined' )
- {
- for ( var i=0, iLen=n.length ; i heights.viewport ?
- 'jump' :
- 'cont';
-
- this.s.topRowFloat = this.s.scrollType === 'cont' ?
- this.pixelsToRow( iScrollTop, false, false ) :
- this._domain( 'physicalToVirtual', iScrollTop ) / heights.row;
-
- if ( this.s.topRowFloat < 0 ) {
- this.s.topRowFloat = 0;
- }
-
- /* Check if the scroll point is outside the trigger boundary which would required
- * a DataTables redraw
- */
- if ( this.s.forceReposition || iScrollTop < this.s.redrawTop || iScrollTop > this.s.redrawBottom ) {
- var preRows = Math.ceil( ((this.s.displayBuffer-1)/2) * this.s.viewportRows );
-
- iTopRow = parseInt(this.s.topRowFloat, 10) - preRows;
- this.s.forceReposition = false;
-
- if ( iTopRow <= 0 ) {
- /* At the start of the table */
- iTopRow = 0;
- }
- else if ( iTopRow + this.s.dt._iDisplayLength > this.s.dt.fnRecordsDisplay() ) {
- /* At the end of the table */
- iTopRow = this.s.dt.fnRecordsDisplay() - this.s.dt._iDisplayLength;
- if ( iTopRow < 0 ) {
- iTopRow = 0;
- }
- }
- else if ( iTopRow % 2 !== 0 ) {
- // For the row-striping classes (odd/even) we want only to start
- // on evens otherwise the stripes will change between draws and
- // look rubbish
- iTopRow++;
- }
-
- // Store calcuated value, in case the following condition is not met, but so
- // that the draw function will still use it.
- this.s.targetTop = iTopRow;
-
- if ( iTopRow != this.s.dt._iDisplayStart ) {
- /* Cache the new table position for quick lookups */
- this.s.tableTop = $(this.s.dt.nTable).offset().top;
- this.s.tableBottom = $(this.s.dt.nTable).height() + this.s.tableTop;
-
- var draw = function () {
- that.s.dt._iDisplayStart = that.s.targetTop;
- that.s.dt.oApi._fnDraw( that.s.dt );
- };
-
- /* Do the DataTables redraw based on the calculated start point - note that when
- * using server-side processing we introduce a small delay to not DoS the server...
- */
- if ( this.s.dt.oFeatures.bServerSide ) {
- this.s.forceReposition = true;
-
- clearTimeout( this.s.drawTO );
- this.s.drawTO = setTimeout( draw, this.s.serverWait );
- }
- else {
- draw();
- }
-
- if ( this.dom.loader && ! this.s.loaderVisible ) {
- this.dom.loader.css( 'display', 'block' );
- this.s.loaderVisible = true;
- }
- }
- }
- else {
- this.s.topRowFloat = this.pixelsToRow( iScrollTop, false, true );
- }
-
- this.s.lastScrollTop = iScrollTop;
- this.s.stateSaveThrottle();
-
- if ( this.s.scrollType === 'jump' && this.s.mousedown ) {
- this.s.labelVisible = true;
- }
- if (this.s.labelVisible) {
- var labelFactor = (heights.viewport-heights.labelHeight - heights.xbar) / heights.scroll;
-
- this.dom.label
- .html( this.s.dt.fnFormatNumber( parseInt( this.s.topRowFloat, 10 )+1 ) )
- .css( 'top', iScrollTop + (iScrollTop * labelFactor) )
- .css( 'right', 10 - this.dom.scroller.scrollLeft)
- .css( 'display', 'block' );
- }
- },
-
- /**
- * Force the scrolling container to have height beyond that of just the
- * table that has been drawn so the user can scroll the whole data set.
- *
- * Note that if the calculated required scrolling height exceeds a maximum
- * value (1 million pixels - hard-coded) the forcing element will be set
- * only to that maximum value and virtual / physical domain transforms will
- * be used to allow Scroller to display tables of any number of records.
- * @returns {void}
- * @private
- */
- _scrollForce: function ()
- {
- var heights = this.s.heights;
- var max = 1000000;
-
- heights.virtual = heights.row * this.s.dt.fnRecordsDisplay();
- heights.scroll = heights.virtual;
-
- if ( heights.scroll > max ) {
- heights.scroll = max;
- }
-
- // Minimum height so there is always a row visible (the 'no rows found'
- // if reduced to zero filtering)
- this.dom.force.style.height = heights.scroll > this.s.heights.row ?
- heights.scroll+'px' :
- this.s.heights.row+'px';
- }
-} );
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Statics
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-
-/**
- * Scroller default settings for initialisation
- * @namespace
- * @name Scroller.defaults
- * @static
- */
-Scroller.defaults = {
- /**
- * Scroller uses the boundary scaling factor to decide when to redraw the table - which it
- * typically does before you reach the end of the currently loaded data set (in order to
- * allow the data to look continuous to a user scrolling through the data). If given as 0
- * then the table will be redrawn whenever the viewport is scrolled, while 1 would not
- * redraw the table until the currently loaded data has all been shown. You will want
- * something in the middle - the default factor of 0.5 is usually suitable.
- * @type float
- * @default 0.5
- * @static
- */
- boundaryScale: 0.5,
-
- /**
- * The display buffer is what Scroller uses to calculate how many rows it should pre-fetch
- * for scrolling. Scroller automatically adjusts DataTables' display length to pre-fetch
- * rows that will be shown in "near scrolling" (i.e. just beyond the current display area).
- * The value is based upon the number of rows that can be displayed in the viewport (i.e.
- * a value of 1), and will apply the display range to records before before and after the
- * current viewport - i.e. a factor of 3 will allow Scroller to pre-fetch 1 viewport's worth
- * of rows before the current viewport, the current viewport's rows and 1 viewport's worth
- * of rows after the current viewport. Adjusting this value can be useful for ensuring
- * smooth scrolling based on your data set.
- * @type int
- * @default 7
- * @static
- */
- displayBuffer: 9,
-
- /**
- * Show (or not) the loading element in the background of the table. Note that you should
- * include the dataTables.scroller.css file for this to be displayed correctly.
- * @type boolean
- * @default false
- * @static
- */
- loadingIndicator: false,
-
- /**
- * Scroller will attempt to automatically calculate the height of rows for it's internal
- * calculations. However the height that is used can be overridden using this parameter.
- * @type int|string
- * @default auto
- * @static
- */
- rowHeight: "auto",
-
- /**
- * When using server-side processing, Scroller will wait a small amount of time to allow
- * the scrolling to finish before requesting more data from the server. This prevents
- * you from DoSing your own server! The wait time can be configured by this parameter.
- * @type int
- * @default 200
- * @static
- */
- serverWait: 200
-};
-
-Scroller.oDefaults = Scroller.defaults;
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Constants
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/**
- * Scroller version
- * @type String
- * @default See code
- * @name Scroller.version
- * @static
- */
-Scroller.version = "2.1.1";
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Initialisation
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-// Attach a listener to the document which listens for DataTables initialisation
-// events so we can automatically initialise
-$(document).on( 'preInit.dt.dtscroller', function (e, settings) {
- if ( e.namespace !== 'dt' ) {
- return;
- }
-
- var init = settings.oInit.scroller;
- var defaults = DataTable.defaults.scroller;
-
- if ( init || defaults ) {
- var opts = $.extend( {}, init, defaults );
-
- if ( init !== false ) {
- new Scroller( settings, opts );
- }
- }
-} );
-
-
-// Attach Scroller to DataTables so it can be accessed as an 'extra'
-$.fn.dataTable.Scroller = Scroller;
-$.fn.DataTable.Scroller = Scroller;
-
-
-// DataTables 1.10 API method aliases
-var Api = $.fn.dataTable.Api;
-
-Api.register( 'scroller()', function () {
- return this;
-} );
-
-// Undocumented and deprecated - is it actually useful at all?
-Api.register( 'scroller().rowToPixels()', function ( rowIdx, intParse, virtual ) {
- var ctx = this.context;
-
- if ( ctx.length && ctx[0].oScroller ) {
- return ctx[0].oScroller.rowToPixels( rowIdx, intParse, virtual );
- }
- // undefined
-} );
-
-// Undocumented and deprecated - is it actually useful at all?
-Api.register( 'scroller().pixelsToRow()', function ( pixels, intParse, virtual ) {
- var ctx = this.context;
-
- if ( ctx.length && ctx[0].oScroller ) {
- return ctx[0].oScroller.pixelsToRow( pixels, intParse, virtual );
- }
- // undefined
-} );
-
-// `scroller().scrollToRow()` is undocumented and deprecated. Use `scroller.toPosition()
-Api.register( ['scroller().scrollToRow()', 'scroller.toPosition()'], function ( idx, ani ) {
- this.iterator( 'table', function ( ctx ) {
- if ( ctx.oScroller ) {
- ctx.oScroller.scrollToRow( idx, ani );
- }
- } );
-
- return this;
-} );
-
-Api.register( 'row().scrollTo()', function ( ani ) {
- var that = this;
-
- this.iterator( 'row', function ( ctx, rowIdx ) {
- if ( ctx.oScroller ) {
- var displayIdx = that
- .rows( { order: 'applied', search: 'applied' } )
- .indexes()
- .indexOf( rowIdx );
-
- ctx.oScroller.scrollToRow( displayIdx, ani );
- }
- } );
-
- return this;
-} );
-
-Api.register( 'scroller.measure()', function ( redraw ) {
- this.iterator( 'table', function ( ctx ) {
- if ( ctx.oScroller ) {
- ctx.oScroller.measure( redraw );
- }
- } );
-
- return this;
-} );
-
-Api.register( 'scroller.page()', function() {
- var ctx = this.context;
-
- if ( ctx.length && ctx[0].oScroller ) {
- return ctx[0].oScroller.pageInfo();
- }
- // undefined
-} );
-
-
-return DataTable;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/dataTables.scroller.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/dataTables.scroller.min.js
deleted file mode 100644
index 83c88ab..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/dataTables.scroller.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Scroller 2.1.1
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(o){var e,l;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(s){return o(s,window,document)}):"object"==typeof exports?(e=require("jquery"),l=function(s,t){t.fn.dataTable||require("datatables.net")(s,t)},"undefined"!=typeof window?module.exports=function(s,t){return s=s||window,t=t||e(s),l(s,t),o(t,s,s.document)}:(l(window,e),module.exports=o(e,window,window.document))):o(jQuery,window,document)}(function(f,i,o,a){"use strict";function l(s,t){this instanceof l?(t===a&&(t={}),s=f.fn.dataTable.Api(s),this.s={dt:s.settings()[0],dtApi:s,tableTop:0,tableBottom:0,redrawTop:0,redrawBottom:0,autoHeight:!0,viewportRows:0,stateTO:null,stateSaveThrottle:function(){},drawTO:null,heights:{jump:null,page:null,virtual:null,scroll:null,row:null,viewport:null,labelHeight:0,xbar:0},topRowFloat:0,scrollDrawDiff:null,loaderVisible:!1,forceReposition:!1,baseRowTop:0,baseScrollTop:0,mousedown:!1,lastScrollTop:0},this.s=f.extend(this.s,l.oDefaults,t),this.s.heights.row=this.s.rowHeight,this.dom={force:o.createElement("div"),label:f('0
'),scroller:null,table:null,loader:null},this.s.dt.oScroller||(this.s.dt.oScroller=this).construct()):alert("Scroller warning: Scroller must be initialised with the 'new' keyword.")}var r=f.fn.dataTable,s=(f.extend(l.prototype,{measure:function(s){this.s.autoHeight&&this._calcRowHeight();var t=this.s.heights,o=(t.row&&(t.viewport=this._parseHeight(f(this.dom.scroller).css("max-height")),this.s.viewportRows=parseInt(t.viewport/t.row,10)+1,this.s.dt._iDisplayLength=this.s.viewportRows*this.s.displayBuffer),this.dom.label.outerHeight());t.xbar=this.dom.scroller.offsetHeight-this.dom.scroller.clientHeight,t.labelHeight=o,s!==a&&!s||this.s.dt.oInstance.fnDraw(!1)},pageInfo:function(){var s=this.s.dt,t=this.dom.scroller.scrollTop,s=s.fnRecordsDisplay(),o=Math.ceil(this.pixelsToRow(t+this.s.heights.viewport,!1,this.s.ani));return{start:Math.floor(this.pixelsToRow(t,!1,this.s.ani)),end:sthis.s.redrawBottom||ltable",this.dom.scroller)[0],this.dom.table.style.position="absolute",this.dom.table.style.top="0px",this.dom.table.style.left="0px",f(s.table().container()).addClass("dts DTS"),this.s.loadingIndicator&&(this.dom.loader=f(''+this.s.dt.oLanguage.sLoadingRecords+"
").css("display","none"),f(this.dom.scroller.parentNode).css("position","relative").append(this.dom.loader)),this.dom.label.appendTo(this.dom.scroller),this.s.heights.row&&"auto"!=this.s.heights.row&&(this.s.autoHeight=!1),this.s.ingnoreScroll=!0,f(this.dom.scroller).on("scroll.dt-scroller",function(s){r._scroll.call(r)}),f(this.dom.scroller).on("touchstart.dt-scroller",function(){r._scroll.call(r)}),f(this.dom.scroller).on("mousedown.dt-scroller",function(){r.s.mousedown=!0}).on("mouseup.dt-scroller",function(){r.s.labelVisible=!1,r.s.mousedown=!1,r.dom.label.css("display","none")}),f(i).on("resize.dt-scroller",function(){r.measure(!1),r._info()}),e=!0,l=s.state.loaded(),s.on("stateSaveParams.scroller",function(s,t,o){e&&l?(o.scroller=l.scroller,e=!1,o.scroller&&(r.s.lastScrollTop=o.scroller.scrollTop)):o.scroller={topRow:r.s.topRowFloat,baseScrollTop:r.s.baseScrollTop,baseRowTop:r.s.baseRowTop,scrollTop:r.s.lastScrollTop}}),s.on("stateLoadParams.scroller",function(s,t,o){o.scroller!==a&&r.scrollToRow(o.scroller.topRow)}),l&&l.scroller&&(this.s.topRowFloat=l.scroller.topRow,this.s.baseScrollTop=l.scroller.baseScrollTop,this.s.baseRowTop=l.scroller.baseRowTop),this.measure(!1),r.s.stateSaveThrottle=r.s.dt.oApi._fnThrottle(function(){r.s.dtApi.state.save()},500),s.on("init.scroller",function(){r.measure(!1),r.s.scrollType="jump",r._draw(),s.on("draw.scroller",function(){r._draw()})}),s.on("preDraw.dt.scroller",function(){r._scrollForce()}),s.on("destroy.scroller",function(){f(i).off("resize.dt-scroller"),f(r.dom.scroller).off(".dt-scroller"),f(r.s.dt.nTable).off(".scroller"),f(r.s.dt.nTableWrapper).removeClass("DTS"),f("div.DTS_Loading",r.dom.scroller.parentNode).remove(),r.dom.table.style.position="",r.dom.table.style.top="",r.dom.table.style.left=""})):this.s.dt.oApi._fnLog(this.s.dt,0,"Pagination must be enabled for Scroller")},_calcRowHeight:function(){var s=this.s.dt,t=s.nTable,o=t.cloneNode(!1),e=f("").appendTo(o),l=f(''),r=(f("tbody tr:lt(4)",t).clone().appendTo(e),f("tr",e).length);if(1===r)e.prepend(" |
"),e.append(" |
");else for(;r<3;r++)e.append(" |
");f("div."+s.oClasses.sScrollBody,l).append(o);s=this.s.dt.nHolding||t.parentNode;f(s).is(":visible")||(s="body"),l.find("input").removeAttr("name"),l.appendTo(s),this.s.heights.row=f("tr",e).eq(1).outerHeight(),l.remove()},_draw:function(){var s=this,t=this.s.heights,o=this.dom.scroller.scrollTop,e=f(this.s.dt.nTable).height(),l=this.s.dt._iDisplayStart,r=this.s.dt._iDisplayLength,i=this.s.dt.fnRecordsDisplay(),a=o+t.viewport,n=(this.s.skip=!0,!this.s.dt.bSorted&&!this.s.dt.bFiltered||0!==l||this.s.dt._drawHold||(this.s.topRowFloat=0),o="jump"===this.s.scrollType?this._domain("virtualToPhysical",this.s.topRowFloat*t.row):o,this.s.baseScrollTop=o,this.s.baseRowTop=this.s.topRowFloat,o-(this.s.topRowFloat-l)*t.row),l=(0===l?n=0:i<=l+r?n=t.scroll-e:n+et.scroll-t.viewport-t.row?t.scroll-t.viewport-t.row:o+l,this.s.skip=!1,s.s.ingnoreScroll&&(this.s.dt.oFeatures.bStateSave&&null!==this.s.dt.oLoadedState&&void 0!==this.s.dt.oLoadedState.scroller?((r=!(!this.s.dt.sAjaxSource&&!s.s.dt.ajax||this.s.dt.oFeatures.bServerSide))&&2<=this.s.dt.iDraw||!r&&1<=this.s.dt.iDraw)&&setTimeout(function(){f(s.dom.scroller).scrollTop(s.s.dt.oLoadedState.scroller.scrollTop),setTimeout(function(){s.s.ingnoreScroll=!1},0)},0):s.s.ingnoreScroll=!1),this.s.dt.oFeatures.bInfo&&setTimeout(function(){s._info.call(s)},0),f(this.s.dt.nTable).triggerHandler("position.dts.dt",n),this.dom.loader&&this.s.loaderVisible&&(this.dom.loader.css("display","none"),this.s.loaderVisible=!1)},_domain:function(s,t){var o,e=this.s.heights,l=1e4;return e.virtual===e.scroll||t=e.virtual-l?(o=e.virtual-t,e.scroll-o):"physicalToVirtual"===s&&t>=e.scroll-l?(o=e.scroll-t,e.virtual-o):(e=l-(o=(e.virtual-l-l)/(e.scroll-l-l))*l,"virtualToPhysical"===s?(t-e)/o:o*t+e)},_info:function(){if(this.s.dt.oFeatures.bInfo){var s=this.s.dt,t=s.oLanguage,o=this.dom.scroller.scrollTop,e=Math.floor(this.pixelsToRow(o,!1,this.s.ani)+1),l=s.fnRecordsTotal(),r=s.fnRecordsDisplay(),o=Math.ceil(this.pixelsToRow(o+this.s.heights.viewport,!1,this.s.ani)),o=ro.viewport?"jump":"cont",this.s.topRowFloat="cont"===this.s.scrollType?this.pixelsToRow(e,!1,!1):this._domain("physicalToVirtual",e)/o.row,this.s.topRowFloat<0&&(this.s.topRowFloat=0),this.s.forceReposition||ethis.s.redrawBottom?(s=Math.ceil((this.s.displayBuffer-1)/2*this.s.viewportRows),s=parseInt(this.s.topRowFloat,10)-s,this.s.forceReposition=!1,s<=0?s=0:s+this.s.dt._iDisplayLength>this.s.dt.fnRecordsDisplay()?(s=this.s.dt.fnRecordsDisplay()-this.s.dt._iDisplayLength)<0&&(s=0):s%2!=0&&s++,(this.s.targetTop=s)!=this.s.dt._iDisplayStart&&(this.s.tableTop=f(this.s.dt.nTable).offset().top,this.s.tableBottom=f(this.s.dt.nTable).height()+this.s.tableTop,s=function(){t.s.dt._iDisplayStart=t.s.targetTop,t.s.dt.oApi._fnDraw(t.s.dt)},this.s.dt.oFeatures.bServerSide?(this.s.forceReposition=!0,clearTimeout(this.s.drawTO),this.s.drawTO=setTimeout(s,this.s.serverWait)):s(),this.dom.loader)&&!this.s.loaderVisible&&(this.dom.loader.css("display","block"),this.s.loaderVisible=!0)):this.s.topRowFloat=this.pixelsToRow(e,!1,!0),this.s.lastScrollTop=e,this.s.stateSaveThrottle(),"jump"===this.s.scrollType&&this.s.mousedown&&(this.s.labelVisible=!0),this.s.labelVisible&&(s=(o.viewport-o.labelHeight-o.xbar)/o.scroll,this.dom.label.html(this.s.dt.fnFormatNumber(parseInt(this.s.topRowFloat,10)+1)).css("top",e+e*s).css("right",10-this.dom.scroller.scrollLeft).css("display","block"))))},_scrollForce:function(){var s=this.s.heights;s.virtual=s.row*this.s.dt.fnRecordsDisplay(),s.scroll=s.virtual,1e6this.s.heights.row?s.scroll+"px":this.s.heights.row+"px"}}),l.oDefaults=l.defaults={boundaryScale:.5,displayBuffer:9,loadingIndicator:!1,rowHeight:"auto",serverWait:200},l.version="2.1.1",f(o).on("preInit.dt.dtscroller",function(s,t){var o,e;"dt"===s.namespace&&(s=t.oInit.scroller,o=r.defaults.scroller,s||o)&&(e=f.extend({},s,o),!1!==s)&&new l(t,e)}),f.fn.dataTable.Scroller=l,f.fn.DataTable.Scroller=l,f.fn.dataTable.Api);return s.register("scroller()",function(){return this}),s.register("scroller().rowToPixels()",function(s,t,o){var e=this.context;if(e.length&&e[0].oScroller)return e[0].oScroller.rowToPixels(s,t,o)}),s.register("scroller().pixelsToRow()",function(s,t,o){var e=this.context;if(e.length&&e[0].oScroller)return e[0].oScroller.pixelsToRow(s,t,o)}),s.register(["scroller().scrollToRow()","scroller.toPosition()"],function(t,o){return this.iterator("table",function(s){s.oScroller&&s.oScroller.scrollToRow(t,o)}),this}),s.register("row().scrollTo()",function(o){var e=this;return this.iterator("row",function(s,t){s.oScroller&&(t=e.rows({order:"applied",search:"applied"}).indexes().indexOf(t),s.oScroller.scrollToRow(t,o))}),this}),s.register("scroller.measure()",function(t){return this.iterator("table",function(s){s.oScroller&&s.oScroller.measure(t)}),this}),s.register("scroller.page()",function(){var s=this.context;if(s.length&&s[0].oScroller)return s[0].oScroller.pageInfo()}),r});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap.js
deleted file mode 100644
index ff13d34..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Bootstrap 3 styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bs', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap.min.js
deleted file mode 100644
index d8b755a..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bootstrap 3 styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-scroller"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,n){n.fn.dataTable||require("datatables.net-bs")(e,n),n.fn.dataTable.Scroller||require("datatables.net-scroller")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),d(e,n),t(n,0,e.document)}:(d(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap4.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap4.js
deleted file mode 100644
index aec23b1..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap4.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Bootstrap 4 styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bs4', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap4.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap4.min.js
deleted file mode 100644
index 825b6bc..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap4.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bootstrap 4 styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-scroller"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,n){n.fn.dataTable||require("datatables.net-bs4")(e,n),n.fn.dataTable.Scroller||require("datatables.net-scroller")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),d(e,n),t(n,0,e.document)}:(d(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap5.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap5.js
deleted file mode 100644
index 8262a4e..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap5.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Bootstrap 5 styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bs5', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap5.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap5.min.js
deleted file mode 100644
index 94bad51..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bootstrap5.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bootstrap 5 styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-scroller"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,n){n.fn.dataTable||require("datatables.net-bs5")(e,n),n.fn.dataTable.Scroller||require("datatables.net-scroller")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),d(e,n),t(n,0,e.document)}:(d(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bulma.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bulma.js
deleted file mode 100644
index b856f58..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bulma.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Bulma styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-bm', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bulma.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bulma.min.js
deleted file mode 100644
index b242775..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.bulma.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Bulma styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bm","datatables.net-scroller"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,n){n.fn.dataTable||require("datatables.net-bm")(e,n),n.fn.dataTable.Scroller||require("datatables.net-scroller")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),d(e,n),t(n,0,e.document)}:(d(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.dataTables.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.dataTables.js
deleted file mode 100644
index 5b808e2..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.dataTables.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! DataTables styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-dt', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.dataTables.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.dataTables.min.js
deleted file mode 100644
index f2ef3b3..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.dataTables.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! DataTables styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(n){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-dt","datatables.net-scroller"],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.Scroller||require("datatables.net-scroller")(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});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.foundation.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.foundation.js
deleted file mode 100644
index accbcc4..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.foundation.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Foundation styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-zf', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.foundation.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.foundation.min.js
deleted file mode 100644
index a279177..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.foundation.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Foundation styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-zf","datatables.net-scroller"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,n){n.fn.dataTable||require("datatables.net-zf")(e,n),n.fn.dataTable.Scroller||require("datatables.net-scroller")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),d(e,n),t(n,0,e.document)}:(d(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.jqueryui.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.jqueryui.js
deleted file mode 100644
index c17385e..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.jqueryui.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! jQuery UI styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-jqui', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.jqueryui.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.jqueryui.min.js
deleted file mode 100644
index 2222ce4..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.jqueryui.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery UI styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-scroller"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,n){n.fn.dataTable||require("datatables.net-jqui")(e,n),n.fn.dataTable.Scroller||require("datatables.net-scroller")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),d(e,n),t(n,0,e.document)}:(d(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.semanticui.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.semanticui.js
deleted file mode 100644
index 6d3ae53..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.semanticui.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*! Semanic UI styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net-se', 'datatables.net-scroller'], 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.Scroller ) {
- require('datatables.net-scroller')(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;
-}));
diff --git a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.semanticui.min.js b/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.semanticui.min.js
deleted file mode 100644
index 12c2d3c..0000000
--- a/src/main/resources/static/assets/DataTables/Scroller-2.1.1/js/scroller.semanticui.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! Semanic UI styling wrapper for Scroller
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(t){var o,d;"function"==typeof define&&define.amd?define(["jquery","datatables.net-se","datatables.net-scroller"],function(e){return t(e,window,document)}):"object"==typeof exports?(o=require("jquery"),d=function(e,n){n.fn.dataTable||require("datatables.net-se")(e,n),n.fn.dataTable.Scroller||require("datatables.net-scroller")(e,n)},"undefined"!=typeof window?module.exports=function(e,n){return e=e||window,n=n||o(e),d(e,n),t(n,0,e.document)}:(d(window,o),module.exports=t(o,window,window.document))):t(jQuery,window,document)}(function(e,n,t,o){"use strict";return e.fn.dataTable});
\ No newline at end of file
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap.css
deleted file mode 100644
index a008766..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap.css
+++ /dev/null
@@ -1,189 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dtsb-searchBuilder div.dtsb-titleRow {
- height: 40px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- padding-top: 10px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border: 1px solid #ccc;
- border-radius: 4px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
- margin-top: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 3em;
- margin: 0px;
- padding: 6px 9px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- min-width: 2em;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #4cae4c;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #d43f3a;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #2e6da4;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap.min.css
deleted file mode 100644
index c828017..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dtsb-searchBuilder div.dtsb-titleRow{height:40px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{padding-top:10px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border:1px solid #ccc;border-radius:4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;flex-grow:1;flex-shrink:0;flex-basis:3em;margin:0px;padding:6px 9px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;min-width:2em;margin:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#4cae4c}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#d43f3a}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#2e6da4}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap4.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap4.css
deleted file mode 100644
index 1216848..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap4.css
+++ /dev/null
@@ -1,199 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dtsb-searchBuilder div.dtsb-titleRow {
- height: 40px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- padding-top: 10px;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin-right: 8px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria .form-control {
- width: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #28a745;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #dc3545;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #007bff;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border-radius: 4px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
- margin-top: 10px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 3em;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- width: 2em;
- margin: 0px;
-}
-
-div.dt-button-collection div.dtsb-searchBuilder {
- padding-left: 10px;
- padding-right: 10px;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap4.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap4.min.css
deleted file mode 100644
index 52af723..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap4.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dtsb-searchBuilder div.dtsb-titleRow{height:40px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{padding-top:10px}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin-right:8px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria .form-control{width:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#28a745}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#dc3545}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#007bff}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border-radius:4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-top:10px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;flex-grow:1;flex-shrink:0;flex-basis:3em;margin:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;width:2em;margin:0px}div.dt-button-collection div.dtsb-searchBuilder{padding-left:10px;padding-right:10px}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap5.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap5.css
deleted file mode 100644
index d5bbfbc..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap5.css
+++ /dev/null
@@ -1,205 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dtsb-searchBuilder div.dtsb-titleRow {
- height: 40px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- padding-top: 10px;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin-right: 8px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria .form-select {
- width: auto;
- display: inline-block;
- padding-right: 30px !important;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #28a745;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #dc3545;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #007bff;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria .form-control {
- display: inline-block;
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border-radius: 4px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
- margin-top: 10px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 3em;
- margin: 0px;
- padding: 0.375rem 0.7rem;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- width: 2em;
- margin: 0px;
-}
-
-div.dt-button-collection div.dtsb-searchBuilder {
- padding-left: 10px;
- padding-right: 10px;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap5.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap5.min.css
deleted file mode 100644
index f474fff..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bootstrap5.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dtsb-searchBuilder div.dtsb-titleRow{height:40px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{padding-top:10px}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin-right:8px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria .form-select{width:auto;display:inline-block;padding-right:30px !important}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#28a745}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#dc3545}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#007bff}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria .form-control{display:inline-block;font-size:1em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border-radius:4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-top:10px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;flex-grow:1;flex-shrink:0;flex-basis:3em;margin:0px;padding:.375rem .7rem}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;width:2em;margin:0px}div.dt-button-collection div.dtsb-searchBuilder{padding-left:10px;padding-right:10px}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bulma.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bulma.css
deleted file mode 100644
index a95810d..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bulma.css
+++ /dev/null
@@ -1,200 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dtsb-searchBuilder div.dtsb-titleRow {
- margin-bottom: 1.5em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin-right: 8px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown {
- height: 2.5em;
- border-radius: 0.375em;
- background-color: #fff;
- padding-right: 2.5em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #48c78e;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #ef2e55;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #3e8ed0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border-radius: 4px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
- margin-top: 10px;
- overflow: hidden;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 3em;
- margin: 0px;
- padding: 0.375rem 0rem;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- width: 2em;
- margin: 0px;
-}
-
-div.dt-button-collection div.dtsb-searchBuilder {
- padding-left: 10px;
- padding-right: 10px;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bulma.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bulma.min.css
deleted file mode 100644
index 652e69e..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.bulma.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dtsb-searchBuilder div.dtsb-titleRow{margin-bottom:1.5em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin-right:8px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown{height:2.5em;border-radius:.375em;background-color:#fff;padding-right:2.5em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#48c78e}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#ef2e55}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#3e8ed0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border-radius:4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-top:10px;overflow:hidden}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;flex-grow:1;flex-shrink:0;flex-basis:3em;margin:0px;padding:.375rem 0rem}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;width:2em;margin:0px}div.dt-button-collection div.dtsb-searchBuilder{padding-left:10px;padding-right:10px}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.dataTables.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.dataTables.css
deleted file mode 100644
index 233ca94..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.dataTables.css
+++ /dev/null
@@ -1,236 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dtsb-searchBuilder button, div.dtsb-searchBuilder select, div.dtsb-searchBuilder input {
- background-color: #f9f9f9;
-}
-div.dtsb-searchBuilder button.dtsb-button {
- position: relative;
- display: inline-block;
- box-sizing: border-box;
- padding: 0.5em 1em;
- border: 1px solid rgba(0, 0, 0, 0.3);
- border-radius: 2px;
- cursor: pointer;
- font-size: 0.88em;
- line-height: 1.6em;
- color: black;
- white-space: nowrap;
- overflow: hidden;
- background-color: rgba(0, 0, 0, 0.1); /* Fallback */
- background: linear-gradient(to bottom, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- text-decoration: none;
- outline: none;
- text-overflow: ellipsis;
-}
-div.dtsb-searchBuilder button.dtsb-button:hover {
- background-color: #cecece !important;
- cursor: pointer;
-}
-div.dtsb-searchBuilder div.dtsb-logicContainer {
- border: 1px solid rgba(0, 0, 0, 0.3);
- background-color: rgba(0, 0, 0, 0.1); /* Fallback */
- background: linear-gradient(to right, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
-}
-div.dtsb-searchBuilder div.dtsb-logicContainer button {
- border: 1px solid transparent;
- background: transparent;
-}
-div.dtsb-searchBuilder button.dtsb-clearGroup {
- min-width: 2em;
- padding: 0;
-}
-div.dtsb-searchBuilder button.dtsb-iptbtn {
- min-width: 100px;
- text-align: left;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border: 1px solid;
- border-color: #cecece;
- border-radius: 3px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 3em;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- width: 2em;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- border: 1px solid;
- border-radius: 3px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #48b13c;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #e70f00;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #0069ba;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition option.dtsb-option, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data option.dtsb-option, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value option.dtsb-option {
- background-color: white;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.dataTables.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.dataTables.min.css
deleted file mode 100644
index f94029b..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.dataTables.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dtsb-searchBuilder button,div.dtsb-searchBuilder select,div.dtsb-searchBuilder input{background-color:#f9f9f9}div.dtsb-searchBuilder button.dtsb-button{position:relative;display:inline-block;box-sizing:border-box;padding:.5em 1em;border:1px solid rgba(0, 0, 0, 0.3);border-radius:2px;cursor:pointer;font-size:.88em;line-height:1.6em;color:black;white-space:nowrap;overflow:hidden;background-color:rgba(0, 0, 0, 0.1);background:linear-gradient(to bottom, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none;text-overflow:ellipsis}div.dtsb-searchBuilder button.dtsb-button:hover{background-color:#cecece !important;cursor:pointer}div.dtsb-searchBuilder div.dtsb-logicContainer{border:1px solid rgba(0, 0, 0, 0.3);background-color:rgba(0, 0, 0, 0.1);background:linear-gradient(to right, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%)}div.dtsb-searchBuilder div.dtsb-logicContainer button{border:1px solid transparent;background:transparent}div.dtsb-searchBuilder button.dtsb-clearGroup{min-width:2em;padding:0}div.dtsb-searchBuilder button.dtsb-iptbtn{min-width:100px;text-align:left}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border:1px solid;border-color:#cecece;border-radius:3px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;flex-grow:1;flex-shrink:0;flex-basis:3em;margin:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;width:2em;margin:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{border:1px solid;border-radius:3px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#48b13c}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#e70f00}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#0069ba}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition option.dtsb-option,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data option.dtsb-option,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value option.dtsb-option{background-color:white}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.foundation.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.foundation.css
deleted file mode 100644
index 4767879..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.foundation.css
+++ /dev/null
@@ -1,204 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dtsb-searchBuilder div.dtsb-titleRow {
- margin-bottom: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- padding-top: 10px;
- font-size: 1.4375rem;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- margin-bottom: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown {
- width: auto !important;
- margin-bottom: 0px;
- padding-left: 0.5rem;
- padding-right: 1.5rem;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input {
- height: 2.4375rem;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #3adb76;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #cc4b37;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #1779ba;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border-radius: 4px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
- margin-top: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 3em !important;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- flex-basis: 2em !important;
- width: 2em;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group button {
- margin-bottom: 0px;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.foundation.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.foundation.min.css
deleted file mode 100644
index b40253e..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.foundation.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dtsb-searchBuilder div.dtsb-titleRow{margin-bottom:1em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{padding-top:10px;font-size:1.4375rem}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown{width:auto !important;margin-bottom:0px;padding-left:.5rem;padding-right:1.5rem}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input{height:2.4375rem}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#3adb76}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#cc4b37}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#1779ba}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border-radius:4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;flex-grow:1;flex-shrink:0;flex-basis:3em !important;margin:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;flex-basis:2em !important;width:2em;margin:0px}div.dtsb-searchBuilder div.dtsb-group button{margin-bottom:0px}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.jqueryui.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.jqueryui.css
deleted file mode 100644
index 1bd43fe..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.jqueryui.css
+++ /dev/null
@@ -1,188 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select {
- width: auto !important;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #48b13c;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #e70f00;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #0069ba;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-button {
- min-width: 2em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border-radius: 3px;
- border: solid 1px #c5c5c5;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
- margin-top: 10px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 2.5em;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- width: 2em;
- margin: 0px;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.jqueryui.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.jqueryui.min.css
deleted file mode 100644
index 5060774..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.jqueryui.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select{width:auto !important}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#48b13c}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#e70f00}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#0069ba}div.dtsb-searchBuilder div.dtsb-group button.dtsb-button{min-width:2em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border-radius:3px;border:solid 1px #c5c5c5;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-top:10px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;flex-grow:1;flex-shrink:0;flex-basis:2.5em;margin:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;width:2em;margin:0px}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.semanticui.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.semanticui.css
deleted file mode 100644
index 6584c6d..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.semanticui.css
+++ /dev/null
@@ -1,234 +0,0 @@
-div.dt-button-collection {
- overflow: visible !important;
- z-index: 2002 !important;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- width: 99% !important;
- padding-left: 10px !important;
- padding-right: 10px !important;
-}
-
-div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow {
- padding-right: 40px;
-}
-
-.dtsb-greyscale {
- border: 1px solid #cecece !important;
-}
-
-div.dtsb-logicContainer .dtsb-greyscale {
- border: none !important;
-}
-
-div.dtsb-searchBuilder {
- justify-content: space-evenly;
- cursor: default;
- margin-bottom: 1em;
- text-align: left;
-}
-div.dtsb-searchBuilder button.dtsb-button,
-div.dtsb-searchBuilder select {
- font-size: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- justify-content: space-evenly;
- margin-bottom: 0.5em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title {
- display: inline-block;
- padding-top: 6px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty {
- display: inline;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- float: right;
- margin-bottom: 0.333em;
-}
-div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data, div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition {
- display: block;
-}
-div.dtsb-searchBuilder div.dtsb-group {
- position: relative;
- clear: both;
- margin-bottom: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup {
- margin: 2px;
- text-align: center;
- padding: 0;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
- position: absolute;
- margin-top: 0.8em;
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- margin-bottom: 0.8em;
- display: flex;
- justify-content: start;
- flex-flow: row wrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- padding: 0.4em;
- margin-right: 0.8em;
- min-width: 5em;
- max-width: 20em;
- background-color: rgba(200, 200, 200, 0.3);
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic {
- font-style: normal;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic {
- font-style: italic;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- flex: 1;
- white-space: nowrap;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value {
- width: 33%;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- margin-left: auto;
- display: inline-block;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left {
- margin-right: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child {
- margin-right: 0;
-}
-@media screen and (max-width: 550px) {
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria {
- display: flex;
- flex-flow: none;
- flex-direction: column;
- justify-content: start;
- padding-right: calc(35px + 0.8em);
- margin-bottom: 0px;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child) {
- padding-top: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2), div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child {
- padding-top: 0em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input {
- max-width: none;
- width: 100%;
- margin-bottom: 0.8em;
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont {
- margin-right: 0.8em;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer {
- position: absolute;
- width: 35px;
- display: flex;
- flex-wrap: wrap-reverse;
- right: 0;
- }
- div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button {
- margin-right: 0px !important;
- }
-}
-
-div.dt-button-collection {
- border: 1px solid rgba(34, 36, 38, 0.15);
- border-radius: 4px;
-}
-div.dt-button-collection div.dtsb-searchBuilder {
- margin: 10px;
-}
-div.dt-button-collection div.dtsb-searchBuilder div.dtsb-titleRow {
- font-size: 13.33px;
-}
-div.dt-button-collection div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- border: none;
- border-radius: 4px;
-}
-div.dt-button-collection div.dtsb-searchBuilder select.ui.dropdown {
- font-size: 13.33px;
-}
-div.dt-button-collection div.dtsb-searchBuilder div.dtsb-logicContainer {
- margin-top: 10px !important;
- border: 1px solid rgba(34, 36, 38, 0.15);
- border-radius: 4px;
-}
-div.dt-button-collection div.dtsb-searchBuilder div.dtsb-criteria,
-div.dt-button-collection div.dtsb-searchBuilder div.dtsb-group {
- margin-bottom: 10px !important;
-}
-
-div.dtsb-searchBuilder button.dtsb-button {
- padding-top: 5px;
- padding-left: 5px;
- padding-right: 5px;
- padding-bottom: 5px;
- min-width: 30px;
- min-height: 30px;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow {
- margin-bottom: 1em;
-}
-div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll {
- margin-bottom: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select {
- width: auto !important;
- background-color: transparent !important;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition {
- border-color: #21ba45;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data {
- border-color: #db2828;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value, div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value {
- border-color: #2185d0;
-}
-div.dtsb-searchBuilder div.dtsb-group button.ui.button {
- border-radius: 4px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer {
- border-radius: 4px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-content: flex-start;
- align-items: flex-start;
- margin-top: 0.8em;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic {
- border: none;
- border-radius: 0px;
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
- flex-grow: 1;
- flex-shrink: 0;
- flex-basis: 2.5em;
- margin: 0px;
-}
-div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup {
- border: none;
- border-radius: 0px;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
- flex-grow: 0;
- width: 2em;
- margin: 0px;
-}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.semanticui.min.css b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.semanticui.min.css
deleted file mode 100644
index 6c18c35..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/css/searchBuilder.semanticui.min.css
+++ /dev/null
@@ -1 +0,0 @@
-div.dt-button-collection{overflow:visible !important;z-index:2002 !important}div.dt-button-collection div.dtsb-searchBuilder{width:99% !important;padding-left:10px !important;padding-right:10px !important}div.dt-button-collection.dtb-collection-closeable div.dtsb-titleRow{padding-right:40px}.dtsb-greyscale{border:1px solid #cecece !important}div.dtsb-logicContainer .dtsb-greyscale{border:none !important}div.dtsb-searchBuilder{justify-content:space-evenly;cursor:default;margin-bottom:1em;text-align:left}div.dtsb-searchBuilder button.dtsb-button,div.dtsb-searchBuilder select{font-size:1em}div.dtsb-searchBuilder div.dtsb-titleRow{justify-content:space-evenly;margin-bottom:.5em}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title{display:inline-block;padding-top:6px}div.dtsb-searchBuilder div.dtsb-titleRow div.dtsb-title:empty{display:inline}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{float:right;margin-bottom:.333em}div.dtsb-searchBuilder div.dtsb-vertical .dtsb-value,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-data,div.dtsb-searchBuilder div.dtsb-vertical .dtsb-condition{display:block}div.dtsb-searchBuilder div.dtsb-group{position:relative;clear:both;margin-bottom:.8em}div.dtsb-searchBuilder div.dtsb-group button.dtsb-clearGroup{margin:2px;text-align:center;padding:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);position:absolute;margin-top:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{margin-bottom:.8em;display:flex;justify-content:start;flex-flow:row wrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{padding:.4em;margin-right:.8em;min-width:5em;max-width:20em;background-color:rgba(200, 200, 200, 0.3)}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown option.dtsb-notItalic,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input option.dtsb-notItalic{font-style:normal}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-italic{font-style:italic}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{flex:1;white-space:nowrap}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont span.dtsp-joiner{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont input.dtsb-value{width:33%}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{margin-left:auto;display:inline-block}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-delete:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-right:last-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button.dtsb-left:last-child{margin-right:0}@media screen and (max-width: 550px){div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria{display:flex;flex-flow:none;flex-direction:column;justify-content:start;padding-right:calc(35px + .8em);margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:first-child),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:nth-child(2)),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:not(:last-child){padding-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:first-child,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:nth-child(2),div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria:last-child{padding-top:0em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-dropDown,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-input{max-width:none;width:100%;margin-bottom:.8em;margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-inputCont{margin-right:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer{position:absolute;width:35px;display:flex;flex-wrap:wrap-reverse;right:0}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria div.dtsb-buttonContainer button{margin-right:0px !important}}div.dt-button-collection{border:1px solid rgba(34, 36, 38, 0.15);border-radius:4px}div.dt-button-collection div.dtsb-searchBuilder{margin:10px}div.dt-button-collection div.dtsb-searchBuilder div.dtsb-titleRow{font-size:13.33px}div.dt-button-collection div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{border:none;border-radius:4px}div.dt-button-collection div.dtsb-searchBuilder select.ui.dropdown{font-size:13.33px}div.dt-button-collection div.dtsb-searchBuilder div.dtsb-logicContainer{margin-top:10px !important;border:1px solid rgba(34, 36, 38, 0.15);border-radius:4px}div.dt-button-collection div.dtsb-searchBuilder div.dtsb-criteria,div.dt-button-collection div.dtsb-searchBuilder div.dtsb-group{margin-bottom:10px !important}div.dtsb-searchBuilder button.dtsb-button{padding-top:5px;padding-left:5px;padding-right:5px;padding-bottom:5px;min-width:30px;min-height:30px}div.dtsb-searchBuilder div.dtsb-titleRow{margin-bottom:1em}div.dtsb-searchBuilder div.dtsb-titleRow button.dtsb-clearAll{margin-bottom:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select{width:auto !important;background-color:transparent !important}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-condition{border-color:#21ba45}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-data{border-color:#db2828}div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria select.dtsb-value,div.dtsb-searchBuilder div.dtsb-group div.dtsb-criteria input.dtsb-value{border-color:#2185d0}div.dtsb-searchBuilder div.dtsb-group button.ui.button{border-radius:4px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer{border-radius:4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start;margin-top:.8em}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-logic{border:none;border-radius:0px;border-top-left-radius:4px;border-bottom-left-radius:4px;flex-grow:1;flex-shrink:0;flex-basis:2.5em;margin:0px}div.dtsb-searchBuilder div.dtsb-group div.dtsb-logicContainer button.dtsb-clearGroup{border:none;border-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px;flex-grow:0;width:2em;margin:0px}
diff --git a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/js/dataTables.searchBuilder.js b/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/js/dataTables.searchBuilder.js
deleted file mode 100644
index 88abd02..0000000
--- a/src/main/resources/static/assets/DataTables/SearchBuilder-1.4.2/js/dataTables.searchBuilder.js
+++ /dev/null
@@ -1,3825 +0,0 @@
-/*! SearchBuilder 1.4.2
- * ©SpryMedia Ltd - datatables.net/license/mit
- */
-
-(function( factory ){
- if ( typeof define === 'function' && define.amd ) {
- // AMD
- define( ['jquery', 'datatables.net'], 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 (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;
-
-
-(function () {
- 'use strict';
-
- var $$3;
- var dataTable$3;
- function moment() {
- return window.moment;
- }
- function luxon() {
- return window.luxon;
- }
- /**
- * Sets the value of jQuery for use in the file
- *
- * @param jq the instance of jQuery to be set
- */
- function setJQuery$2(jq) {
- $$3 = jq;
- dataTable$3 = jq.fn.dataTable;
- }
- /**
- * The Criteria class is used within SearchBuilder to represent a search criteria
- */
- var Criteria = /** @class */ (function () {
- function Criteria(table, opts, topGroup, index, depth, serverData) {
- if (index === void 0) { index = 0; }
- if (depth === void 0) { depth = 1; }
- if (serverData === void 0) { serverData = undefined; }
- var _this = this;
- // Check that the required version of DataTables is included
- if (!dataTable$3 || !dataTable$3.versionCheck || !dataTable$3.versionCheck('1.10.0')) {
- throw new Error('SearchPane requires DataTables 1.10 or newer');
- }
- this.classes = $$3.extend(true, {}, Criteria.classes);
- // Get options from user and any extra conditions/column types defined by plug-ins
- this.c = $$3.extend(true, {}, Criteria.defaults, $$3.fn.dataTable.ext.searchBuilder, opts);
- var i18n = this.c.i18n;
- this.s = {
- condition: undefined,
- conditions: {},
- data: undefined,
- dataIdx: -1,
- dataPoints: [],
- dateFormat: false,
- depth: depth,
- dt: table,
- filled: false,
- index: index,
- origData: undefined,
- preventRedraw: false,
- serverData: serverData,
- topGroup: topGroup,
- type: '',
- value: []
- };
- this.dom = {
- buttons: $$3('')
- .addClass(this.classes.buttonContainer),
- condition: $$3('')
- .addClass(this.classes.condition)
- .addClass(this.classes.dropDown)
- .addClass(this.classes.italic)
- .attr('autocomplete', 'hacking'),
- conditionTitle: $$3('')
- .html(this.s.dt.i18n('searchBuilder.condition', i18n.condition)),
- container: $$3('')
- .addClass(this.classes.container),
- data: $$3('')
- .addClass(this.classes.data)
- .addClass(this.classes.dropDown)
- .addClass(this.classes.italic),
- dataTitle: $$3('')
- .html(this.s.dt.i18n('searchBuilder.data', i18n.data)),
- defaultValue: $$3('')
- .addClass(this.classes.value)
- .addClass(this.classes.dropDown)
- .addClass(this.classes.select)
- .addClass(this.classes.italic),
- "delete": $$3('')
- .html(this.s.dt.i18n('searchBuilder.delete', i18n["delete"]))
- .addClass(this.classes["delete"])
- .addClass(this.classes.button)
- .attr('title', this.s.dt.i18n('searchBuilder.deleteTitle', i18n.deleteTitle))
- .attr('type', 'button'),
- inputCont: $$3('')
- .addClass(this.classes.inputCont),
- // eslint-disable-next-line no-useless-escape
- left: $$3('')
- .html(this.s.dt.i18n('searchBuilder.left', i18n.left))
- .addClass(this.classes.left)
- .addClass(this.classes.button)
- .attr('title', this.s.dt.i18n('searchBuilder.leftTitle', i18n.leftTitle))
- .attr('type', 'button'),
- // eslint-disable-next-line no-useless-escape
- right: $$3('')
- .html(this.s.dt.i18n('searchBuilder.right', i18n.right))
- .addClass(this.classes.right)
- .addClass(this.classes.button)
- .attr('title', this.s.dt.i18n('searchBuilder.rightTitle', i18n.rightTitle))
- .attr('type', 'button'),
- value: [
- $$3('')
- .addClass(this.classes.value)
- .addClass(this.classes.dropDown)
- .addClass(this.classes.italic)
- .addClass(this.classes.select)
- ],
- valueTitle: $$3('')
- .html(this.s.dt.i18n('searchBuilder.value', i18n.value))
- };
- // If the greyscale option is selected then add the class to add the grey colour to SearchBuilder
- if (this.c.greyscale) {
- this.dom.data.addClass(this.classes.greyscale);
- this.dom.condition.addClass(this.classes.greyscale);
- this.dom.defaultValue.addClass(this.classes.greyscale);
- for (var _i = 0, _a = this.dom.value; _i < _a.length; _i++) {
- var val = _a[_i];
- val.addClass(this.classes.greyscale);
- }
- }
- $$3(window).on('resize.dtsb', dataTable$3.util.throttle(function () {
- _this.s.topGroup.trigger('dtsb-redrawLogic');
- }));
- this._buildCriteria();
- return this;
- }
- /**
- * Escape html characters within a string
- *
- * @param txt the string to be escaped
- * @returns the escaped string
- */
- Criteria._escapeHTML = function (txt) {
- return txt
- .toString()
- .replace(/&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"');
- };
- /**
- * Parses formatted numbers down to a form where they can be compared
- *
- * @param val the value to convert
- * @returns the converted value
- */
- Criteria.parseNumFmt = function (val) {
- return +val.replace(/(?!^-)[^0-9.]/g, '');
- };
- /**
- * Adds the left button to the criteria
- */
- Criteria.prototype.updateArrows = function (hasSiblings) {
- if (hasSiblings === void 0) { hasSiblings = false; }
- // Empty the container and append all of the elements in the correct order
- this.dom.container.children().detach();
- this.dom.container
- .append(this.dom.data)
- .append(this.dom.condition)
- .append(this.dom.inputCont);
- this.setListeners();
- // Trigger the inserted events for the value elements as they are inserted
- if (this.dom.value[0] !== undefined) {
- this.dom.value[0].trigger('dtsb-inserted');
- }
- for (var i = 1; i < this.dom.value.length; i++) {
- this.dom.inputCont.append(this.dom.value[i]);
- this.dom.value[i].trigger('dtsb-inserted');
- }
- // If this is a top level criteria then don't let it move left
- if (this.s.depth > 1) {
- this.dom.buttons.append(this.dom.left);
- }
- // If the depthLimit of the query has been hit then don't add the right button
- if ((this.c.depthLimit === false || this.s.depth < this.c.depthLimit) && hasSiblings) {
- this.dom.buttons.append(this.dom.right);
- }
- else {
- this.dom.right.remove();
- }
- this.dom.buttons.append(this.dom["delete"]);
- this.dom.container.append(this.dom.buttons);
- };
- /**
- * Destroys the criteria, removing listeners and container from the dom
- */
- Criteria.prototype.destroy = function () {
- // Turn off listeners
- this.dom.data.off('.dtsb');
- this.dom.condition.off('.dtsb');
- this.dom["delete"].off('.dtsb');
- for (var _i = 0, _a = this.dom.value; _i < _a.length; _i++) {
- var val = _a[_i];
- val.off('.dtsb');
- }
- // Remove container from the dom
- this.dom.container.remove();
- };
- /**
- * Passes in the data for the row and compares it against this single criteria
- *
- * @param rowData The data for the row to be compared
- * @returns boolean Whether the criteria has passed
- */
- Criteria.prototype.search = function (rowData, rowIdx) {
- var condition = this.s.conditions[this.s.condition];
- if (this.s.condition !== undefined && condition !== undefined) {
- var filter = rowData[this.s.dataIdx];
- // This check is in place for if a custom decimal character is in place
- if (this.s.type.includes('num') &&
- (this.s.dt.settings()[0].oLanguage.sDecimal !== '' ||
- this.s.dt.settings()[0].oLanguage.sThousands !== '')) {
- var splitRD = [rowData[this.s.dataIdx]];
- if (this.s.dt.settings()[0].oLanguage.sDecimal !== '') {
- splitRD = rowData[this.s.dataIdx].split(this.s.dt.settings()[0].oLanguage.sDecimal);
- }
- if (this.s.dt.settings()[0].oLanguage.sThousands !== '') {
- for (var i = 0; i < splitRD.length; i++) {
- splitRD[i] = splitRD[i].replace(this.s.dt.settings()[0].oLanguage.sThousands, ',');
- }
- }
- filter = splitRD.join('.');
- }
- // If orthogonal data is in place we need to get it's values for searching
- if (this.c.orthogonal.search !== 'filter') {
- var settings = this.s.dt.settings()[0];
- filter = settings.oApi._fnGetCellData(settings, rowIdx, this.s.dataIdx, typeof this.c.orthogonal === 'string' ?
- this.c.orthogonal :
- this.c.orthogonal.search);
- }
- if (this.s.type === 'array') {
- // Make sure we are working with an array
- if (!Array.isArray(filter)) {
- filter = [filter];
- }
- filter.sort();
- for (var _i = 0, filter_1 = filter; _i < filter_1.length; _i++) {
- var filt = filter_1[_i];
- if (filt && typeof filt === 'string') {
- filt = filt.replace(/[\r\n\u2028]/g, ' ');
- }
- }
- }
- else if (filter !== null && typeof filter === 'string') {
- filter = filter.replace(/[\r\n\u2028]/g, ' ');
- }
- if (this.s.type.includes('html') && typeof filter === 'string') {
- filter = filter.replace(/(<([^>]+)>)/ig, '');
- }
- // Not ideal, but jqueries .val() returns an empty string even
- // when the value set is null, so we shall assume the two are equal
- if (filter === null) {
- filter = '';
- }
- return condition.search(filter, this.s.value, this);
- }
- };
- /**
- * Gets the details required to rebuild the criteria
- */
- Criteria.prototype.getDetails = function (deFormatDates) {
- if (deFormatDates === void 0) { deFormatDates = false; }
- // This check is in place for if a custom decimal character is in place
- if (this.s.type !== null &&
- this.s.type.includes('num') &&
- (this.s.dt.settings()[0].oLanguage.sDecimal !== '' || this.s.dt.settings()[0].oLanguage.sThousands !== '')) {
- for (var i = 0; i < this.s.value.length; i++) {
- var splitRD = [this.s.value[i].toString()];
- if (this.s.dt.settings()[0].oLanguage.sDecimal !== '') {
- splitRD = this.s.value[i].split(this.s.dt.settings()[0].oLanguage.sDecimal);
- }
- if (this.s.dt.settings()[0].oLanguage.sThousands !== '') {
- for (var j = 0; j < splitRD.length; j++) {
- splitRD[j] = splitRD[j].replace(this.s.dt.settings()[0].oLanguage.sThousands, ',');
- }
- }
- this.s.value[i] = splitRD.join('.');
- }
- }
- else if (this.s.type !== null && deFormatDates) {
- if (this.s.type.includes('date') ||
- this.s.type.includes('time')) {
- for (var i = 0; i < this.s.value.length; i++) {
- if (this.s.value[i].match(/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])$/g) === null) {
- this.s.value[i] = '';
- }
- }
- }
- else if (this.s.type.includes('moment')) {
- for (var i = 0; i < this.s.value.length; i++) {
- if (this.s.value[i] &&
- this.s.value[i].length > 0 &&
- moment()(this.s.value[i], this.s.dateFormat, true).isValid()) {
- this.s.value[i] = moment()(this.s.value[i], this.s.dateFormat).format('YYYY-MM-DD HH:mm:ss');
- }
- }
- }
- else if (this.s.type.includes('luxon')) {
- for (var i = 0; i < this.s.value.length; i++) {
- if (this.s.value[i] &&
- this.s.value[i].length > 0 &&
- luxon().DateTime.fromFormat(this.s.value[i], this.s.dateFormat).invalid === null) {
- this.s.value[i] = luxon().DateTime.fromFormat(this.s.value[i], this.s.dateFormat).toFormat('yyyy-MM-dd HH:mm:ss');
- }
- }
- }
- }
- if (this.s.type.includes('num') && this.s.dt.page.info().serverSide) {
- for (var i = 0; i < this.s.value.length; i++) {
- this.s.value[i] = this.s.value[i].replace(/[^0-9.\-]/g, '');
- }
- }
- return {
- condition: this.s.condition,
- data: this.s.data,
- origData: this.s.origData,
- type: this.s.type,
- value: this.s.value.map(function (a) { return a !== null && a !== undefined ? a.toString() : a; })
- };
- };
- /**
- * Getter for the node for the container of the criteria
- *
- * @returns JQuery the node for the container
- */
- Criteria.prototype.getNode = function () {
- return this.dom.container;
- };
- /**
- * Populates the criteria data, condition and value(s) as far as has been selected
- */
- Criteria.prototype.populate = function () {
- this._populateData();
- // If the column index has been found attempt to select a condition
- if (this.s.dataIdx !== -1) {
- this._populateCondition();
- // If the condittion has been found attempt to select the values
- if (this.s.condition !== undefined) {
- this._populateValue();
- }
- }
- };
- /**
- * Rebuilds the criteria based upon the details passed in
- *
- * @param loadedCriteria the details required to rebuild the criteria
- */
- Criteria.prototype.rebuild = function (loadedCriteria) {
- // Check to see if the previously selected data exists, if so select it
- var foundData = false;
- var dataIdx;
- this._populateData();
- // If a data selection has previously been made attempt to find and select it
- if (loadedCriteria.data !== undefined) {
- var italic_1 = this.classes.italic;
- var data_1 = this.dom.data;
- this.dom.data.children('option').each(function () {
- if (!foundData &&
- ($$3(this).text() === loadedCriteria.data ||
- loadedCriteria.origData && $$3(this).prop('origData') === loadedCriteria.origData)) {
- $$3(this).prop('selected', true);
- data_1.removeClass(italic_1);
- foundData = true;
- dataIdx = $$3(this).val();
- }
- else {
- $$3(this).removeProp('selected');
- }
- });
- }
- // If the data has been found and selected then the condition can be populated and searched
- if (foundData) {
- this.s.data = loadedCriteria.data;
- this.s.origData = loadedCriteria.origData;
- this.s.dataIdx = dataIdx;
- this.c.orthogonal = this._getOptions().orthogonal;
- this.dom.dataTitle.remove();
- this._populateCondition();
- this.dom.conditionTitle.remove();
- var condition = void 0;
- // Check to see if the previously selected condition exists, if so select it
- var options = this.dom.condition.children('option');
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
- for (var i = 0; i < options.length; i++) {
- var option = $$3(options[i]);
- if (loadedCriteria.condition !== undefined &&
- option.val() === loadedCriteria.condition &&
- typeof loadedCriteria.condition === 'string') {
- option.prop('selected', true);
- condition = option.val();
- }
- else {
- option.removeProp('selected');
- }
- }
- this.s.condition = condition;
- // If the condition has been found and selected then the value can be populated and searched
- if (this.s.condition !== undefined) {
- this.dom.conditionTitle.removeProp('selected');
- this.dom.conditionTitle.remove();
- this.dom.condition.removeClass(this.classes.italic);
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
- for (var i = 0; i < options.length; i++) {
- var option = $$3(options[i]);
- if (option.val() !== this.s.condition) {
- option.removeProp('selected');
- }
- }
- this._populateValue(loadedCriteria);
- }
- else {
- this.dom.conditionTitle.prependTo(this.dom.condition).prop('selected', true);
- }
- }
- };
- /**
- * Sets the listeners for the criteria
- */
- Criteria.prototype.setListeners = function () {
- var _this = this;
- this.dom.data
- .unbind('change')
- .on('change.dtsb', function () {
- _this.dom.dataTitle.removeProp('selected');
- // Need to go over every option to identify the correct selection
- var options = _this.dom.data.children('option.' + _this.classes.option);
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
- for (var i = 0; i < options.length; i++) {
- var option = $$3(options[i]);
- if (option.val() === _this.dom.data.val()) {
- _this.dom.data.removeClass(_this.classes.italic);
- option.prop('selected', true);
- _this.s.dataIdx = +option.val();
- _this.s.data = option.text();
- _this.s.origData = option.prop('origData');
- _this.c.orthogonal = _this._getOptions().orthogonal;
- // When the data is changed, the values in condition and
- // value may also change so need to renew them
- _this._clearCondition();
- _this._clearValue();
- _this._populateCondition();
- // If this criteria was previously active in the search then
- // remove it from the search and trigger a new search
- if (_this.s.filled) {
- _this.s.filled = false;
- _this.s.dt.draw();
- _this.setListeners();
- }
- _this.s.dt.state.save();
- }
- else {
- option.removeProp('selected');
- }
- }
- });
- this.dom.condition
- .unbind('change')
- .on('change.dtsb', function () {
- _this.dom.conditionTitle.removeProp('selected');
- // Need to go over every option to identify the correct selection
- var options = _this.dom.condition.children('option.' + _this.classes.option);
- // eslint-disable-next-line @typescript-eslint/prefer-for-of
- for (var i = 0; i < options.length; i++) {
- var option = $$3(options[i]);
- if (option.val() === _this.dom.condition.val()) {
- _this.dom.condition.removeClass(_this.classes.italic);
- option.prop('selected', true);
- var condDisp = option.val();
- // Find the condition that has been selected and store it internally
- for (var _i = 0, _a = Object.keys(_this.s.conditions); _i < _a.length; _i++) {
- var cond = _a[_i];
- if (cond === condDisp) {
- _this.s.condition = condDisp;
- break;
- }
- }
- // When the condition is changed, the value selector may switch between
- // a select element and an input element
- _this._clearValue();
- _this._populateValue();
- for (var _b = 0, _c = _this.dom.value; _b < _c.length; _b++) {
- var val = _c[_b];
- // If this criteria was previously active in the search then remove
- // it from the search and trigger a new search
- if (_this.s.filled && val !== undefined && _this.dom.inputCont.has(val[0]).length !== 0) {
- _this.s.filled = false;
- _this.s.dt.draw();
- _this.setListeners();
- }
- }
- if (_this.dom.value.length === 0 ||
- _this.dom.value.length === 1 && _this.dom.value[0] === undefined) {
- _this.s.dt.draw();
- }
- }
- else {
- option.removeProp('selected');
- }
- }
- });
- };
- Criteria.prototype.setupButtons = function () {
- if (window.innerWidth > 550) {
- this.dom.container.removeClass(this.classes.vertical);
- this.dom.buttons.css('left', null);
- this.dom.buttons.css('top', null);
- return;
- }
- this.dom.container.addClass(this.classes.vertical);
- this.dom.buttons.css('left', this.dom.data.innerWidth());
- this.dom.buttons.css('top', this.dom.data.position().top);
- };
- /**
- * Builds the elements of the dom together
- */
- Criteria.prototype._buildCriteria = function () {
- // Append Titles for select elements
- this.dom.data.append(this.dom.dataTitle);
- this.dom.condition.append(this.dom.conditionTitle);
- // Add elements to container
- this.dom.container
- .append(this.dom.data)
- .append(this.dom.condition);
- this.dom.inputCont.empty();
- for (var _i = 0, _a = this.dom.value; _i < _a.length; _i++) {
- var val = _a[_i];
- val.append(this.dom.valueTitle);
- this.dom.inputCont.append(val);
- }
- // Add buttons to container
- this.dom.buttons
- .append(this.dom["delete"])
- .append(this.dom.right);
- this.dom.container.append(this.dom.inputCont).append(this.dom.buttons);
- this.setListeners();
- };
- /**
- * Clears the condition select element
- */
- Criteria.prototype._clearCondition = function () {
- this.dom.condition.empty();
- this.dom.conditionTitle.prop('selected', true).attr('disabled', 'true');
- this.dom.condition.prepend(this.dom.conditionTitle).prop('selectedIndex', 0);
- this.s.conditions = {};
- this.s.condition = undefined;
- };
- /**
- * Clears the value elements
- */
- Criteria.prototype._clearValue = function () {
- if (this.s.condition !== undefined) {
- if (this.dom.value.length > 0 && this.dom.value[0] !== undefined) {
- var _loop_1 = function (val) {
- if (val !== undefined) {
- // Timeout is annoying but because of IOS
- setTimeout(function () {
- val.remove();
- }, 50);
- }
- };
- // Remove all of the value elements
- for (var _i = 0, _a = this.dom.value; _i < _a.length; _i++) {
- var val = _a[_i];
- _loop_1(val);
- }
- }
- // Call the init function to get the value elements for this condition
- this.dom.value = [].concat(this.s.conditions[this.s.condition].init(this, Criteria.updateListener));
- if (this.dom.value.length > 0 && this.dom.value[0] !== undefined) {
- this.dom.inputCont
- .empty()
- .append(this.dom.value[0])
- .insertAfter(this.dom.condition);
- this.dom.value[0].trigger('dtsb-inserted');
- // Insert all of the value elements
- for (var i = 1; i < this.dom.value.length; i++) {
- this.dom.inputCont.append(this.dom.value[i]);
- this.dom.value[i].trigger('dtsb-inserted');
- }
- }
- }
- else {
- var _loop_2 = function (val) {
- if (val !== undefined) {
- // Timeout is annoying but because of IOS
- setTimeout(function () {
- val.remove();
- }, 50);
- }
- };
- // Remove all of the value elements
- for (var _b = 0, _c = this.dom.value; _b < _c.length; _b++) {
- var val = _c[_b];
- _loop_2(val);
- }
- // Append the default valueTitle to the default select element
- this.dom.valueTitle
- .prop('selected', true);
- this.dom.defaultValue
- .append(this.dom.valueTitle)
- .insertAfter(this.dom.condition);
- }
- this.s.value = [];
- this.dom.value = [
- $$3('')
- .addClass(this.classes.value)
- .addClass(this.classes.dropDown)
- .addClass(this.classes.italic)
- .addClass(this.classes.select)
- .append(this.dom.valueTitle.clone())
- ];
- };
- /**
- * Gets the options for the column
- *
- * @returns {object} The options for the column
- */
- Criteria.prototype._getOptions = function () {
- var table = this.s.dt;
- return $$3.extend(true, {}, Criteria.defaults, table.settings()[0].aoColumns[this.s.dataIdx].searchBuilder);
- };
- /**
- * Populates the condition dropdown
- */
- Criteria.prototype._populateCondition = function () {
- var conditionOpts = [];
- var conditionsLength = Object.keys(this.s.conditions).length;
- var colInits = this.s.dt.settings()[0].aoColumns;
- var column = +this.dom.data.children('option:selected').val();
- // If there are no conditions stored then we need to get them from the appropriate type
- if (conditionsLength === 0) {
- this.s.type = this.s.dt.columns().type().toArray()[column];
- if (colInits !== undefined) {
- var colInit = colInits[column];
- if (colInit.searchBuilderType !== undefined && colInit.searchBuilderType !== null) {
- this.s.type = colInit.searchBuilderType;
- }
- else if (this.s.type === undefined || this.s.type === null) {
- this.s.type = colInit.sType;
- }
- }
- // If the column type is still unknown, call a draw to try reading it again
- if (this.s.type === null || this.s.type === undefined) {
- $$3.fn.dataTable.ext.oApi._fnColumnTypes(this.s.dt.settings()[0]);
- this.s.type = this.s.dt.columns().type().toArray()[column];
- }
- // Enable the condition element
- this.dom.condition
- .removeAttr('disabled')
- .empty()
- .append(this.dom.conditionTitle)
- .addClass(this.classes.italic);
- this.dom.conditionTitle
- .prop('selected', true);
- var decimal = this.s.dt.settings()[0].oLanguage.sDecimal;
- // This check is in place for if a custom decimal character is in place
- if (decimal !== '' && this.s.type.indexOf(decimal) === this.s.type.length - decimal.length) {
- if (this.s.type.includes('num-fmt')) {
- this.s.type = this.s.type.replace(decimal, '');
- }
- else if (this.s.type.includes('num')) {
- this.s.type = this.s.type.replace(decimal, '');
- }
- }
- // Select which conditions are going to be used based on the column type
- var conditionObj = this.c.conditions[this.s.type] !== undefined ?
- this.c.conditions[this.s.type] :
- this.s.type.includes('moment') ?
- this.c.conditions.moment :
- this.s.type.includes('luxon') ?
- this.c.conditions.luxon :
- this.c.conditions.string;
- // If it is a moment format then extract the date format
- if (this.s.type.includes('moment')) {
- this.s.dateFormat = this.s.type.replace(/moment-/g, '');
- }
- else if (this.s.type.includes('luxon')) {
- this.s.dateFormat = this.s.type.replace(/luxon-/g, '');
- }
- // Add all of the conditions to the select element
- for (var _i = 0, _a = Object.keys(conditionObj); _i < _a.length; _i++) {
- var condition = _a[_i];
- if (conditionObj[condition] !== null) {
- // Serverside processing does not supply the options for the select elements
- // Instead input elements need to be used for these instead
- if (this.s.dt.page.info().serverSide && conditionObj[condition].init === Criteria.initSelect) {
- var col = colInits[column];
- if (this.s.serverData && this.s.serverData[col.data]) {
- conditionObj[condition].init = Criteria.initSelectSSP;
- conditionObj[condition].inputValue = Criteria.inputValueSelect;
- conditionObj[condition].isInputValid = Criteria.isInputValidSelect;
- }
- else {
- conditionObj[condition].init = Criteria.initInput;
- conditionObj[condition].inputValue = Criteria.inputValueInput;
- conditionObj[condition].isInputValid = Criteria.isInputValidInput;
- }
- }
- this.s.conditions[condition] = conditionObj[condition];
- var condName = conditionObj[condition].conditionName;
- if (typeof condName === 'function') {
- condName = condName(this.s.dt, this.c.i18n);
- }
- conditionOpts.push($$3('
'),
- dtContainer: $$1(this.s.dt.table().container()),
- duplicateError: $$1('' +
- this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError) +
- ''),
- emptyError: $$1('' +
- this.s.dt.i18n('stateRestore.emptyError', this.c.i18n.emptyError) +
- ''),
- lengthToggle: $$1('' +
- '' +
- '' +
- '
'),
- nameInputRow: $$1('' +
- '' +
- '' +
- '
'),
- orderToggle: $$1('' +
- '' +
- '' +
- '
'),
- pagingToggle: $$1('' +
- '' +
- '' +
- '
'),
- removeContents: $$1('
'),
- removeTitle: $$1('' +
- '
' +
- this.s.dt.i18n('stateRestore.removeTitle', this.c.i18n.removeTitle) +
- '
' +
- ''),
- scrollerToggle: $$1('' +
- '' +
- '' +
- '
'),
- searchBuilderToggle: $$1('' +
- '' +
- '' +
- '
'),
- searchPanesToggle: $$1('' +
- '' +
- '' +
- '
'),
- searchToggle: $$1('' +
- '' +
- '' +
- '
'),
- selectToggle: $$1('' +
- '' +
- '' +
- '
'),
- toggleLabel: $$1('')
- };
- table.settings()[0]._stateRestore = this;
- this._searchForStates();
- // Has staterestore been used before? Is there anything to load?
- this._addPreDefined(this.c.preDefined);
- var ajaxFunction;
- var ajaxData = {
- action: 'load'
- };
- if (typeof this.c.ajax === 'function') {
- ajaxFunction = function () {
- if (typeof _this.c.ajax === 'function') {
- _this.c.ajax.call(_this.s.dt, ajaxData, function (s) { return _this._addPreDefined(s); });
- }
- };
- }
- else if (typeof this.c.ajax === 'string') {
- ajaxFunction = function () {
- $$1.ajax({
- data: ajaxData,
- success: function (data) {
- _this._addPreDefined(data);
- },
- type: 'POST',
- url: _this.c.ajax
- });
- };
- }
- if (typeof ajaxFunction === 'function') {
- if (this.s.dt.settings()[0]._bInitComplete) {
- ajaxFunction();
- }
- else {
- this.s.dt.one('preInit.dtsr', function () {
- ajaxFunction();
- });
- }
- }
- this.s.dt.on('destroy.dtsr', function () {
- _this.destroy();
- });
- this.s.dt.on('draw.dtsr buttons-action.dtsr', function () { return _this.findActive(); });
- return this;
- }
- /**
- * Adds a new StateRestore instance to the collection based on the current properties of the table
- *
- * @param identifier The value that is used to identify a state.
- * @returns The state that has been created
- */
- StateRestoreCollection.prototype.addState = function (identifier, currentIdentifiers, options) {
- var _this = this;
- // If creation/saving is not allowed then return
- if (!this.c.create || !this.c.save) {
- return;
- }
- // Check if the state exists before creating a new ones
- var state = this.getState(identifier);
- var createFunction = function (id, toggles) {
- if (id.length === 0) {
- return 'empty';
- }
- else if (currentIdentifiers.includes(id)) {
- return 'duplicate';
- }
- _this.s.dt.state.save();
- var that = _this;
- var successCallback = function () {
- that.s.states.push(this);
- that._collectionRebuild();
- };
- var currState = _this.s.dt.state();
- currState.stateRestore = {
- isPredefined: false,
- state: id,
- tableId: _this.s.dt.table().node().id
- };
- if (toggles.saveState) {
- var opts = _this.c.saveState;
- // We don't want to extend, but instead AND all properties of the saveState option
- for (var _i = 0, _a = Object.keys(toggles.saveState); _i < _a.length; _i++) {
- var key = _a[_i];
- if (!toggles.saveState[key]) {
- opts[key] = false;
- }
- }
- _this.c.saveState = opts;
- }
- var newState = new StateRestore(_this.s.dt.settings()[0], $$1.extend(true, {}, _this.c, options), id, currState, false, successCallback);
- $$1(_this.s.dt.table().node()).on('dtsr-modal-inserted', function () {
- newState.dom.confirmation.one('dtsr-remove', function () { return _this._removeCallback(newState.s.identifier); });
- newState.dom.confirmation.one('dtsr-rename', function () { return _this._collectionRebuild(); });
- newState.dom.confirmation.one('dtsr-save', function () { return _this._collectionRebuild(); });
- });
- return true;
- };
- // If there isn't already a state with this identifier
- if (state === null) {
- if (this.c.creationModal || options !== undefined && options.creationModal) {
- this._creationModal(createFunction, identifier, options);
- }
- else {
- var success = createFunction(identifier, {});
- if (success === 'empty') {
- throw new Error(this.s.dt.i18n('stateRestore.emptyError', this.c.i18n.emptyError));
- }
- else if (success === 'duplicate') {
- throw new Error(this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError));
- }
- }
- }
- else {
- throw new Error(this.s.dt.i18n('stateRestore.duplicateError', this.c.i18n.duplicateError));
- }
- };
- /**
- * Removes all of the states, showing a modal to the user for confirmation
- *
- * @param removeFunction The action to be taken when the action is confirmed
- */
- StateRestoreCollection.prototype.removeAll = function (removeFunction) {
- // There are no states to remove so just return
- if (this.s.states.length === 0) {
- return;
- }
- var ids = this.s.states.map(function (state) { return state.s.identifier; });
- var replacementString = ids[0];
- if (ids.length > 1) {
- replacementString = ids.slice(0, -1).join(', ') +
- this.s.dt.i18n('stateRestore.removeJoiner', this.c.i18n.removeJoiner) +
- ids.slice(-1);
- }
- $$1(this.dom.removeContents.children('span')).html(this.s.dt
- .i18n('stateRestore.removeConfirm', this.c.i18n.removeConfirm)
- .replace(/%s/g, replacementString));
- this._newModal(this.dom.removeTitle, this.s.dt.i18n('stateRestore.removeSubmit', this.c.i18n.removeSubmit), removeFunction, this.dom.removeContents);
- };
- /**
- * Removes all of the dom elements from the document for the collection and the stored states
- */
- StateRestoreCollection.prototype.destroy = function () {
- for (var _i = 0, _a = this.s.states; _i < _a.length; _i++) {
- var state = _a[_i];
- state.destroy();
- }
- Object.values(this.dom).forEach(function (node) {
- node.off();
- node.remove();
- });
- this.s.states = [];
- this.s.dt.off('.dtsr');
- $$1(this.s.dt.table().node()).off('.dtsr');
- };
- /**
- * Identifies active states and updates their button to reflect this.
- *
- * @returns An array containing objects with the details of currently active states
- */
- StateRestoreCollection.prototype.findActive = function () {
- // Make sure that the state is up to date
- this.s.dt.state.save();
- var currState = this.s.dt.state();
- // Make all of the buttons inactive so that only any that match will be marked as active
- var buttons = $$1('button.' + $$1.fn.DataTable.Buttons.defaults.dom.button.className.replace(/ /g, '.'));
- // Some of the styling libraries use a tags instead of buttons
- if (buttons.length === 0) {
- buttons = $$1('a.' + $$1.fn.DataTable.Buttons.defaults.dom.button.className.replace(/ /g, '.'));
- }
- for (var _i = 0, buttons_1 = buttons; _i < buttons_1.length; _i++) {
- var button = buttons_1[_i];
- this.s.dt.button($$1(button).parent()[0]).active(false);
- }
- var results = [];
- // Go through all of the states comparing if their state is the same to the current one
- for (var _a = 0, _b = this.s.states; _a < _b.length; _a++) {
- var state = _b[_a];
- if (state.compare(currState)) {
- results.push({
- data: state.s.savedState,
- name: state.s.identifier
- });
- // If so, find the corresponding button and mark it as active
- for (var _c = 0, buttons_2 = buttons; _c < buttons_2.length; _c++) {
- var button = buttons_2[_c];
- if ($$1(button).text() === state.s.identifier) {
- this.s.dt.button($$1(button).parent()[0]).active(true);
- break;
- }
- }
- }
- }
- return results;
- };
- /**
- * Gets a single state that has the identifier matching that which is passed in
- *
- * @param identifier The value that is used to identify a state
- * @returns The state that has been identified or null if no states have been identified
- */
- StateRestoreCollection.prototype.getState = function (identifier) {
- for (var _i = 0, _a = this.s.states; _i < _a.length; _i++) {
- var state = _a[_i];
- if (state.s.identifier === identifier) {
- return state;
- }
- }
- return null;
- };
- /**
- * Gets an array of all of the states
- *
- * @returns Any states that have been identified
- */
- StateRestoreCollection.prototype.getStates = function (ids) {
- if (ids === undefined) {
- return this.s.states;
- }
- else {
- var states = [];
- for (var _i = 0, ids_1 = ids; _i < ids_1.length; _i++) {
- var id = ids_1[_i];
- var found = false;
- for (var _a = 0, _b = this.s.states; _a < _b.length; _a++) {
- var state = _b[_a];
- if (id === state.s.identifier) {
- states.push(state);
- found = true;
- break;
- }
- }
- if (!found) {
- states.push(undefined);
- }
- }
- return states;
- }
- };
- /**
- * Reloads states that are set via datatables config or over ajax
- *
- * @param preDefined Object containing the predefined states that are to be reintroduced
- */
- StateRestoreCollection.prototype._addPreDefined = function (preDefined) {
- var _this = this;
- // There is a potential issue here if sorting where the string parts of the name are the same,
- // only the number differs and there are many states - but this wouldn't be usfeul naming so
- // more of a priority to sort alphabetically
- var states = Object.keys(preDefined).sort(function (a, b) { return a > b ? 1 : a < b ? -1 : 0; });
- var _loop_1 = function (state) {
- for (var i = 0; i < this_1.s.states.length; i++) {
- if (this_1.s.states[i].s.identifier === state) {
- this_1.s.states.splice(i, 1);
- }
- }
- var that = this_1;
- var successCallback = function () {
- that.s.states.push(this);
- that._collectionRebuild();
- };
- var loadedState = preDefined[state];
- var newState = new StateRestore(this_1.s.dt, $$1.extend(true, {}, this_1.c, loadedState.c !== undefined ?
- { saveState: loadedState.c.saveState } :
- undefined, true), state, loadedState, true, successCallback);
- newState.s.savedState = loadedState;
- $$1(this_1.s.dt.table().node()).on('dtsr-modal-inserted', function () {
- newState.dom.confirmation.one('dtsr-remove', function () { return _this._removeCallback(newState.s.identifier); });
- newState.dom.confirmation.one('dtsr-rename', function () { return _this._collectionRebuild(); });
- newState.dom.confirmation.one('dtsr-save', function () { return _this._collectionRebuild(); });
- });
- };
- var this_1 = this;
- for (var _i = 0, states_1 = states; _i < states_1.length; _i++) {
- var state = states_1[_i];
- _loop_1(state);
- }
- };
- /**
- * Rebuilds all of the buttons in the collection of states to make sure that states and text is up to date
- */
- StateRestoreCollection.prototype._collectionRebuild = function () {
- var button = this.s.dt.button('SaveStateRestore:name');
- var stateButtons = [];
- // Need to get the original configuration object, so we can rebuild it
- // It might be nested, so need to traverse down the tree
- if (button[0]) {
- var idxs = button.index().split('-');
- stateButtons = button[0].inst.c.buttons;
- for (var i = 0; i < idxs.length; i++) {
- if (stateButtons[idxs[i]].buttons) {
- stateButtons = stateButtons[idxs[i]].buttons;
- }
- else {
- stateButtons = [];
- break;
- }
- }
- }
- // remove any states from the previous rebuild - if they are still there they will be added later
- for (var i = 0; i < stateButtons.length; i++) {
- if (stateButtons[i].extend === 'stateRestore') {
- stateButtons.splice(i, 1);
- i--;
- }
- }
- if (this.c._createInSaved) {
- stateButtons.push('createState');
- }
- var emptyText = '' +
- this.s.dt.i18n('stateRestore.emptyStates', this.c.i18n.emptyStates) +
- '';
- // If there are no states display an empty message
- if (this.s.states.length === 0) {
- // Don't want the empty text included more than twice
- if (!stateButtons.includes(emptyText)) {
- stateButtons.push(emptyText);
- }
- }
- else {
- // There are states to add so there shouldn't be any empty text left!
- while (stateButtons.includes(emptyText)) {
- stateButtons.splice(stateButtons.indexOf(emptyText), 1);
- }
- // There is a potential issue here if sorting where the string parts of the name are the same,
- // only the number differs and there are many states - but this wouldn't be usfeul naming so
- // more of a priority to sort alphabetically
- this.s.states = this.s.states.sort(function (a, b) {
- var aId = a.s.identifier;
- var bId = b.s.identifier;
- return aId > bId ?
- 1 :
- aId < bId ?
- -1 :
- 0;
- });
- // Construct the split property of each button
- for (var _i = 0, _a = this.s.states; _i < _a.length; _i++) {
- var state = _a[_i];
- var split = Object.assign([], this.c.splitSecondaries);
- if (split.includes('updateState') && (!this.c.save || !state.c.save)) {
- split.splice(split.indexOf('updateState'), 1);
- }
- if (split.includes('renameState') &&
- (!this.c.save || !state.c.save || !this.c.rename || !state.c.rename)) {
- split.splice(split.indexOf('renameState'), 1);
- }
- if (split.includes('removeState') && (!this.c.remove || !state.c.remove)) {
- split.splice(split.indexOf('removeState'), 1);
- }
- if (split.length > 0 &&
- !split.includes('' + state.s.identifier + '
')) {
- split.unshift('' + state.s.identifier + '
');
- }
- stateButtons.push({
- _stateRestore: state,
- attr: {
- title: state.s.identifier
- },
- config: {
- split: split
- },
- extend: 'stateRestore',
- text: state.s.identifier
- });
- }
- }
- button.collectionRebuild(stateButtons);
- // Need to disable the removeAllStates button if there are no states and it is present
- var buttons = this.s.dt.buttons();
- for (var _b = 0, buttons_3 = buttons; _b < buttons_3.length; _b++) {
- var butt = buttons_3[_b];
- if ($$1(butt.node).hasClass('dtsr-removeAllStates')) {
- if (this.s.states.length === 0) {
- this.s.dt.button(butt.node).disable();
- }
- else {
- this.s.dt.button(butt.node).enable();
- }
- }
- }
- };
- /**
- * Displays a modal that is used to get information from the user to create a new state.
- *
- * @param buttonAction The action that should be taken when the button is pressed
- * @param identifier The default identifier for the next new state
- */
- StateRestoreCollection.prototype._creationModal = function (buttonAction, identifier, options) {
- var _this = this;
- this.dom.creation.empty();
- this.dom.creationForm.empty();
- this.dom.nameInputRow.children('input').val(identifier);
- this.dom.creationForm.append(this.dom.nameInputRow);
- var tableConfig = this.s.dt.settings()[0].oInit;
- var togglesToInsert = [];
- var toggleDefined = options !== undefined && options.toggle !== undefined;
- // Order toggle - check toggle and saving enabled
- if (((!toggleDefined || options.toggle.order === undefined) && this.c.toggle.order ||
- toggleDefined && options.toggle.order) &&
- this.c.saveState.order &&
- (tableConfig.ordering === undefined || tableConfig.ordering)) {
- togglesToInsert.push(this.dom.orderToggle);
- }
- // Search toggle - check toggle and saving enabled
- if (((!toggleDefined || options.toggle.search === undefined) && this.c.toggle.search ||
- toggleDefined && options.toggle.search) &&
- this.c.saveState.search &&
- (tableConfig.searching === undefined || tableConfig.searching)) {
- togglesToInsert.push(this.dom.searchToggle);
- }
- // Paging toggle - check toggle and saving enabled
- if (((!toggleDefined || options.toggle.paging === undefined) && this.c.toggle.paging ||
- toggleDefined && options.toggle.paging) &&
- this.c.saveState.paging &&
- (tableConfig.paging === undefined || tableConfig.paging)) {
- togglesToInsert.push(this.dom.pagingToggle);
- }
- // Page Length toggle - check toggle and saving enabled
- if (((!toggleDefined || options.toggle.length === undefined) && this.c.toggle.length ||
- toggleDefined && options.toggle.length) &&
- this.c.saveState.length &&
- (tableConfig.length === undefined || tableConfig.length)) {
- togglesToInsert.push(this.dom.lengthToggle);
- }
- // ColReorder toggle - check toggle and saving enabled
- if (this.s.hasColReorder &&
- ((!toggleDefined || options.toggle.colReorder === undefined) && this.c.toggle.colReorder ||
- toggleDefined && options.toggle.colReorder) &&
- this.c.saveState.colReorder) {
- togglesToInsert.push(this.dom.colReorderToggle);
- }
- // Scroller toggle - check toggle and saving enabled
- if (this.s.hasScroller &&
- ((!toggleDefined || options.toggle.scroller === undefined) && this.c.toggle.scroller ||
- toggleDefined && options.toggle.scroller) &&
- this.c.saveState.scroller) {
- togglesToInsert.push(this.dom.scrollerToggle);
- }
- // SearchBuilder toggle - check toggle and saving enabled
- if (this.s.hasSearchBuilder &&
- ((!toggleDefined || options.toggle.searchBuilder === undefined) && this.c.toggle.searchBuilder ||
- toggleDefined && options.toggle.searchBuilder) &&
- this.c.saveState.searchBuilder) {
- togglesToInsert.push(this.dom.searchBuilderToggle);
- }
- // SearchPanes toggle - check toggle and saving enabled
- if (this.s.hasSearchPanes &&
- ((!toggleDefined || options.toggle.searchPanes === undefined) && this.c.toggle.searchPanes ||
- toggleDefined && options.toggle.searchPanes) &&
- this.c.saveState.searchPanes) {
- togglesToInsert.push(this.dom.searchPanesToggle);
- }
- // Select toggle - check toggle and saving enabled
- if (this.s.hasSelect &&
- ((!toggleDefined || options.toggle.select === undefined) && this.c.toggle.select ||
- toggleDefined && options.toggle.select) &&
- this.c.saveState.select) {
- togglesToInsert.push(this.dom.selectToggle);
- }
- // Columns toggle - check toggle and saving enabled
- if (typeof this.c.toggle.columns === 'boolean' &&
- ((!toggleDefined || options.toggle.order === undefined) && this.c.toggle.columns ||
- toggleDefined && options.toggle.order) &&
- this.c.saveState.columns) {
- togglesToInsert.push(this.dom.columnsSearchToggle);
- togglesToInsert.push(this.dom.columnsVisibleToggle);
- }
- else if ((!toggleDefined || options.toggle.columns === undefined) && typeof this.c.toggle.columns !== 'boolean' ||
- typeof options.toggle.order !== 'boolean') {
- if (typeof this.c.saveState.columns !== 'boolean' && this.c.saveState.columns) {
- // Column search toggle - check toggle and saving enabled
- if ((
- // columns.search is defined when passed in
- toggleDefined &&
- options.toggle.columns !== undefined &&
- typeof options.toggle.columns !== 'boolean' &&
- options.toggle.columns.search ||
- // Columns search is not defined when passed in but is in defaults
- (!toggleDefined ||
- options.toggle.columns === undefined ||
- typeof options.toggle.columns !== 'boolean' && options.toggle.columns.search === undefined) &&
- typeof this.c.toggle.columns !== 'boolean' &&
- this.c.toggle.columns.search) &&
- this.c.saveState.columns.search) {
- togglesToInsert.push(this.dom.columnsSearchToggle);
- }
- // Column visiblity toggle - check toggle and saving enabled
- if ((
- // columns.visible is defined when passed in
- toggleDefined &&
- options.toggle.columns !== undefined &&
- typeof options.toggle.columns !== 'boolean' &&
- options.toggle.columns.visible ||
- // Columns visible is not defined when passed in but is in defaults
- (!toggleDefined ||
- options.toggle.columns === undefined ||
- typeof options.toggle.columns !== 'boolean' && options.toggle.columns.visible === undefined) &&
- typeof this.c.toggle.columns !== 'boolean' &&
- this.c.toggle.columns.visible) &&
- this.c.saveState.columns.visible) {
- togglesToInsert.push(this.dom.columnsVisibleToggle);
- }
- }
- else if (this.c.saveState.columns) {
- togglesToInsert.push(this.dom.columnsSearchToggle);
- togglesToInsert.push(this.dom.columnsVisibleToggle);
- }
- }
- // Make sure that the toggles are displayed alphabetically
- togglesToInsert.sort(function (a, b) {
- var aVal = a.children('label.dtsr-check-label')[0].innerHTML;
- var bVal = b.children('label.dtsr-check-label')[0].innerHTML;
- if (aVal < bVal) {
- return -1;
- }
- else if (aVal > bVal) {
- return 1;
- }
- else {
- return 0;
- }
- });
- // Append all of the toggles that are to be inserted
- for (var _i = 0, togglesToInsert_1 = togglesToInsert; _i < togglesToInsert_1.length; _i++) {
- var toggle = togglesToInsert_1[_i];
- this.dom.creationForm.append(toggle);
- }
- // Insert the toggle label next to the first check box
- $$1(this.dom.creationForm.children('div.' + this.classes.checkRow)[0]).prepend(this.dom.toggleLabel);
- // Insert the creation modal and the background
- this.dom.background.appendTo(this.dom.dtContainer);
- this.dom.creation
- .append(this.dom.creationTitle)
- .append(this.dom.creationForm)
- .append(this.dom.createButtonRow)
- .appendTo(this.dom.dtContainer);
- $$1(this.s.dt.table().node()).trigger('dtsr-modal-inserted');
- var _loop_2 = function (toggle) {
- $$1(toggle.children('label:last-child')).on('click', function () {
- toggle.children('input').prop('checked', !toggle.children('input').prop('checked'));
- });
- };
- // Allow the label to be clicked to toggle the checkbox
- for (var _a = 0, togglesToInsert_2 = togglesToInsert; _a < togglesToInsert_2.length; _a++) {
- var toggle = togglesToInsert_2[_a];
- _loop_2(toggle);
- }
- var creationButton = $$1('button.' + this.classes.creationButton.replace(/ /g, '.'));
- var inputs = this.dom.creationForm.find('input');
- // If there is an input focus on that
- if (inputs.length > 0) {
- $$1(inputs[0]).focus();
- }
- // Otherwise focus on the confirmation button
- else {
- creationButton.focus();
- }
- var background = $$1('div.' + this.classes.background.replace(/ /g, '.'));
- var keyupFunction = function (e) {
- if (e.key === 'Enter') {
- creationButton.click();
- }
- else if (e.key === 'Escape') {
- background.click();
- }
- };
- if (this.c.modalCloseButton) {
- this.dom.creation.append(this.dom.closeButton);
- this.dom.closeButton.on('click', function () { return background.click(); });
- }
- creationButton.on('click', function () {
- // Get the values of the checkBoxes
- var saveState = {
- colReorder: _this.dom.colReorderToggle.children('input').is(':checked'),
- columns: {
- search: _this.dom.columnsSearchToggle.children('input').is(':checked'),
- visible: _this.dom.columnsVisibleToggle.children('input').is(':checked')
- },
- length: _this.dom.lengthToggle.children('input').is(':checked'),
- order: _this.dom.orderToggle.children('input').is(':checked'),
- paging: _this.dom.pagingToggle.children('input').is(':checked'),
- scroller: _this.dom.scrollerToggle.children('input').is(':checked'),
- search: _this.dom.searchToggle.children('input').is(':checked'),
- searchBuilder: _this.dom.searchBuilderToggle.children('input').is(':checked'),
- searchPanes: _this.dom.searchPanesToggle.children('input').is(':checked'),
- select: _this.dom.selectToggle.children('input').is(':checked')
- };
- // Call the buttons functionality passing in the identifier and what should be saved
- var success = buttonAction($$1('input.' + _this.classes.nameInput.replace(/ /g, '.')).val(), { saveState: saveState });
- if (success === true) {
- // Remove the dom elements as operation has completed
- _this.dom.background.remove();
- _this.dom.creation.remove();
- // Unbind the keyup function - don't want it to run unnecessarily on every keypress that occurs
- $$1(document).unbind('keyup', keyupFunction);
- }
- else {
- _this.dom.creation.children('.' + _this.classes.modalError).remove();
- _this.dom.creation.append(_this.dom[success + 'Error']);
- }
- });
- background.one('click', function () {
- // Remove the dome elements as operation has been cancelled
- _this.dom.background.remove();
- _this.dom.creation.remove();
- // Unbind the keyup function - don't want it to run unnecessarily on every keypress that occurs
- $$1(document).unbind('keyup', keyupFunction);
- // Rebuild the collection to ensure that the latest changes are present
- _this._collectionRebuild();
- });
- // Have to listen to the keyup event as `escape` doesn't trigger keypress
- $$1(document).on('keyup', keyupFunction);
- // Need to save the state before the focus is lost when the modal is interacted with
- this.s.dt.state.save();
- };
- /**
- * This callback is called when a state is removed.
- * This removes the state from storage and also strips it's button from the container
- *
- * @param identifier The value that is used to identify a state
- */
- StateRestoreCollection.prototype._removeCallback = function (identifier) {
- for (var i = 0; i < this.s.states.length; i++) {
- if (this.s.states[i].s.identifier === identifier) {
- this.s.states.splice(i, 1);
- i--;
- }
- }
- this._collectionRebuild();
- return true;
- };
- /**
- * Creates a new confirmation modal for the user to approve an action
- *
- * @param title The title that is to be displayed at the top of the modal
- * @param buttonText The text that is to be displayed in the confirmation button of the modal
- * @param buttonAction The action that should be taken when the confirmation button is pressed
- * @param modalContents The contents for the main body of the modal
- */
- StateRestoreCollection.prototype._newModal = function (title, buttonText, buttonAction, modalContents) {
- var _this = this;
- this.dom.background.appendTo(this.dom.dtContainer);
- this.dom.confirmationTitleRow.empty().append(title);
- var confirmationButton = $$1('');
- this.dom.confirmation
- .empty()
- .append(this.dom.confirmationTitleRow)
- .append(modalContents)
- .append($$1('')
- .append(confirmationButton))
- .appendTo(this.dom.dtContainer);
- $$1(this.s.dt.table().node()).trigger('dtsr-modal-inserted');
- var inputs = modalContents.children('input');
- // If there is an input focus on that
- if (inputs.length > 0) {
- $$1(inputs[0]).focus();
- }
- // Otherwise focus on the confirmation button
- else {
- confirmationButton.focus();
- }
- var background = $$1('div.' + this.classes.background.replace(/ /g, '.'));
- var keyupFunction = function (e) {
- // If enter same action as pressing the button
- if (e.key === 'Enter') {
- confirmationButton.click();
- }
- // If escape close modal
- else if (e.key === 'Escape') {
- background.click();
- }
- };
- // When the button is clicked, call the appropriate action,
- // remove the background and modal from the screen and unbind the keyup event.
- confirmationButton.on('click', function () {
- var success = buttonAction(true);
- if (success === true) {
- _this.dom.background.remove();
- _this.dom.confirmation.remove();
- $$1(document).unbind('keyup', keyupFunction);
- confirmationButton.off('click');
- }
- else {
- _this.dom.confirmation.children('.' + _this.classes.modalError).remove();
- _this.dom.confirmation.append(_this.dom[success + 'Error']);
- }
- });
- this.dom.confirmation.on('click', function (e) {
- e.stopPropagation();
- });
- // When the button is clicked, remove the background and modal from the screen and unbind the keyup event.
- background.one('click', function () {
- _this.dom.background.remove();
- _this.dom.confirmation.remove();
- $$1(document).unbind('keyup', keyupFunction);
- });
- $$1(document).on('keyup', keyupFunction);
- };
- /**
- * Private method that checks for previously created states on initialisation
- */
- StateRestoreCollection.prototype._searchForStates = function () {
- var _this = this;
- var keys = Object.keys(localStorage);
- var _loop_3 = function (key) {
- // eslint-disable-next-line no-useless-escape
- if (key.match(new RegExp('^DataTables_stateRestore_.*_' + location.pathname.replace(/\//g, '/') + '$')) ||
- key.match(new RegExp('^DataTables_stateRestore_.*_' + location.pathname.replace(/\//g, '/') +
- '_' + this_2.s.dt.table().node().id + '$'))) {
- var loadedState_1 = JSON.parse(localStorage.getItem(key));
- if (loadedState_1.stateRestore.isPreDefined ||
- (loadedState_1.stateRestore.tableId &&
- loadedState_1.stateRestore.tableId !== this_2.s.dt.table().node().id)) {
- return "continue";
- }
- var that_1 = this_2;
- var successCallback = function () {
- this.s.savedState = loadedState_1;
- that_1.s.states.push(this);
- that_1._collectionRebuild();
- };
- var newState_1 = new StateRestore(this_2.s.dt, $$1.extend(true, {}, this_2.c, { saveState: loadedState_1.c.saveState }), loadedState_1.stateRestore.state, loadedState_1, false, successCallback);
- $$1(this_2.s.dt.table().node()).on('dtsr-modal-inserted', function () {
- newState_1.dom.confirmation.one('dtsr-remove', function () { return _this._removeCallback(newState_1.s.identifier); });
- newState_1.dom.confirmation.one('dtsr-rename', function () { return _this._collectionRebuild(); });
- newState_1.dom.confirmation.one('dtsr-save', function () { return _this._collectionRebuild(); });
- });
- }
- };
- var this_2 = this;
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
- var key = keys_1[_i];
- _loop_3(key);
- }
- };
- StateRestoreCollection.version = '1.0.0';
- StateRestoreCollection.classes = {
- background: 'dtsr-background',
- checkBox: 'dtsr-check-box',
- checkLabel: 'dtsr-check-label',
- checkRow: 'dtsr-check-row',
- closeButton: 'dtsr-popover-close',
- colReorderToggle: 'dtsr-colReorder-toggle',
- columnsSearchToggle: 'dtsr-columns-search-toggle',
- columnsVisibleToggle: 'dtsr-columns-visible-toggle',
- confirmation: 'dtsr-confirmation',
- confirmationButton: 'dtsr-confirmation-button',
- confirmationButtons: 'dtsr-confirmation-buttons',
- confirmationMessage: 'dtsr-confirmation-message dtsr-name-label',
- confirmationText: 'dtsr-confirmation-text',
- confirmationTitle: 'dtsr-confirmation-title',
- confirmationTitleRow: 'dtsr-confirmation-title-row',
- creation: 'dtsr-creation',
- creationButton: 'dtsr-creation-button',
- creationForm: 'dtsr-creation-form',
- creationText: 'dtsr-creation-text',
- creationTitle: 'dtsr-creation-title',
- dtButton: 'dt-button',
- emptyStates: 'dtsr-emptyStates',
- formRow: 'dtsr-form-row',
- leftSide: 'dtsr-left',
- lengthToggle: 'dtsr-length-toggle',
- modalError: 'dtsr-modal-error',
- modalFoot: 'dtsr-modal-foot',
- nameInput: 'dtsr-name-input',
- nameLabel: 'dtsr-name-label',
- orderToggle: 'dtsr-order-toggle',
- pagingToggle: 'dtsr-paging-toggle',
- rightSide: 'dtsr-right',
- scrollerToggle: 'dtsr-scroller-toggle',
- searchBuilderToggle: 'dtsr-searchBuilder-toggle',
- searchPanesToggle: 'dtsr-searchPanes-toggle',
- searchToggle: 'dtsr-search-toggle',
- selectToggle: 'dtsr-select-toggle',
- toggleLabel: 'dtsr-toggle-title'
- };
- StateRestoreCollection.defaults = {
- _createInSaved: false,
- ajax: false,
- create: true,
- creationModal: false,
- i18n: {
- creationModal: {
- button: 'Create',
- colReorder: 'Column Order',
- columns: {
- search: 'Column Search',
- visible: 'Column Visibility'
- },
- length: 'Page Length',
- name: 'Name:',
- order: 'Sorting',
- paging: 'Paging',
- scroller: 'Scroll Position',
- search: 'Search',
- searchBuilder: 'SearchBuilder',
- searchPanes: 'SearchPanes',
- select: 'Select',
- title: 'Create New State',
- toggleLabel: 'Includes:'
- },
- duplicateError: 'A state with this name already exists.',
- emptyError: 'Name cannot be empty.',
- emptyStates: 'No saved states',
- removeConfirm: 'Are you sure you want to remove %s?',
- removeError: 'Failed to remove state.',
- removeJoiner: ' and ',
- removeSubmit: 'Remove',
- removeTitle: 'Remove State',
- renameButton: 'Rename',
- renameLabel: 'New Name for %s:',
- renameTitle: 'Rename State'
- },
- modalCloseButton: true,
- preDefined: {},
- remove: true,
- rename: true,
- save: true,
- saveState: {
- colReorder: true,
- columns: {
- search: true,
- visible: true
- },
- length: true,
- order: true,
- paging: true,
- scroller: true,
- search: true,
- searchBuilder: true,
- searchPanes: true,
- select: true
- },
- splitSecondaries: [
- 'updateState',
- 'renameState',
- 'removeState'
- ],
- toggle: {
- colReorder: false,
- columns: {
- search: false,
- visible: false
- },
- length: false,
- order: false,
- paging: false,
- scroller: false,
- search: false,
- searchBuilder: false,
- searchPanes: false,
- select: false
- }
- };
- return StateRestoreCollection;
- }());
-
- /*! StateRestore 1.2.2
- * © SpryMedia Ltd - datatables.net/license
- */
- setJQuery$1($);
- setJQuery($);
- $.fn.dataTable.StateRestore = StateRestore;
- $.fn.DataTable.StateRestore = StateRestore;
- $.fn.dataTable.StateRestoreCollection = StateRestoreCollection;
- $.fn.DataTable.StateRestoreCollection = StateRestoreCollection;
- var apiRegister = DataTable.Api.register;
- apiRegister('stateRestore()', function () {
- return this;
- });
- apiRegister('stateRestore.state()', function (identifier) {
- var ctx = this.context[0];
- if (!ctx._stateRestore) {
- var api = DataTable.Api(ctx);
- var src = new DataTable.StateRestoreCollection(api, {});
- _stateRegen(api, src);
- }
- this[0] = ctx._stateRestore.getState(identifier);
- return this;
- });
- apiRegister('stateRestore.state.add()', function (identifier, options) {
- var ctx = this.context[0];
- if (!ctx._stateRestore) {
- var api = DataTable.Api(ctx);
- var src = new DataTable.StateRestoreCollection(api, {});
- _stateRegen(api, src);
- }
- if (!ctx._stateRestore.c.create) {
- return this;
- }
- if (ctx._stateRestore.addState) {
- var states = ctx._stateRestore.s.states;
- var ids = [];
- for (var _i = 0, states_1 = states; _i < states_1.length; _i++) {
- var intState = states_1[_i];
- ids.push(intState.s.identifier);
- }
- ctx._stateRestore.addState(identifier, ids, options);
- return this;
- }
- });
- apiRegister('stateRestore.states()', function (ids) {
- var ctx = this.context[0];
- if (!ctx._stateRestore) {
- var api = DataTable.Api(ctx);
- var src = new DataTable.StateRestoreCollection(api, {});
- _stateRegen(api, src);
- }
- this.length = 0;
- this.push.apply(this, ctx._stateRestore.getStates(ids));
- return this;
- });
- apiRegister('stateRestore.state().save()', function () {
- var ctx = this[0];
- // Check if saving states is allowed
- if (ctx.c.save) {
- ctx.save();
- }
- return this;
- });
- apiRegister('stateRestore.state().rename()', function (newIdentifier) {
- var ctx = this.context[0];
- var state = this[0];
- // Check if renaming states is allowed
- if (state.c.save) {
- var states = ctx._stateRestore.s.states;
- var ids = [];
- for (var _i = 0, states_2 = states; _i < states_2.length; _i++) {
- var intState = states_2[_i];
- ids.push(intState.s.identifier);
- }
- state.rename(newIdentifier, ids);
- }
- return this;
- });
- apiRegister('stateRestore.state().load()', function () {
- var ctx = this[0];
- ctx.load();
- return this;
- });
- apiRegister('stateRestore.state().remove()', function (skipModal) {
- var ctx = this[0];
- // Check if removal of states is allowed
- if (ctx.c.remove) {
- ctx.remove(skipModal);
- }
- return this;
- });
- apiRegister('stateRestore.states().remove()', function (skipModal) {
- var _this = this;
- var removeAllCallBack = function (skipModalIn) {
- var success = true;
- var that = _this.toArray();
- while (that.length > 0) {
- var set = that[0];
- if (set !== undefined && set.c.remove) {
- var tempSuccess = set.remove(skipModalIn);
- if (tempSuccess !== true) {
- success = tempSuccess;
- }
- else {
- that.splice(0, 1);
- }
- }
- else {
- break;
- }
- }
- return success;
- };
- if (this.context[0]._stateRestore && this.context[0]._stateRestore.c.remove) {
- if (skipModal) {
- removeAllCallBack(skipModal);
- }
- else {
- this.context[0]._stateRestore.removeAll(removeAllCallBack);
- }
- }
- return this;
- });
- apiRegister('stateRestore.activeStates()', function () {
- var ctx = this.context[0];
- this.length = 0;
- if (!ctx._stateRestore) {
- var api = DataTable.Api(ctx);
- var src = new DataTable.StateRestoreCollection(api, {});
- _stateRegen(api, src);
- }
- if (ctx._stateRestore) {
- this.push.apply(this, ctx._stateRestore.findActive());
- }
- return this;
- });
- DataTable.ext.buttons.stateRestore = {
- action: function (e, dt, node, config) {
- config._stateRestore.load();
- node.blur();
- },
- config: {
- split: ['updateState', 'renameState', 'removeState']
- },
- text: function (dt) {
- return dt.i18n('buttons.stateRestore', 'State %d', dt.stateRestore.states()[0].length + 1);
- }
- };
- DataTable.ext.buttons.updateState = {
- action: function (e, dt, node, config) {
- $('div.dt-button-background').click();
- config.parent._stateRestore.save();
- },
- text: function (dt) {
- return dt.i18n('buttons.updateState', 'Update');
- }
- };
- DataTable.ext.buttons.savedStates = {
- buttons: [],
- extend: 'collection',
- init: function (dt, node, config) {
- dt.on('stateRestore-change', function () {
- dt.button(node).text(dt.i18n('buttons.savedStates', 'Saved States', dt.stateRestore.states().length));
- });
- if (dt.settings()[0]._stateRestore === undefined) {
- _buttonInit(dt, config);
- }
- },
- name: 'SaveStateRestore',
- text: function (dt) {
- return dt.i18n('buttons.savedStates', 'Saved States', 0);
- }
- };
- DataTable.ext.buttons.savedStatesCreate = {
- buttons: [],
- extend: 'collection',
- init: function (dt, node, config) {
- dt.on('stateRestore-change', function () {
- dt.button(node).text(dt.i18n('buttons.savedStates', 'Saved States', dt.stateRestore.states().length));
- });
- if (dt.settings()[0]._stateRestore === undefined) {
- if (config.config === undefined) {
- config.config = {};
- }
- config.config._createInSaved = true;
- _buttonInit(dt, config);
- }
- },
- name: 'SaveStateRestore',
- text: function (dt) {
- return dt.i18n('buttons.savedStates', 'Saved States', 0);
- }
- };
- DataTable.ext.buttons.createState = {
- action: function (e, dt, node, config) {
- e.stopPropagation();
- var stateRestoreOpts = dt.settings()[0]._stateRestore.c;
- var language = dt.settings()[0].oLanguage;
- // If creation/saving is not allowed then return
- if (!stateRestoreOpts.create || !stateRestoreOpts.save) {
- return;
- }
- var prevStates = dt.stateRestore.states().toArray();
- // Create a replacement regex based on the i18n values
- var defaultString = language.buttons !== undefined && language.buttons.stateRestore !== undefined ?
- language.buttons.stateRestore :
- 'State ';
- var replaceRegex;
- if (defaultString.indexOf('%d') === defaultString.length - 3) {
- replaceRegex = new RegExp(defaultString.replace(/%d/g, ''));
- }
- else {
- var splitString = defaultString.split('%d');
- replaceRegex = [];
- for (var _i = 0, splitString_1 = splitString; _i < splitString_1.length; _i++) {
- var split = splitString_1[_i];
- replaceRegex.push(new RegExp(split));
- }
- }
- var getId = function (identifier) {
- var id;
- if (Array.isArray(replaceRegex)) {
- id = identifier;
- for (var _i = 0, replaceRegex_1 = replaceRegex; _i < replaceRegex_1.length; _i++) {
- var reg = replaceRegex_1[_i];
- id = id.replace(reg, '');
- }
- }
- else {
- id = identifier.replace(replaceRegex, '');
- }
- // If the id after replacement is not a number, or the length is the same as before,
- // it has been customised so return 0
- if (isNaN(+id) || id.length === identifier) {
- return 0;
- }
- // Otherwise return the number that has been assigned previously
- else {
- return +id;
- }
- };
- // Extract the numbers from the identifiers that use the standard naming convention
- var identifiers = prevStates
- .map(function (state) { return getId(state.s.identifier); })
- .sort(function (a, b) { return +a < +b ?
- 1 :
- +a > +b ?
- -1 :
- 0; });
- var lastNumber = identifiers[0];
- dt.stateRestore.state.add(dt.i18n('buttons.stateRestore', 'State %d', lastNumber !== undefined ? lastNumber + 1 : 1), config.config);
- var states = dt.stateRestore.states().sort(function (a, b) {
- var aId = +getId(a.s.identifier);
- var bId = +getId(b.s.identifier);
- return aId > bId ?
- 1 :
- aId < bId ?
- -1 :
- 0;
- });
- var button = dt.button('SaveStateRestore:name');
- var stateButtons = button[0] !== undefined && button[0].inst.c.buttons[0].buttons !== undefined ?
- button[0].inst.c.buttons[0].buttons :
- [];
- // remove any states from the previous rebuild - if they are still there they will be added later
- for (var i = 0; i < stateButtons.length; i++) {
- if (stateButtons[i].extend === 'stateRestore') {
- stateButtons.splice(i, 1);
- i--;
- }
- }
- if (stateRestoreOpts._createInSaved) {
- stateButtons.push('createState');
- stateButtons.push('');
- }
- for (var _a = 0, states_3 = states; _a < states_3.length; _a++) {
- var state = states_3[_a];
- var split = Object.assign([], stateRestoreOpts.splitSecondaries);
- if (split.includes('updateState') && !stateRestoreOpts.save) {
- split.splice(split.indexOf('updateState'), 1);
- }
- if (split.includes('renameState') &&
- (!stateRestoreOpts.save || !stateRestoreOpts.rename)) {
- split.splice(split.indexOf('renameState'), 1);
- }
- if (split.includes('removeState') && !stateRestoreOpts.remove) {
- split.splice(split.indexOf('removeState'), 1);
- }
- if (split.length > 0 &&
- !split.includes('' + state.s.identifier + '
')) {
- split.unshift('' + state.s.identifier + '
');
- }
- stateButtons.push({
- _stateRestore: state,
- attr: {
- title: state.s.identifier
- },
- config: {
- split: split
- },
- extend: 'stateRestore',
- text: state.s.identifier
- });
- }
- dt.button('SaveStateRestore:name').collectionRebuild(stateButtons);
- node.blur();
- // Need to disable the removeAllStates button if there are no states and it is present
- var buttons = dt.buttons();
- for (var _b = 0, buttons_1 = buttons; _b < buttons_1.length; _b++) {
- var butt = buttons_1[_b];
- if ($(butt.node).hasClass('dtsr-removeAllStates')) {
- if (states.length === 0) {
- dt.button(butt.node).disable();
- }
- else {
- dt.button(butt.node).enable();
- }
- }
- }
- },
- init: function (dt, node, config) {
- if (dt.settings()[0]._stateRestore === undefined && dt.button('SaveStateRestore:name').length > 1) {
- _buttonInit(dt, config);
- }
- },
- text: function (dt) {
- return dt.i18n('buttons.createState', 'Create State');
- }
- };
- DataTable.ext.buttons.removeState = {
- action: function (e, dt, node, config) {
- config.parent._stateRestore.remove();
- node.blur();
- },
- text: function (dt) {
- return dt.i18n('buttons.removeState', 'Remove');
- }
- };
- DataTable.ext.buttons.removeAllStates = {
- action: function (e, dt, node) {
- dt.stateRestore.states().remove(true);
- node.blur();
- },
- className: 'dt-button dtsr-removeAllStates',
- init: function (dt, node) {
- if (!dt.settings()[0]._stateRestore || dt.stateRestore.states().length === 0) {
- $(node).addClass('disabled');
- }
- },
- text: function (dt) {
- return dt.i18n('buttons.removeAllStates', 'Remove All States');
- }
- };
- DataTable.ext.buttons.renameState = {
- action: function (e, dt, node, config) {
- var states = dt.settings()[0]._stateRestore.s.states;
- var ids = [];
- for (var _i = 0, states_4 = states; _i < states_4.length; _i++) {
- var state = states_4[_i];
- ids.push(state.s.identifier);
- }
- config.parent._stateRestore.rename(undefined, ids);
- node.blur();
- },
- text: function (dt) {
- return dt.i18n('buttons.renameState', 'Rename');
- }
- };
- function _init(settings, options) {
- if (options === void 0) { options = null; }
- var api = new DataTable.Api(settings);
- var opts = options
- ? options
- : api.init().stateRestore || DataTable.defaults.stateRestore;
- var stateRestore = new StateRestoreCollection(api, opts);
- _stateRegen(api, stateRestore);
- return stateRestore;
- }
- /**
- * Initialisation function if initialising using a button
- *
- * @param dt The datatables instance
- * @param config the config for the button
- */
- function _buttonInit(dt, config) {
- var SRC = new DataTable.StateRestoreCollection(dt, config.config);
- _stateRegen(dt, SRC);
- }
- function _stateRegen(dt, src) {
- var states = dt.stateRestore.states();
- var button = dt.button('SaveStateRestore:name');
- var stateButtons = [];
- // Need to get the original configuration object, so we can rebuild it
- // It might be nested, so need to traverse down the tree
- if (button[0]) {
- var idxs = button.index().split('-');
- stateButtons = button[0].inst.c.buttons;
- for (var i = 0; i < idxs.length; i++) {
- if (stateButtons[idxs[i]].buttons) {
- stateButtons = stateButtons[idxs[i]].buttons;
- }
- else {
- stateButtons = [];
- break;
- }
- }
- }
- var stateRestoreOpts = dt.settings()[0]._stateRestore.c;
- // remove any states from the previous rebuild - if they are still there they will be added later
- for (var i = 0; i < stateButtons.length; i++) {
- if (stateButtons[i].extend === 'stateRestore') {
- stateButtons.splice(i, 1);
- i--;
- }
- }
- if (stateRestoreOpts._createInSaved) {
- stateButtons.push('createState');
- }
- if (states === undefined || states.length === 0) {
- stateButtons.push('' +
- dt.i18n('stateRestore.emptyStates', src.c.i18n.emptyStates) +
- '');
- }
- else {
- for (var _i = 0, states_5 = states; _i < states_5.length; _i++) {
- var state = states_5[_i];
- var split = Object.assign([], stateRestoreOpts.splitSecondaries);
- if (split.includes('updateState') && !stateRestoreOpts.save) {
- split.splice(split.indexOf('updateState'), 1);
- }
- if (split.includes('renameState') &&
- (!stateRestoreOpts.save || !stateRestoreOpts.rename)) {
- split.splice(split.indexOf('renameState'), 1);
- }
- if (split.includes('removeState') && !stateRestoreOpts.remove) {
- split.splice(split.indexOf('removeState'), 1);
- }
- if (split.length > 0 &&
- !split.includes('' + state.s.identifier + '
')) {
- split.unshift('' + state.s.identifier + '
');
- }
- stateButtons.push({
- _stateRestore: state,
- attr: {
- title: state.s.identifier
- },
- config: {
- split: split
- },
- extend: 'stateRestore',
- text: state.s.identifier
- });
- }
- }
- dt.button('SaveStateRestore:name').collectionRebuild(stateButtons);
- // Need to disable the removeAllStates button if there are no states and it is present
- var buttons = dt.buttons();
- for (var _a = 0, buttons_2 = buttons; _a < buttons_2.length; _a++) {
- var butt = buttons_2[_a];
- if ($(butt.node).hasClass('dtsr-removeAllStates')) {
- if (states.length === 0) {
- dt.button(butt.node).disable();
- }
- else {
- dt.button(butt.node).enable();
- }
- }
- }
- }
- // Attach a listener to the document which listens for DataTables initialisation
- // events so we can automatically initialise
- $(document).on('preInit.dt.dtsr', function (e, settings) {
- if (e.namespace !== 'dt') {
- return;
- }
- if (settings.oInit.stateRestore ||
- DataTable.defaults.stateRestore) {
- if (!settings._stateRestore) {
- _init(settings, null);
- }
- }
- });
-
-})();
-
-
-return DataTable;
-}));
diff --git a/src/main/resources/static/assets/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.min.js b/src/main/resources/static/assets/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.min.js
deleted file mode 100644
index 93ed4e6..0000000
--- a/src/main/resources/static/assets/DataTables/StateRestore-1.2.2/js/dataTables.stateRestore.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! StateRestore 1.2.2
- * © SpryMedia Ltd - datatables.net/license
- */
-!function(s){var o,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(e){return s(e,window,document)}):"object"==typeof exports?(o=require("jquery"),a=function(e,t){t.fn.dataTable||require("datatables.net")(e,t)},"undefined"!=typeof window?module.exports=function(e,t){return e=e||window,t=t||o(e),a(e,t),s(t,0,e.document)}:(a(window,o),module.exports=s(o,window,window.document))):s(jQuery,window,document)}(function(R,e,g,k){"use strict";var u,m,f,i,p,s,t,c=R.fn.dataTable;function n(e,t,s,o,a,i){if(void 0===o&&(o=k),void 0===a&&(a=!1),void 0===i&&(i=function(){return null}),!m||!m.versionCheck||!m.versionCheck("1.10.0"))throw new Error("StateRestore requires DataTables 1.10 or newer");if(!m.Buttons)throw new Error("StateRestore requires Buttons");e=new m.Api(e);this.classes=u.extend(!0,{},n.classes),this.c=u.extend(!0,{},n.defaults,t),this.s={dt:e,identifier:s,isPreDefined:a,savedState:null,tableId:o&&o.stateRestore?o.stateRestore.tableId:k},this.dom={background:u(''),closeButton:u('x
'),confirmation:u(''),confirmationButton:u('");else for(var c=0,l=s;c"+d.s.identifier+"")&&h.unshift(""+d.s.identifier+"
"),a.push({_stateRestore:d,attr:{title:d.s.identifier},config:{split:h},extend:"stateRestore",text:d.s.identifier})}e.button("SaveStateRestore:name").collectionRebuild(a);for(var u=0,m=e.buttons();u'+a.s.dt.i18n("stateRestore.removeConfirm",a.c.i18n.removeConfirm).replace(/%s/g,a.s.identifier)+" "),a.dom.confirmation.trigger("dtsr-rename"),a.dom.background.click(),a.dom.confirmation.remove(),u(g).unbind("keyup",function(e){return a._keyupFunction(e)}),a.dom.confirmationButton.off("click")}e={action:"rename",stateRestore:((e={})[a.s.identifier]=s,e)};if(a.c.ajax)"string"==typeof a.c.ajax&&a.s.dt.settings()[0]._bInitComplete?u.ajax({data:e,success:t,type:"POST",url:a.c.ajax}):"function"==typeof a.c.ajax&&a.c.ajax.call(a.s.dt,e,t);else try{localStorage.removeItem("DataTables_stateRestore_"+a.s.identifier+"_"+location.pathname+(a.s.tableId?"_"+a.s.tableId:"")),t()}catch(e){return a.dom.confirmation.children("."+a.classes.modalError).remove(),a.dom.confirmation.append(a.dom.removeError),!1}return!0};if(null!==s){if(o.includes(s))throw new Error(this.s.dt.i18n("stateRestore.duplicateError",this.c.i18n.duplicateError));if(0===s.length)throw new Error(this.s.dt.i18n("stateRestore.emptyError",this.c.i18n.emptyError));this.dom.confirmation.appendTo(this.dom.dtContainer),u(this.s.dt.table().node()).trigger("dtsr-modal-inserted"),e(),this.dom.confirmation.remove()}else this.dom.renameInput.val(this.s.identifier),this.dom.renameContents.append(this.dom.renameInput),this._newModal(this.dom.renameTitle,this.s.dt.i18n("stateRestore.renameButton",this.c.i18n.renameButton),e,this.dom.renameContents)}},n.prototype.save=function(e,t,s){var o,a,i,n=this;if(void 0===s&&(s=!0),this.c.save){if(this.s.dt.state.save(),e===k)o=this.s.dt.state();else{if("object"!=typeof e)return;o=e}if(o.stateRestore?(o.stateRestore.isPreDefined=this.s.isPreDefined,o.stateRestore.state=this.s.identifier,o.stateRestore.tableId=this.s.tableId):o.stateRestore={isPreDefined:this.s.isPreDefined,state:this.s.identifier,tableId:this.s.tableId},this.s.savedState=o,this.c.saveState.order||(this.s.savedState.order=k),this.c.saveState.search||(this.s.savedState.search=k),this.c.saveState.columns&&this.s.savedState.columns)for(var r=0,c=this.s.savedState.columns.length;r