diff --git a/application/controllers/Awards.php b/application/controllers/Awards.php
index 1fb865c5..6b5364fc 100644
--- a/application/controllers/Awards.php
+++ b/application/controllers/Awards.php
@@ -70,9 +70,7 @@ class Awards extends CI_Controller {
// Render Page
$data['page_title'] = "Log View - DOK";
$data['filter'] = str_replace("(and)", ", ", $q);//implode(", ", array_keys($a));
- //$this->load->view('interface_assets/header', $data);
- $this->load->view('awards/dok/details_ajax', $data);
- //$this->load->view('interface_assets/footer');
+ $this->load->view('awards/details', $data);
}
public function dxcc () {
@@ -147,7 +145,7 @@ class Awards extends CI_Controller {
// Render Page
$data['page_title'] = "Log View - DXCC";
$data['filter'] = "country ".$country. " and ".$band;
- $this->load->view('awards/dxcc/details_ajax', $data);
+ $this->load->view('awards/details', $data);
}
public function vucc() {
@@ -187,7 +185,7 @@ class Awards extends CI_Controller {
// Render Page
$data['page_title'] = "Log View - VUCC";
$data['filter'] = "vucc " . $gridsquare . " and band ".$band;
- $this->load->view('awards/vucc/details_ajax', $data);
+ $this->load->view('awards/details', $data);
}
/*
@@ -302,7 +300,7 @@ class Awards extends CI_Controller {
// Render Page
$data['page_title'] = "Log View - DXCC";
$data['filter'] = "CQZone ".$cqzone. " and ".$band;;
- $this->load->view('awards/cq/details_ajax', $data);
+ $this->load->view('awards/details', $data);
}
public function was() {
@@ -360,7 +358,7 @@ class Awards extends CI_Controller {
// Render Page
$data['page_title'] = "Log View - WAS";
$data['filter'] = "state ".$state. " and ".$band;
- $this->load->view('awards/was/details_ajax', $data);
+ $this->load->view('awards/details', $data);
}
public function iota () {
@@ -431,6 +429,6 @@ class Awards extends CI_Controller {
// Render Page
$data['page_title'] = "Log View - IOTA";
$data['filter'] = "iota ".$iota. " and ".$band;
- $this->load->view('awards/iota/details_ajax', $data);
+ $this->load->view('awards/details', $data);
}
}
diff --git a/application/views/awards/cq/details_ajax.php b/application/views/awards/cq/details_ajax.php
deleted file mode 100644
index e1c2be62..00000000
--- a/application/views/awards/cq/details_ajax.php
+++ /dev/null
@@ -1,3 +0,0 @@
-
Filtering on
-
-load->view('view_log/partial/log_ajax') ?>
diff --git a/application/views/awards/cq/index.php b/application/views/awards/cq/index.php
index 04d356df..ed5a53b7 100644
--- a/application/views/awards/cq/index.php
+++ b/application/views/awards/cq/index.php
@@ -168,7 +168,7 @@
echo '
Summary
-
+
| ';
diff --git a/application/views/awards/dok/details_ajax.php b/application/views/awards/details.php
similarity index 100%
rename from application/views/awards/dok/details_ajax.php
rename to application/views/awards/details.php
diff --git a/application/views/awards/dxcc/details_ajax.php b/application/views/awards/dxcc/details_ajax.php
deleted file mode 100644
index 59ba1c0e..00000000
--- a/application/views/awards/dxcc/details_ajax.php
+++ /dev/null
@@ -1,3 +0,0 @@
- Filtering on
-
- load->view('view_log/partial/log_ajax') ?>
diff --git a/application/views/awards/dxcc/index.php b/application/views/awards/dxcc/index.php
index 944032fb..cf272f9e 100644
--- a/application/views/awards/dxcc/index.php
+++ b/application/views/awards/dxcc/index.php
@@ -138,7 +138,7 @@
echo '
Summary
-
+
| ';
diff --git a/application/views/awards/iota/details_ajax.php b/application/views/awards/iota/details_ajax.php
deleted file mode 100644
index 13783720..00000000
--- a/application/views/awards/iota/details_ajax.php
+++ /dev/null
@@ -1,3 +0,0 @@
-Filtering on
-
-load->view('view_log/partial/log_ajax') ?>
\ No newline at end of file
diff --git a/application/views/awards/iota/index.php b/application/views/awards/iota/index.php
index 67102832..0a77fdac 100644
--- a/application/views/awards/iota/index.php
+++ b/application/views/awards/iota/index.php
@@ -129,7 +129,7 @@
echo '
Summary
-
+
| ';
diff --git a/application/views/awards/vucc/details_ajax.php b/application/views/awards/vucc/details_ajax.php
deleted file mode 100644
index e1c2be62..00000000
--- a/application/views/awards/vucc/details_ajax.php
+++ /dev/null
@@ -1,3 +0,0 @@
-Filtering on
-
-load->view('view_log/partial/log_ajax') ?>
diff --git a/application/views/awards/was/details_ajax.php b/application/views/awards/was/details_ajax.php
deleted file mode 100644
index 59ba1c0e..00000000
--- a/application/views/awards/was/details_ajax.php
+++ /dev/null
@@ -1,3 +0,0 @@
- Filtering on
-
- load->view('view_log/partial/log_ajax') ?>
diff --git a/application/views/awards/was/index.php b/application/views/awards/was/index.php
index 5131b6d4..fb0e9da0 100644
--- a/application/views/awards/was/index.php
+++ b/application/views/awards/was/index.php
@@ -93,7 +93,7 @@
Summary
-
+
| ';
diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php
index 24a8b824..d0af4c4e 100644
--- a/application/views/interface_assets/footer.php
+++ b/application/views/interface_assets/footer.php
@@ -32,6 +32,8 @@
+
+
uri->segment(1) == "search" && $this->uri->segment(2) == "filter") { ?>
@@ -1466,9 +1468,31 @@ $(document).ready(function(){
"scrollY": "400px",
"scrollCollapse": true,
"paging": false,
- "scrollX": true
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
});
+ $('.tablesummary').DataTable({
+ info: false,
+ searching: false,
+ ordering: false,
+ "paging": false,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
+ });
+
+ // using this to change color of csv-button if dark mode is chosen
+ var background = $('body').css( "background-color");
+
+ if (background != ('rgb(255, 255, 255)')) {
+ $(".buttons-csv").css("color", "white");
+ }
+
function displayDxccContacts(country, band) {
var baseURL = "";
$.ajax({
@@ -1507,9 +1531,20 @@ $(document).ready(function(){
"scrollY": "400px",
"scrollCollapse": true,
"paging": false,
- "scrollX": true
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
});
+ // using this to change color of csv-button if dark mode is chosen
+ var background = $('body').css( "background-color");
+
+ if (background != ('rgb(255, 255, 255)')) {
+ $(".buttons-csv").css("color", "white");
+ }
+
function displayVuccContacts(gridsquare, band) {
var baseURL= "";
$.ajax({
@@ -1579,9 +1614,31 @@ $(document).ready(function(){
"scrollY": "400px",
"scrollCollapse": true,
"paging": false,
- "scrollX": true
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
});
+ $('.tablesummary').DataTable({
+ info: false,
+ searching: false,
+ ordering: false,
+ "paging": false,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
+ });
+
+ // using this to change color of csv-button if dark mode is chosen
+ var background = $('body').css( "background-color");
+
+ if (background != ('rgb(255, 255, 255)')) {
+ $(".buttons-csv").css("color", "white");
+ }
+
function displayIotaContacts(iota, band) {
var baseURL= "";
$.ajax({
@@ -1620,9 +1677,31 @@ $(document).ready(function(){
"scrollY": "400px",
"scrollCollapse": true,
"paging": false,
- "scrollX": true
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
});
+ $('.tablesummary').DataTable({
+ info: false,
+ searching: false,
+ ordering: false,
+ "paging": false,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
+ });
+
+ // using this to change color of csv-button if dark mode is chosen
+ var background = $('body').css( "background-color");
+
+ if (background != ('rgb(255, 255, 255)')) {
+ $(".buttons-csv").css("color", "white");
+ }
+
function displayCqContacts(cqzone, band) {
var baseURL= "";
$.ajax({
@@ -1660,9 +1739,31 @@ $(document).ready(function(){
"scrollY": "400px",
"scrollCollapse": true,
"paging": false,
- "scrollX": true
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
});
+ $('.tablesummary').DataTable({
+ info: false,
+ searching: false,
+ ordering: false,
+ "paging": false,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
+ });
+
+ // using this to change color of csv-button if dark mode is chosen
+ var background = $('body').css( "background-color");
+
+ if (background != ('rgb(255, 255, 255)')) {
+ $(".buttons-csv").css("color", "white");
+ }
+
function displayWasContacts(was, band) {
var baseURL= "";
$.ajax({
@@ -1788,9 +1889,20 @@ $(document).ready(function(){
"scrollY": "500px",
"scrollCollapse": true,
"paging": false,
- "scrollX": true
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
});
+ // using this to change color of csv-button if dark mode is chosen
+ var background = $('body').css( "background-color");
+
+ if (background != ('rgb(255, 255, 255)')) {
+ $(".buttons-csv").css("color", "white");
+ }
+
function displayTimelineContacts(adif, band) {
var baseURL= "";
$.ajax({
@@ -2044,8 +2156,19 @@ $(document).ready(function(){
"scrollY": "400px",
"scrollCollapse": true,
"paging": false,
- "scrollX": true
+ "scrollX": true,
+ dom: 'Bfrtip',
+ buttons: [
+ 'csv'
+ ]
});
+
+ // using this to change color of csv-button if dark mode is chosen
+ var background = $('body').css( "background-color");
+
+ if (background != ('rgb(255, 255, 255)')) {
+ $(".buttons-csv").css("color", "white");
+ }
}
});
}
diff --git a/application/views/interface_assets/header.php b/application/views/interface_assets/header.php
index 58f74117..a5852708 100644
--- a/application/views/interface_assets/header.php
+++ b/application/views/interface_assets/header.php
@@ -34,6 +34,7 @@
+
diff --git a/assets/css/buttons.dataTables.min.css b/assets/css/buttons.dataTables.min.css
new file mode 100644
index 00000000..cc1fcd11
--- /dev/null
+++ b/assets/css/buttons.dataTables.min.css
@@ -0,0 +1 @@
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-button-collection-title{text-align:center;padding:0.3em 0 0.5em;font-size:0.9em}div.dt-button-collection-title:empty{display:none}button.dt-button,div.dt-button,a.dt-button,input.dt-button{position:relative;display:inline-block;box-sizing:border-box;margin-right:0.333em;margin-bottom:0.333em;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);background:-webkit-linear-gradient(top, rgba(230,230,230,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-moz-linear-gradient(top, rgba(230,230,230,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-ms-linear-gradient(top, rgba(230,230,230,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-o-linear-gradient(top, rgba(230,230,230,0.1) 0%, rgba(0,0,0,0.1) 100%);background:linear-gradient(to bottom, rgba(230,230,230,0.1) 0%, rgba(0,0,0,0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='rgba(230, 230, 230, 0.1)', EndColorStr='rgba(0, 0, 0, 0.1)');-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;outline:none;text-overflow:ellipsis}button.dt-button.disabled,div.dt-button.disabled,a.dt-button.disabled,input.dt-button.disabled{cursor:default;opacity:0.4}button.dt-button:active:not(.disabled),button.dt-button.active:not(.disabled),div.dt-button:active:not(.disabled),div.dt-button.active:not(.disabled),a.dt-button:active:not(.disabled),a.dt-button.active:not(.disabled),input.dt-button:active:not(.disabled),input.dt-button.active:not(.disabled){background-color:rgba(0,0,0,0.1);background:-webkit-linear-gradient(top, rgba(179,179,179,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-moz-linear-gradient(top, rgba(179,179,179,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-ms-linear-gradient(top, rgba(179,179,179,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-o-linear-gradient(top, rgba(179,179,179,0.1) 0%, rgba(0,0,0,0.1) 100%);background:linear-gradient(to bottom, rgba(179,179,179,0.1) 0%, rgba(0,0,0,0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='rgba(179, 179, 179, 0.1)', EndColorStr='rgba(0, 0, 0, 0.1)');box-shadow:inset 1px 1px 3px #999999}button.dt-button:active:not(.disabled):hover:not(.disabled),button.dt-button.active:not(.disabled):hover:not(.disabled),div.dt-button:active:not(.disabled):hover:not(.disabled),div.dt-button.active:not(.disabled):hover:not(.disabled),a.dt-button:active:not(.disabled):hover:not(.disabled),a.dt-button.active:not(.disabled):hover:not(.disabled),input.dt-button:active:not(.disabled):hover:not(.disabled),input.dt-button.active:not(.disabled):hover:not(.disabled){box-shadow:inset 1px 1px 3px #999999;background-color:rgba(0,0,0,0.1);background:-webkit-linear-gradient(top, rgba(128,128,128,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-moz-linear-gradient(top, rgba(128,128,128,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-ms-linear-gradient(top, rgba(128,128,128,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-o-linear-gradient(top, rgba(128,128,128,0.1) 0%, rgba(0,0,0,0.1) 100%);background:linear-gradient(to bottom, rgba(128,128,128,0.1) 0%, rgba(0,0,0,0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='rgba(128, 128, 128, 0.1)', EndColorStr='rgba(0, 0, 0, 0.1)')}button.dt-button:hover,div.dt-button:hover,a.dt-button:hover,input.dt-button:hover{text-decoration:none}button.dt-button:hover:not(.disabled),div.dt-button:hover:not(.disabled),a.dt-button:hover:not(.disabled),input.dt-button:hover:not(.disabled){border:1px solid #666;background-color:rgba(0,0,0,0.1);background:-webkit-linear-gradient(top, rgba(153,153,153,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-moz-linear-gradient(top, rgba(153,153,153,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-ms-linear-gradient(top, rgba(153,153,153,0.1) 0%, rgba(0,0,0,0.1) 100%);background:-o-linear-gradient(top, rgba(153,153,153,0.1) 0%, rgba(0,0,0,0.1) 100%);background:linear-gradient(to bottom, rgba(153,153,153,0.1) 0%, rgba(0,0,0,0.1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='rgba(153, 153, 153, 0.1)', EndColorStr='rgba(0, 0, 0, 0.1)')}button.dt-button:focus:not(.disabled),div.dt-button:focus:not(.disabled),a.dt-button:focus:not(.disabled),input.dt-button:focus:not(.disabled){border:1px solid #426c9e;text-shadow:0 1px 0 #c4def1;outline:none;background-color:#79ace9;background:-webkit-linear-gradient(top, #d1e2f7 0%, #79ace9 100%);background:-moz-linear-gradient(top, #d1e2f7 0%, #79ace9 100%);background:-ms-linear-gradient(top, #d1e2f7 0%, #79ace9 100%);background:-o-linear-gradient(top, #d1e2f7 0%, #79ace9 100%);background:linear-gradient(to bottom, #d1e2f7 0%, #79ace9 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#d1e2f7', EndColorStr='#79ace9')}.dt-button embed{outline:none}div.dt-buttons{position:relative;float:left}div.dt-buttons.buttons-right{float:right}div.dataTables_layout_cell div.dt-buttons{float:none}div.dataTables_layout_cell div.dt-buttons.buttons-right{float:none}div.dt-button-collection{position:absolute;top:0;left:0;width:150px;margin-top:3px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.4);background-color:white;overflow:hidden;z-index:2002;border-radius:5px;box-shadow:3px 3px 5px rgba(0,0,0,0.3);box-sizing:border-box}div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button,div.dt-button-collection a.dt-button{position:relative;left:0;right:0;width:100%;display:block;float:none;margin-bottom:4px;margin-right:0}div.dt-button-collection button.dt-button:active:not(.disabled),div.dt-button-collection button.dt-button.active:not(.disabled),div.dt-button-collection div.dt-button:active:not(.disabled),div.dt-button-collection div.dt-button.active:not(.disabled),div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled){background-color:#dadada;background:-webkit-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background:-moz-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background:-ms-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background:-o-linear-gradient(top, #f0f0f0 0%, #dadada 100%);background:linear-gradient(to bottom, #f0f0f0 0%, #dadada 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f0f0f0', EndColorStr='#dadada');box-shadow:inset 1px 1px 3px #666}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-200px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>:last-child{display:block !important;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection>:last-child>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:400px}div.dt-button-collection.two-column>:last-child{padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px}div.dt-button-collection.three-column>:last-child{padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px}div.dt-button-collection.four-column>:last-child{padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);background:-ms-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-moz-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-o-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:-webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0,0,0,0.3)), color-stop(1, rgba(0,0,0,0.7)));background:-webkit-radial-gradient(center, ellipse farthest-corner, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);background:radial-gradient(ellipse farthest-corner at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);z-index:2001}@media screen and (max-width: 640px){div.dt-buttons{float:none !important;text-align:center}}button.dt-button.processing,div.dt-button.processing,a.dt-button.processing{color:rgba(0,0,0,0.2)}button.dt-button.processing:after,div.dt-button.processing:after,a.dt-button.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
diff --git a/assets/js/buttons.html5.min.js b/assets/js/buttons.html5.min.js
new file mode 100644
index 00000000..f1e20235
--- /dev/null
+++ b/assets/js/buttons.html5.min.js
@@ -0,0 +1,36 @@
+/*!
+ HTML5 export buttons for Buttons and DataTables.
+ 2016 SpryMedia Ltd - datatables.net/license
+
+ FileSaver.js (1.3.3) - MIT license
+ Copyright © 2016 Eli Grey - http://eligrey.com
+*/
+(function(n){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(u){return n(u,window,document)}):"object"===typeof exports?module.exports=function(u,x,E,F){u||(u=window);x&&x.fn.dataTable||(x=require("datatables.net")(u,x).$);x.fn.dataTable.Buttons||require("datatables.net-buttons")(u,x);return n(x,u,u.document,E,F)}:n(jQuery,window,document)})(function(n,u,x,E,F,B){function I(a){for(var c="";0<=a;)c=String.fromCharCode(a%26+65)+c,a=Math.floor(a/
+26)-1;return c}function O(a,c){J===B&&(J=-1===M.serializeToString((new u.DOMParser).parseFromString(P["xl/worksheets/sheet1.xml"],"text/xml")).indexOf("xmlns:r"));n.each(c,function(d,b){if(n.isPlainObject(b))d=a.folder(d),O(d,b);else{if(J){var m=b.childNodes[0],e,f=[];for(e=m.attributes.length-1;0<=e;e--){var g=m.attributes[e].nodeName;var p=m.attributes[e].nodeValue;-1!==g.indexOf(":")&&(f.push({name:g,value:p}),m.removeAttribute(g))}e=0;for(g=f.length;e'+b),b=b.replace(/_dt_b_namespace_token_/g,":"),b=b.replace(/xmlns:NS[\d]+="" NS[\d]+:/g,""));b=b.replace(/<([^<>]*?) xmlns=""([^<>]*?)>/g,"<$1 $2>");a.file(d,b)}})}function y(a,c,d){var b=a.createElement(c);d&&(d.attr&&n(b).attr(d.attr),d.children&&n.each(d.children,function(m,e){b.appendChild(e)}),null!==d.text&&d.text!==
+B&&b.appendChild(a.createTextNode(d.text)));return b}function V(a,c){var d=a.header[c].length;a.footer&&a.footer[c].length>d&&(d=a.footer[c].length);for(var b=0,m=a.body.length;bd&&(d=e);if(401*a[1]?!0:!1};try{var M=new XMLSerializer,J}catch(a){}var P={"_rels/.rels":'',
+"xl/_rels/workbook.xml.rels":'',"[Content_Types].xml":'',
+"xl/workbook.xml":'',
+"xl/worksheets/sheet1.xml":'',"xl/styles.xml":''},
+U=[{match:/^\-?\d+\.\d%$/,style:60,fmt:function(a){return a/100}},{match:/^\-?\d+\.?\d*%$/,style:56,fmt:function(a){return a/100}},{match:/^\-?\$[\d,]+.?\d*$/,style:57},{match:/^\-?£[\d,]+.?\d*$/,style:58},{match:/^\-?€[\d,]+.?\d*$/,style:59},{match:/^\-?\d+$/,style:65},{match:/^\-?\d+\.\d{2}$/,style:66},{match:/^\([\d,]+\)$/,style:61,fmt:function(a){return-1*a.replace(/[\(\)]/g,"")}},{match:/^\([\d,]+\.\d{2}\)$/,style:62,fmt:function(a){return-1*a.replace(/[\(\)]/g,"")}},{match:/^\-?[\d,]+$/,style:63},
+{match:/^\-?[\d,]+\.\d{2}$/,style:64},{match:/^[\d]{4}\-[\d]{2}\-[\d]{2}$/,style:67,fmt:function(a){return Math.round(25569+Date.parse(a)/864E5)}}];D.ext.buttons.copyHtml5={className:"buttons-copy buttons-html5",text:function(a){return a.i18n("buttons.copy","Copy")},action:function(a,c,d,b){this.processing(!0);var m=this;a=S(c,b);var e=c.buttons.exportInfo(b),f=R(b),g=a.str;d=n("").css({height:1,width:1,overflow:"hidden",position:"fixed",top:0,left:0});e.title&&(g=e.title+f+f+g);e.messageTop&&
+(g=e.messageTop+f+f+g);e.messageBottom&&(g=g+f+f+e.messageBottom);b.customize&&(g=b.customize(g,b,c));b=n("").val(g).appendTo(d);if(x.queryCommandSupported("copy")){d.appendTo(c.table().container());b[0].focus();b[0].select();try{var p=x.execCommand("copy");d.remove();if(p){c.buttons.info(c.i18n("buttons.copyTitle","Copy to clipboard"),c.i18n("buttons.copySuccess",{1:"Copied one row to clipboard",_:"Copied %d rows to clipboard"},a.rows),2E3);this.processing(!1);return}}catch(q){}}p=
+n(""+c.i18n("buttons.copyKeys","Press ctrl or ⌘ + C to copy the table data
to your system clipboard.
To cancel, click this message or press escape.")+"").append(d);c.buttons.info(c.i18n("buttons.copyTitle","Copy to clipboard"),p,0);b[0].focus();b[0].select();var t=n(p).closest(".dt-button-info"),h=function(){t.off("click.buttons-copy");n(x).off(".buttons-copy");c.buttons.info(!1)};t.on("click.buttons-copy",h);n(x).on("keydown.buttons-copy",function(q){27===
+q.keyCode&&(h(),m.processing(!1))}).on("copy.buttons-copy cut.buttons-copy",function(){h();m.processing(!1)})},exportOptions:{},fieldSeparator:"\t",fieldBoundary:"",header:!0,footer:!1,title:"*",messageTop:"*",messageBottom:"*"};D.ext.buttons.csvHtml5={bom:!1,className:"buttons-csv buttons-html5",available:function(){return u.FileReader!==B&&u.Blob},text:function(a){return a.i18n("buttons.csv","CSV")},action:function(a,c,d,b){this.processing(!0);a=S(c,b).str;d=c.buttons.exportInfo(b);var m=b.charset;
+b.customize&&(a=b.customize(a,b,c));!1!==m?(m||(m=x.characterSet||x.charset),m&&(m=";charset="+m)):m="";b.bom&&(a=""+a);K(new Blob([a],{type:"text/csv"+m}),d.filename,!0);this.processing(!1)},filename:"*",extension:".csv",exportOptions:{},fieldSeparator:",",fieldBoundary:'"',escapeChar:'"',charset:null,header:!0,footer:!1};D.ext.buttons.excelHtml5={className:"buttons-excel buttons-html5",available:function(){return u.FileReader!==B&&(E||u.JSZip)!==B&&!T()&&M},text:function(a){return a.i18n("buttons.excel",
+"Excel")},action:function(a,c,d,b){this.processing(!0);var m=this,e=0;a=function(k){return n.parseXML(P[k])};var f=a("xl/worksheets/sheet1.xml"),g=f.getElementsByTagName("sheetData")[0];a={_rels:{".rels":a("_rels/.rels")},xl:{_rels:{"workbook.xml.rels":a("xl/_rels/workbook.xml.rels")},"workbook.xml":a("xl/workbook.xml"),"styles.xml":a("xl/styles.xml"),worksheets:{"sheet1.xml":f}},"[Content_Types].xml":a("[Content_Types].xml")};var p=c.buttons.exportData(b.exportOptions),t,h,q=function(k){t=e+1;h=
+y(f,"row",{attr:{r:t}});for(var l=0,z=k.length;l").addClass(this.c.dom.container.className)};this._constructor()};e.extend(w.prototype,{action:function(a,b){a=this._nodeToButton(a);if(b===u)return a.conf.action;a.conf.action=b;return this},active:function(a,b){var c=this._nodeToButton(a);a=this.c.dom.button.active;c=e(c.node);if(b===u)return c.hasClass(a);c.toggleClass(a,b===u?!0:b);return this},add:function(a,b){var c=this.s.buttons;if("string"===typeof b){b=b.split("-");var d=this.s;c=0;for(var h=b.length-1;c"),l.conf._collection=l.collection,this._expandButton(l.buttons,l.conf.buttons,!0,d)),m.init&&m.init.call(h.button(l.node),h,e(l.node),m),f++)}}},_buildButton:function(a,b){var c=this.c.dom.button,
+d=this.c.dom.buttonLiner,h=this.c.dom.collection,f=this.s.dt,k=function(n){return"function"===typeof n?n(f,l,a):n};b&&h.button&&(c=h.button);b&&h.buttonLiner&&(d=h.buttonLiner);if(a.available&&!a.available(f,a))return!1;var g=function(n,p,v,y){y.action.call(p.button(v),n,p,v,y);e(p.table().node()).triggerHandler("buttons-action.dt",[p.button(v),p,v,y])};h=a.tag||c.tag;var m=a.clickBlurs===u?!0:a.clickBlurs,l=e("<"+h+"/>").addClass(c.className).attr("tabindex",this.s.dt.settings()[0].iTabIndex).attr("aria-controls",
+this.s.dt.table().node().id).on("click.dtb",function(n){n.preventDefault();!l.hasClass(c.disabled)&&a.action&&g(n,f,l,a);m&&l.trigger("blur")}).on("keyup.dtb",function(n){13===n.keyCode&&!l.hasClass(c.disabled)&&a.action&&g(n,f,l,a)});"a"===h.toLowerCase()&&l.attr("href","#");"button"===h.toLowerCase()&&l.attr("type","button");d.tag?(h=e("<"+d.tag+"/>").html(k(a.text)).addClass(d.className),"a"===d.tag.toLowerCase()&&h.attr("href","#"),l.append(h)):l.html(k(a.text));!1===a.enabled&&l.addClass(c.disabled);
+a.className&&l.addClass(a.className);a.titleAttr&&l.attr("title",k(a.titleAttr));a.attr&&l.attr(a.attr);a.namespace||(a.namespace=".dt-button-"+N++);d=(d=this.c.dom.buttonContainer)&&d.tag?e("<"+d.tag+"/>").addClass(d.className).append(l):l;this._addKey(a);this.c.buttonCreated&&(d=this.c.buttonCreated(a,d));return{conf:a,node:l.get(0),inserter:d,buttons:[],inCollection:b,collection:null}},_nodeToButton:function(a,b){b||(b=this.s.buttons);for(var c=0,d=b.length;c").addClass("dt-button-collection").addClass(h.collectionLayout).css("display","none");a=e(a).addClass(h.contentClassName).attr("role","menu").appendTo(c);f.attr("aria-expanded","true");f.parents("body")[0]!==z.body&&(f=z.body.lastChild);h.collectionTitle&&c.prepend(''+h.collectionTitle+"
");E(c.insertAfter(f),h.fade);d=e(b.table().container());var g=c.css("position");"dt-container"===h.align&&(f=f.parent(),c.css("width",d.width()));if("absolute"===
+g&&(c.hasClass(h.rightAlignClassName)||c.hasClass(h.leftAlignClassName)||"dt-container"===h.align)){var m=f.position();c.css({top:m.top+f.outerHeight(),left:m.left});var l=c.outerHeight(),n=d.offset().top+d.height(),p=m.top+f.outerHeight()+l;n=p-n;p=m.top-l;var v=d.offset().top,y=m.top-l-5;(n>v-p||h.dropup)&&-yg+
+r&&(g=m-(g+r),d-=q+r,r=g>d?r+d:r+g)):(r=m-g,dd?r+d:r+g));c.css("left",c.position().left+r)}else"absolute"===g?(m=f.position(),c.css({top:m.top+f.outerHeight(),left:m.left}),l=c.outerHeight(),g=f.offset().top,r=0,r=f.offset().left,B=f.outerWidth(),B=r+B,g=c.offset().left,q=a.width(),q=g+q,y=m.top-l-5,n=d.offset().top+d.height(),p=m.top+f.outerHeight()+l,n=p-n,p=m.top-l,v=d.offset().top,(n>v-p||h.dropup)&&-ye(A).height()/2&&(g=e(A).height()/2),c.css("marginTop",-1*g));h.background&&w.background(!0,h.backgroundClassName,h.fade,f);e("div.dt-button-background").on("click.dtb-collection",function(){});e("body").on("click.dtb-collection",function(C){var I=e.fn.addBack?"addBack":"andSelf",J=e(C.target).parent()[0];(!e(C.target).parents()[I]().filter(a).length&&!e(J).hasClass("dt-buttons")||e(C.target).hasClass("dt-button-background"))&&k()}).on("keyup.dtb-collection",
+function(C){27===C.keyCode&&k()});h.autoClose&&setTimeout(function(){b.on("buttons-action.b-internal",function(C,I,J,O){O[0]!==f[0]&&k()})},0);e(c).trigger("buttons-popover.dt")}});w.background=function(a,b,c,d){c===u&&(c=400);d||(d=z.body);a?E(e("").addClass(b).css("display","none").insertAfter(d),c):F(e("div."+b),c,function(){e(this).removeClass(b).remove()})};w.instanceSelector=function(a,b){if(a===u||null===a)return e.map(b,function(f){return f.inst});var c=[],d=e.map(b,function(f){return f.name}),
+h=function(f){if(Array.isArray(f))for(var k=0,g=f.length;k"+a+"":"";E(e('').html(a).append(e("")["string"===
+typeof b?"html":"append"](b)).css("display","none").appendTo("body"));c!==u&&0!==c&&(D=setTimeout(function(){d.buttons.info(!1)},c));this.on("destroy.btn-info",function(){d.buttons.info(!1)});return this});t.Api.register("buttons.exportData()",function(a){if(this.context.length)return P(new t.Api(this.context[0]),a)});t.Api.register("buttons.exportInfo()",function(a){a||(a={});var b=a;var c="*"===b.filename&&"*"!==b.title&&b.title!==u&&null!==b.title&&""!==b.title?b.title:b.filename;"function"===
+typeof c&&(c=c());c===u||null===c?c=null:(-1!==c.indexOf("*")&&(c=c.replace("*",e("head > title").text()).trim()),c=c.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,""),(b=G(b.extension))||(b=""),c+=b);b=G(a.title);b=null===b?null:-1!==b.indexOf("*")?b.replace("*",e("head > title").text()||"Exported data"):b;return{filename:c,title:b,messageTop:K(this,a.message||a.messageTop,"top"),messageBottom:K(this,a.messageBottom,"bottom")}});var G=function(a){return null===a||a===u?null:"function"===typeof a?
+a():a},K=function(a,b,c){b=G(b);if(null===b)return null;a=e("caption",a.table().container()).eq(0);return"*"===b?a.css("caption-side")!==c?null:a.length?a.text():"":b},L=e("")[0],P=function(a,b){var c=e.extend(!0,{},{rows:null,columns:"",modifier:{search:"applied",order:"applied"},orthogonal:"display",stripHtml:!0,stripNewlines:!0,decodeEntities:!0,trim:!0,format:{header:function(q){return d(q)},footer:function(q){return d(q)},body:function(q){return d(q)}},customizeData:null},b),d=function(q){if("string"!==
+typeof q)return q;q=q.replace(/