From 1b7e790ca52d0dfc1a5479613bd67c4f677a7d15 Mon Sep 17 00:00:00 2001 From: nobody Date: Sun, 2 May 2021 06:32:44 +0200 Subject: [PATCH] Added: DataTables (Bundle) v1.10.24 (#432) --- THIRD_PARTY.txt | 36 ++++ audit/audit.sh | 52 +++++ core/constants.js | 1 + core/mappings.js | 8 +- core/resources.js | 4 + modules/internal/targets.js | 4 + pages/updates/updates.html | 1 + .../1.10.24/autoFill.dataTables.min.css | 1 + .../datatables/1.10.24/buttons.colVis.min.jsm | 10 + .../1.10.24/buttons.dataTables.min.css | 1 + .../datatables/1.10.24/buttons.flash.min.jsm | 39 ++++ .../datatables/1.10.24/buttons.html5.min.jsm | 36 ++++ .../datatables/1.10.24/buttons.print.min.jsm | 9 + .../1.10.24/colReorder.dataTables.min.css | 1 + .../1.10.24/dataTables.autoFill.min.jsm | 46 +++++ .../1.10.24/dataTables.bootstrap.min.css | 1 + .../1.10.24/dataTables.bootstrap.min.jsm | 14 ++ .../1.10.24/dataTables.bootstrap4.min.css | 1 + .../1.10.24/dataTables.bootstrap4.min.jsm | 14 ++ .../1.10.24/dataTables.buttons.min.jsm | 44 +++++ .../1.10.24/dataTables.colReorder.min.jsm | 40 ++++ .../1.10.24/dataTables.dateTime.min.css | 1 + .../1.10.24/dataTables.dateTime.min.jsm | 42 ++++ .../1.10.24/dataTables.fixedColumns.min.jsm | 52 +++++ .../1.10.24/dataTables.fixedHeader.min.jsm | 35 ++++ .../1.10.24/dataTables.foundation.min.css | 1 + .../1.10.24/dataTables.foundation.min.jsm | 9 + .../1.10.24/dataTables.keyTable.min.jsm | 46 +++++ .../1.10.24/dataTables.responsive.min.jsm | 48 +++++ .../1.10.24/dataTables.rowGroup.min.jsm | 25 +++ .../1.10.24/dataTables.rowReorder.min.jsm | 32 +++ .../1.10.24/dataTables.scroller.min.jsm | 44 +++++ .../1.10.24/dataTables.searchBuilder.min.jsm | 151 ++++++++++++++ .../1.10.24/dataTables.searchPanes.min.jsm | 112 +++++++++++ .../1.10.24/dataTables.select.min.jsm | 38 ++++ .../1.10.24/dataTables.semanticui.min.css | 1 + .../1.10.24/dataTables.semanticui.min.jsm | 15 ++ .../1.10.24/fixedColumns.dataTables.min.css | 1 + .../1.10.24/fixedHeader.dataTables.min.css | 1 + .../1.10.24/jquery.dataTables.min.css | 1 + .../1.10.24/jquery.dataTables.min.jsm | 184 ++++++++++++++++++ .../1.10.24/keyTable.dataTables.min.css | 1 + .../1.10.24/responsive.dataTables.min.css | 1 + .../1.10.24/rowGroup.dataTables.min.css | 1 + .../1.10.24/rowReorder.dataTables.min.css | 1 + .../1.10.24/scroller.dataTables.min.css | 1 + .../1.10.24/searchBuilder.dataTables.min.css | 1 + .../1.10.24/searchPanes.dataTables.min.css | 1 + .../1.10.24/select.dataTables.min.css | 1 + 49 files changed, 1209 insertions(+), 1 deletion(-) create mode 100644 resources/datatables/1.10.24/autoFill.dataTables.min.css create mode 100644 resources/datatables/1.10.24/buttons.colVis.min.jsm create mode 100644 resources/datatables/1.10.24/buttons.dataTables.min.css create mode 100644 resources/datatables/1.10.24/buttons.flash.min.jsm create mode 100644 resources/datatables/1.10.24/buttons.html5.min.jsm create mode 100644 resources/datatables/1.10.24/buttons.print.min.jsm create mode 100644 resources/datatables/1.10.24/colReorder.dataTables.min.css create mode 100644 resources/datatables/1.10.24/dataTables.autoFill.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.bootstrap.min.css create mode 100644 resources/datatables/1.10.24/dataTables.bootstrap.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.bootstrap4.min.css create mode 100644 resources/datatables/1.10.24/dataTables.bootstrap4.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.buttons.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.colReorder.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.dateTime.min.css create mode 100644 resources/datatables/1.10.24/dataTables.dateTime.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.fixedColumns.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.fixedHeader.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.foundation.min.css create mode 100644 resources/datatables/1.10.24/dataTables.foundation.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.keyTable.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.responsive.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.rowGroup.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.rowReorder.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.scroller.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.searchBuilder.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.searchPanes.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.select.min.jsm create mode 100644 resources/datatables/1.10.24/dataTables.semanticui.min.css create mode 100644 resources/datatables/1.10.24/dataTables.semanticui.min.jsm create mode 100644 resources/datatables/1.10.24/fixedColumns.dataTables.min.css create mode 100644 resources/datatables/1.10.24/fixedHeader.dataTables.min.css create mode 100644 resources/datatables/1.10.24/jquery.dataTables.min.css create mode 100644 resources/datatables/1.10.24/jquery.dataTables.min.jsm create mode 100644 resources/datatables/1.10.24/keyTable.dataTables.min.css create mode 100644 resources/datatables/1.10.24/responsive.dataTables.min.css create mode 100644 resources/datatables/1.10.24/rowGroup.dataTables.min.css create mode 100644 resources/datatables/1.10.24/rowReorder.dataTables.min.css create mode 100644 resources/datatables/1.10.24/scroller.dataTables.min.css create mode 100644 resources/datatables/1.10.24/searchBuilder.dataTables.min.css create mode 100644 resources/datatables/1.10.24/searchPanes.dataTables.min.css create mode 100644 resources/datatables/1.10.24/select.dataTables.min.css diff --git a/THIRD_PARTY.txt b/THIRD_PARTY.txt index ca2ac987..4a883d0b 100644 --- a/THIRD_PARTY.txt +++ b/THIRD_PARTY.txt @@ -1,5 +1,41 @@ https://ajax.cloudflare.com/cdn-cgi/scripts/04b3eb47/cloudflare-static/mirage2.min.js https://ajax.cloudflare.com/cdn-cgi/scripts/7089c43e/cloudflare-static/rocket-loader.min.js +https://cdn.datatables.net/1.10.24/css/dataTables.semanticui.min.css +https://cdn.datatables.net/1.10.24/css/jquery.dataTables.min.css +https://cdn.datatables.net/1.10.24/js/dataTables.semanticui.min.js +https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js +https://cdn.datatables.net/autofill/2.3.6/css/autoFill.dataTables.min.css +https://cdn.datatables.net/autofill/2.3.6/js/dataTables.autoFill.min.js +https://cdn.datatables.net/buttons/1.7.0/css/buttons.dataTables.min.css +https://cdn.datatables.net/buttons/1.7.0/js/buttons.colVis.min.js +https://cdn.datatables.net/buttons/1.7.0/js/buttons.flash.min.js +https://cdn.datatables.net/buttons/1.7.0/js/buttons.html5.min.js +https://cdn.datatables.net/buttons/1.7.0/js/buttons.print.min.js +https://cdn.datatables.net/buttons/1.7.0/js/dataTables.buttons.min.js +https://cdn.datatables.net/colreorder/1.5.3/css/colReorder.dataTables.min.css +https://cdn.datatables.net/colreorder/1.5.3/js/dataTables.colReorder.min.js +https://cdn.datatables.net/datetime/1.0.3/css/dataTables.dateTime.min.css +https://cdn.datatables.net/datetime/1.0.3/js/dataTables.dateTime.min.js +https://cdn.datatables.net/fixedcolumns/3.3.2/css/fixedColumns.dataTables.min.css +https://cdn.datatables.net/fixedcolumns/3.3.2/js/dataTables.fixedColumns.min.js +https://cdn.datatables.net/fixedheader/3.1.8/css/fixedHeader.dataTables.min.css +https://cdn.datatables.net/fixedheader/3.1.8/js/dataTables.fixedHeader.min.js +https://cdn.datatables.net/keytable/2.6.1/css/keyTable.dataTables.min.css +https://cdn.datatables.net/keytable/2.6.1/js/dataTables.keyTable.min.js +https://cdn.datatables.net/responsive/2.2.7/css/responsive.dataTables.min.css +https://cdn.datatables.net/responsive/2.2.7/js/dataTables.responsive.min.js +https://cdn.datatables.net/rowgroup/1.1.2/css/rowGroup.dataTables.min.css +https://cdn.datatables.net/rowgroup/1.1.2/js/dataTables.rowGroup.min.js +https://cdn.datatables.net/rowreorder/1.2.7/css/rowReorder.dataTables.min.css +https://cdn.datatables.net/rowreorder/1.2.7/js/dataTables.rowReorder.min.js +https://cdn.datatables.net/scroller/2.0.3/css/scroller.dataTables.min.css +https://cdn.datatables.net/scroller/2.0.3/js/dataTables.scroller.min.js +https://cdn.datatables.net/searchbuilder/1.0.1/css/searchBuilder.dataTables.min.css +https://cdn.datatables.net/searchbuilder/1.0.1/js/dataTables.searchBuilder.min.js +https://cdn.datatables.net/searchpanes/1.2.2/css/searchPanes.dataTables.min.css +https://cdn.datatables.net/searchpanes/1.2.2/js/dataTables.searchPanes.min.js +https://cdn.datatables.net/select/1.3.3/css/select.dataTables.min.css +https://cdn.datatables.net/select/1.3.3/js/dataTables.select.min.js https://cdn.embed.ly/player-0.1.0.min.js https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-bootstrap-select.min.js https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js diff --git a/audit/audit.sh b/audit/audit.sh index ddfc13f4..c294584d 100755 --- a/audit/audit.sh +++ b/audit/audit.sh @@ -76,6 +76,7 @@ readonly JSDELIVR="https://cdn.jsdelivr.net" readonly NETDNA_BOOTSTRAPCDN="https://netdna.bootstrapcdn.com" readonly GITHUB="https://raw.githubusercontent.com" readonly EMBEDLY="https://cdn.embed.ly" +readonly DATATABLES="https://cdn.datatables.net" # ============================================================================= @@ -256,6 +257,53 @@ arr_cycle[jquery.cycle2.swipe.min.js]="plugin/jquery.cycle2.swipe.min.js" arr_cycle[jquery.cycle2.tile.min.js]="plugin/jquery.cycle2.tile.min.js" arr_cycle[jquery.cycle2.video.min.js]="plugin/jquery.cycle2.video.min.js" +# https://codeberg.org/nobody/LocalCDN/issues/432 +declare -A arr_datatables +arr_datatables[jquery.dataTables.min.css]="1.10.24/css/jquery.dataTables.min.css" +arr_datatables[jquery.dataTables.min.js]="1.10.24/js/jquery.dataTables.min.js" +arr_datatables[dataTables.foundation.min.css]="1.10.24/css/dataTables.foundation.min.css" +arr_datatables[dataTables.foundation.min.js]="1.10.24/js/dataTables.foundation.min.js" +arr_datatables[dataTables.bootstrap.min.css]="1.10.24/css/dataTables.bootstrap.min.css" +arr_datatables[dataTables.bootstrap.min.js]="1.10.24/js/dataTables.bootstrap.min.js" +arr_datatables[dataTables.bootstrap4.min.css]="1.10.24/css/dataTables.bootstrap4.min.css" +arr_datatables[dataTables.bootstrap4.min.js]="1.10.24/js/dataTables.bootstrap4.min.js" +arr_datatables[dataTables.semanticui.min.css]="1.10.24/css/dataTables.semanticui.min.css" +arr_datatables[dataTables.semanticui.min.js]="1.10.24/js/dataTables.semanticui.min.js" +arr_datatables[dataTables.jqueryui.min.css]="1.10.24/css/dataTables.jqueryui.min.css" +arr_datatables[dataTables.jqueryui.min.js]="1.10.24/js/dataTables.jqueryui.min.js" +arr_datatables[autoFill.dataTables.min.css]="autofill/2.3.6/css/autoFill.dataTables.min.css" +arr_datatables[dataTables.autoFill.min.js]="autofill/2.3.6/js/dataTables.autoFill.min.js" +arr_datatables[buttons.dataTables.min.css]="buttons/1.7.0/css/buttons.dataTables.min.css" +arr_datatables[dataTables.buttons.min.js]="buttons/1.7.0/js/dataTables.buttons.min.js" +arr_datatables[buttons.colVis.min.js]="buttons/1.7.0/js/buttons.colVis.min.js" +arr_datatables[buttons.flash.min.js]="buttons/1.7.0/js/buttons.flash.min.js" +arr_datatables[buttons.html5.min.js]="buttons/1.7.0/js/buttons.html5.min.js" +arr_datatables[buttons.print.min.js]="buttons/1.7.0/js/buttons.print.min.js" +arr_datatables[colReorder.dataTables.min.css]="colreorder/1.5.3/css/colReorder.dataTables.min.css" +arr_datatables[dataTables.colReorder.min.js]="colreorder/1.5.3/js/dataTables.colReorder.min.js" +arr_datatables[dataTables.dateTime.min.css]="datetime/1.0.3/css/dataTables.dateTime.min.css" +arr_datatables[dataTables.dateTime.min.js]="datetime/1.0.3/js/dataTables.dateTime.min.js" +arr_datatables[fixedColumns.dataTables.min.css]="fixedcolumns/3.3.2/css/fixedColumns.dataTables.min.css" +arr_datatables[dataTables.fixedColumns.min.js]="fixedcolumns/3.3.2/js/dataTables.fixedColumns.min.js" +arr_datatables[fixedHeader.dataTables.min.css]="fixedheader/3.1.8/css/fixedHeader.dataTables.min.css" +arr_datatables[dataTables.fixedHeader.min.js]="fixedheader/3.1.8/js/dataTables.fixedHeader.min.js" +arr_datatables[keyTable.dataTables.min.css]="keytable/2.6.1/css/keyTable.dataTables.min.css" +arr_datatables[dataTables.keyTable.min.js]="keytable/2.6.1/js/dataTables.keyTable.min.js" +arr_datatables[responsive.dataTables.min.css]="responsive/2.2.7/css/responsive.dataTables.min.css" +arr_datatables[dataTables.responsive.min.js]="responsive/2.2.7/js/dataTables.responsive.min.js" +arr_datatables[rowGroup.dataTables.min.css]="rowgroup/1.1.2/css/rowGroup.dataTables.min.css" +arr_datatables[dataTables.rowGroup.min.js]="rowgroup/1.1.2/js/dataTables.rowGroup.min.js" +arr_datatables[rowReorder.dataTables.min.css]="rowreorder/1.2.7/css/rowReorder.dataTables.min.css" +arr_datatables[dataTables.rowReorder.min.js]="rowreorder/1.2.7/js/dataTables.rowReorder.min.js" +arr_datatables[scroller.dataTables.min.css]="scroller/2.0.3/css/scroller.dataTables.min.css" +arr_datatables[dataTables.scroller.min.js]="scroller/2.0.3/js/dataTables.scroller.min.js" +arr_datatables[searchBuilder.dataTables.min.css]="searchbuilder/1.0.1/css/searchBuilder.dataTables.min.css" +arr_datatables[dataTables.searchBuilder.min.js]="searchbuilder/1.0.1/js/dataTables.searchBuilder.min.js" +arr_datatables[searchPanes.dataTables.min.css]="searchpanes/1.2.2/css/searchPanes.dataTables.min.css" +arr_datatables[dataTables.searchPanes.min.js]="searchpanes/1.2.2/js/dataTables.searchPanes.min.js" +arr_datatables[select.dataTables.min.css]="select/1.3.3/css/select.dataTables.min.css" +arr_datatables[dataTables.select.min.js]="select/1.3.3/js/dataTables.select.min.js" + # ============================================================================= # CHECK RESOURCE @@ -599,6 +647,10 @@ function create_url() { url="$JSDELIVR/npm/ngx-bootstrap@$version/$file/$subfile" elif [ "$folder" = "embedly-player" ]; then url="$EMBEDLY/player-$version.min.js" + elif [ "$folder" = "datatables" ]; then + if [ "${arr_datatables[$subfile]}" != "" ]; then + url="$DATATABLES/${arr_datatables[$subfile]}" + fi else if [ "$subfile" = "$jfile" ]; then url="$CLOUDFLARE/$folder/$version/$subfile" diff --git a/core/constants.js b/core/constants.js index 02817e91..355a433b 100644 --- a/core/constants.js +++ b/core/constants.js @@ -264,6 +264,7 @@ const CDNs = { 'cdn.ravenjs.com': 'Raven.js', 'js.appboycdn.com': 'Appboy CDN', 'cdn.embed.ly': 'embedly', + 'cdn.datatables.net': 'DataTables', }; const IgnoredHost = { diff --git a/core/mappings.js b/core/mappings.js index b8b03782..e0648acf 100644 --- a/core/mappings.js +++ b/core/mappings.js @@ -30,7 +30,7 @@ var mappings = {}; * This only needs to be updated when new domains are added. * It's not necessary for subdirectories! */ -mappings.lastMappingUpdate = '2021-05-01'; +mappings.lastMappingUpdate = '2021-05-02'; mappings.cdn = { @@ -1007,6 +1007,12 @@ mappings.cdn = { '/': { 'player-{version}.min.js': resources.embedlyPlayer } + }, + // datatables + 'cdn.datatables.net': { + '/': { + '{version}/': resources.datatables + } } }; diff --git a/core/resources.js b/core/resources.js index 2bd5fa46..4dc44b3c 100644 --- a/core/resources.js +++ b/core/resources.js @@ -290,6 +290,10 @@ var resources = { 'd3legend': { 'path': 'resources/d3-legend/{version}/d3-legend.min.jsm' }, + // datatables + 'datatables': { + 'path': 'resources/datatables/{version}/' + }, // dayjs 'dayjs': { 'path': 'resources/dayjs/{version}/dayjs.min.jsm' diff --git a/modules/internal/targets.js b/modules/internal/targets.js index f316ed96..a6eabdd9 100644 --- a/modules/internal/targets.js +++ b/modules/internal/targets.js @@ -57,6 +57,8 @@ targets.determineBundle = function (path) { val = 'Cycle2'; } else if (path.startsWith('/semantic-ui/')) { val = 'Semantic UI'; + } else if (path.startsWith('/datatables/')) { + val = 'DataTables'; } return val === '' ? val : `${val} (Bundle)`; @@ -232,6 +234,8 @@ targets.setLastVersion = function (type, version) { return '6.7.0'; } else if (type.startsWith('/d3-legend/2.')) { return '2.25.6'; + } else if (type.startsWith('/datatables/1.')) { + return '1.10.24'; } else if (type.startsWith('/dayjs/1.')) { return '1.10.4'; } else if (type.startsWith('/dexie/3.') || type.startsWith('/dexie/latest')) { diff --git a/pages/updates/updates.html b/pages/updates/updates.html index faaa7ddf..af8436fa 100644 --- a/pages/updates/updates.html +++ b/pages/updates/updates.html @@ -35,6 +35,7 @@
  • Added: embedly player v0.1.0 (#431)
  • Mapping: bluebird -> cdn.jsdelivr.net
  • Mapping: bootstrap -> cdn.bootcss.com
  • +
  • Added: DataTables (Bundle) v1.10.24 (#432)
  • diff --git a/resources/datatables/1.10.24/autoFill.dataTables.min.css b/resources/datatables/1.10.24/autoFill.dataTables.min.css new file mode 100644 index 00000000..d9d03f9f --- /dev/null +++ b/resources/datatables/1.10.24/autoFill.dataTables.min.css @@ -0,0 +1 @@ +div.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;box-sizing:border-box;background:#36f;cursor:pointer}div.dtk-focus-alt div.dt-autofill-handle{background:#ff8b33}div.dt-autofill-select{position:absolute;z-index:1001;background-color:#4989de;background-image:repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px)}div.dt-autofill-select.top,div.dt-autofill-select.bottom{height:3px;margin-top:-1px}div.dt-autofill-select.left,div.dt-autofill-select.right{width:3px;margin-left:-1px}div.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:white;border-radius:6px;box-shadow:0 0 5px #555;border:2px solid #444;z-index:11;box-sizing:border-box;padding:1.5em 2em}div.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}div.dt-autofill-list ul li{display:table-row}div.dt-autofill-list ul li:last-child div.dt-autofill-question,div.dt-autofill-list ul li:last-child div.dt-autofill-button{border-bottom:none}div.dt-autofill-list ul li:hover{background-color:#f6f6f6}div.dt-autofill-list div.dt-autofill-question{display:table-cell;padding:.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}div.dt-autofill-list div.dt-autofill-button{display:table-cell;padding:.5em 0;border-bottom:1px solid #ccc}div.dt-autofill-list div.dt-autofill-button button{color:white;margin:0;padding:6px 12px;text-align:center;border:1px solid #2e6da4;background-color:#337ab7;border-radius:4px;cursor:pointer;vertical-align:middle}div.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);background:radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);z-index:10} diff --git a/resources/datatables/1.10.24/buttons.colVis.min.jsm b/resources/datatables/1.10.24/buttons.colVis.min.jsm new file mode 100644 index 00000000..35e9e999 --- /dev/null +++ b/resources/datatables/1.10.24/buttons.colVis.min.jsm @@ -0,0 +1,10 @@ +/*! + Column visibility buttons for Buttons and DataTables. + 2016 SpryMedia Ltd - datatables.net/license +*/ +(function(g){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(e){return g(e,window,document)}):"object"===typeof exports?module.exports=function(e,f){e||(e=window);f&&f.fn.dataTable||(f=require("datatables.net")(e,f).$);f.fn.dataTable.Buttons||require("datatables.net-buttons")(e,f);return g(f,e,e.document)}:g(jQuery,window,document)})(function(g,e,f,l){e=g.fn.dataTable;g.extend(e.ext.buttons,{colvis:function(b,a){return{extend:"collection", +text:function(c){return c.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",buttons:[{extend:"columnsToggle",columns:a.columns,columnText:a.columnText}]}},columnsToggle:function(b,a){return b.columns(a.columns).indexes().map(function(c){return{extend:"columnToggle",columns:c,columnText:a.columnText}}).toArray()},columnToggle:function(b,a){return{extend:"columnVisibility",columns:a.columns,columnText:a.columnText}},columnsVisibility:function(b,a){return b.columns(a.columns).indexes().map(function(c){return{extend:"columnVisibility", +columns:c,visibility:a.visibility,columnText:a.columnText}}).toArray()},columnVisibility:{columns:l,text:function(b,a,c){return c._columnText(b,c)},className:"buttons-columnVisibility",action:function(b,a,c,d){b=a.columns(d.columns);a=b.visible();b.visible(d.visibility!==l?d.visibility:!(a.length&&a[0]))},init:function(b,a,c){var d=this;a.attr("data-cv-idx",c.columns);b.on("column-visibility.dt"+c.namespace,function(h,k){k.bDestroying||k.nTable!=b.settings()[0].nTable||d.active(b.column(c.columns).visible())}).on("column-reorder.dt"+ +c.namespace,function(h,k,m){1===b.columns(c.columns).count()&&(d.text(c._columnText(b,c)),d.active(b.column(c.columns).visible()))});this.active(b.column(c.columns).visible())},destroy:function(b,a,c){b.off("column-visibility.dt"+c.namespace).off("column-reorder.dt"+c.namespace)},_columnText:function(b,a){var c=b.column(a.columns).index(),d=b.settings()[0].aoColumns[c].sTitle;d||(d=b.column(c).header().innerHTML);d=d.replace(/\n/g," ").replace(//gi," ").replace(//g, +"").replace(//g,"").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,"");return a.columnText?a.columnText(b,c,d):d}},colvisRestore:{className:"buttons-colvisRestore",text:function(b){return b.i18n("buttons.colvisRestore","Restore visibility")},init:function(b,a,c){c._visOriginal=b.columns().indexes().map(function(d){return b.column(d).visible()}).toArray()},action:function(b,a,c,d){a.columns().every(function(h){h=a.colReorder&&a.colReorder.transpose?a.colReorder.transpose(h,"toOriginal"):h; +this.visible(d._visOriginal[h])})}},colvisGroup:{className:"buttons-colvisGroup",action:function(b,a,c,d){a.columns(d.show).visible(!0,!1);a.columns(d.hide).visible(!1,!1);a.columns.adjust()},show:[],hide:[]}});return e.Buttons}); diff --git a/resources/datatables/1.10.24/buttons.dataTables.min.css b/resources/datatables/1.10.24/buttons.dataTables.min.css new file mode 100644 index 00000000..68f6cd45 --- /dev/null +++ b/resources/datatables/1.10.24/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:.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:.3em 0 .5em;font-size:.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:.333em;margin-bottom:.333em;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:-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:.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 #999}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 #999;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/resources/datatables/1.10.24/buttons.flash.min.jsm b/resources/datatables/1.10.24/buttons.flash.min.jsm new file mode 100644 index 00000000..eed5bcc9 --- /dev/null +++ b/resources/datatables/1.10.24/buttons.flash.min.jsm @@ -0,0 +1,39 @@ +/*! + Flash export buttons for Buttons and DataTables. + 2015-2017 SpryMedia Ltd - datatables.net/license + + ZeroClipbaord - MIT license + Copyright (c) 2012 Joseph Huckaby +*/ +(function(g){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(q){return g(q,window,document)}):"object"===typeof exports?module.exports=function(q,r){q||(q=window);r&&r.fn.dataTable||(r=require("datatables.net")(q,r).$);r.fn.dataTable.Buttons||require("datatables.net-buttons")(q,r);return g(r,q,q.document)}:g(jQuery,window,document)})(function(g,q,r,z){function M(a){for(var b="";0<=a;)b=String.fromCharCode(a%26+65)+b,a=Math.floor(a/26)-1; +return b}function t(a,b,c){var d=a.createElement(b);c&&(c.attr&&g(d).attr(c.attr),c.children&&g.each(c.children,function(f,e){d.appendChild(e)}),null!==c.text&&c.text!==z&&d.appendChild(a.createTextNode(c.text)));return d}function S(a,b){var c=a.header[b].length;a.footer&&a.footer[b].length>c&&(c=a.footer[b].length);for(var d=0,f=a.body.length;dc&&(c=e);if(40'+c),c=c.replace(/_dt_b_namespace_token_/g,":"));c=c.replace(/<([^<>]*?) xmlns=""([^<>]*?)>/g,"<$1 $2>");a[b]=c}})}var w=g.fn.dataTable,m={version:"1.0.4-TableTools2",clients:{},moviePath:"",nextId:1,$:function(a){"string"==typeof a&&(a=r.getElementById(a));a.addClass||(a.hide=function(){this.style.display="none"},a.show= +function(){this.style.display=""},a.addClass=function(b){this.removeClass(b);this.className+=" "+b},a.removeClass=function(b){this.className=this.className.replace(new RegExp("\\s*"+b+"\\s*")," ").replace(/^\s+/,"").replace(/\s+$/,"")},a.hasClass=function(b){return!!this.className.match(new RegExp("\\s*"+b+"\\s*"))});return a},setMoviePath:function(a){this.moviePath=a},dispatch:function(a,b,c){(a=this.clients[a])&&a.receiveEvent(b,c)},log:function(a){console.log("Flash: "+a)},register:function(a, +b){this.clients[a]=b},getDOMObjectPosition:function(a){var b={left:0,top:0,width:a.width?a.width:a.offsetWidth,height:a.height?a.height:a.offsetHeight};""!==a.style.width&&(b.width=a.style.width.replace("px",""));""!==a.style.height&&(b.height=a.style.height.replace("px",""));for(;a;)b.left+=a.offsetLeft,b.top+=a.offsetTop,a=a.offsetParent;return b},Client:function(a){this.handlers={};this.id=m.nextId++;this.movieId="ZeroClipboard_TableToolsMovie_"+this.id;m.register(this.id,this);a&&this.glue(a)}}; +m.Client.prototype={id:0,ready:!1,movie:null,clipText:"",fileName:"",action:"copy",handCursorEnabled:!0,cssEffects:!0,handlers:null,sized:!1,sheetName:"",glue:function(a,b){this.domElement=m.$(a);a=99;this.domElement.style.zIndex&&(a=parseInt(this.domElement.style.zIndex,10)+1);var c=m.getDOMObjectPosition(this.domElement);this.div=r.createElement("div");var d=this.div.style;d.position="absolute";d.left="0px";d.top="0px";d.width=c.width+"px";d.height=c.height+"px";d.zIndex=a;"undefined"!=typeof b&& +""!==b&&(this.div.title=b);0!==c.width&&0!==c.height&&(this.sized=!0);this.domElement&&(this.domElement.appendChild(this.div),this.div.innerHTML=this.getHTML(c.width,c.height).replace(/&/g,"&"))},positionElement:function(){var a=m.getDOMObjectPosition(this.domElement),b=this.div.style;b.position="absolute";b.width=a.width+"px";b.height=a.height+"px";0!==a.width&&0!==a.height&&(this.sized=!0,b=this.div.childNodes[0],b.width=a.width,b.height=a.height)},getHTML:function(a,b){var c="",d="id="+this.id+ +"&width="+a+"&height="+b;if(navigator.userAgent.match(/MSIE/)){var f=location.href.match(/^https/i)?"https://":"http://";c+=''}else c+='';return c},hide:function(){this.div&&(this.div.style.left="-2000px")}, +show:function(){this.reposition()},destroy:function(){var a=this;this.domElement&&this.div&&(g(this.div).remove(),this.div=this.domElement=null,g.each(m.clients,function(b,c){c===a&&delete m.clients[b]}))},reposition:function(a){a&&((this.domElement=m.$(a))||this.hide());if(this.domElement&&this.div){a=m.getDOMObjectPosition(this.domElement);var b=this.div.style;b.left=""+a.left+"px";b.top=""+a.top+"px"}},clearText:function(){this.clipText="";this.ready&&this.movie.clearText()},appendText:function(a){this.clipText+= +a;this.ready&&this.movie.appendText(a)},setText:function(a){this.clipText=a;this.ready&&this.movie.setText(a)},setFileName:function(a){this.fileName=a;this.ready&&this.movie.setFileName(a)},setSheetData:function(a){this.ready&&this.movie.setSheetData(JSON.stringify(a))},setAction:function(a){this.action=a;this.ready&&this.movie.setAction(a)},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");this.handlers[a]||(this.handlers[a]=[]);this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled= +a;this.ready&&this.movie.setHandCursor(a)},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");switch(a){case "load":this.movie=r.getElementById(this.movieId);if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){c=this;setTimeout(function(){c.receiveEvent("load",null)},100);this.ready=!0;return}this.ready= +!0;this.movie.clearText();this.movie.appendText(this.clipText);this.movie.setFileName(this.fileName);this.movie.setAction(this.action);this.movie.setHandCursor(this.handCursorEnabled);break;case "mouseover":this.domElement&&this.cssEffects&&this.recoverActive&&this.domElement.addClass("active");break;case "mouseout":this.domElement&&this.cssEffects&&(this.recoverActive=!1,this.domElement.hasClass("active")&&(this.domElement.removeClass("active"),this.recoverActive=!0));break;case "mousedown":this.domElement&& +this.cssEffects&&this.domElement.addClass("active");break;case "mouseup":this.domElement&&this.cssEffects&&(this.domElement.removeClass("active"),this.recoverActive=!1)}if(this.handlers[a])for(var d=0,f=this.handlers[a].length;d',"xl/_rels/workbook.xml.rels":'', +"[Content_Types].xml":'', +"xl/workbook.xml":'', +"xl/worksheets/sheet1.xml":'',"xl/styles.xml":''}, +R=[{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: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}];w.Buttons.swfPath="//cdn.datatables.net/buttons/"+ +w.Buttons.version+"/swf/flashExport.swf";w.Api.register("buttons.resize()",function(){g.each(m.clients,function(a,b){b.domElement!==z&&b.domElement.parentNode&&b.positionElement()})});w.ext.buttons.copyFlash=g.extend({},I,{className:"buttons-copy buttons-flash",text:function(a){return a.i18n("buttons.copy","Copy")},action:function(a,b,c,d){if(d._fromFlash){this.processing(!0);a=d._flash;var f=Q(b,d);c=b.buttons.exportInfo(d);var e=P(d);f=f.str;c.title&&(f=c.title+e+e+f);c.messageTop&&(f=c.messageTop+ +e+e+f);c.messageBottom&&(f=f+e+e+c.messageBottom);d.customize&&(f=d.customize(f,d,b));a.setAction("copy");H(a,f);this.processing(!1);b.buttons.info(b.i18n("buttons.copyTitle","Copy to clipboard"),b.i18n("buttons.copySuccess",{_:"Copied %d rows to clipboard",1:"Copied 1 row to clipboard"},data.rows),3E3)}},fieldSeparator:"\t",fieldBoundary:""});w.ext.buttons.csvFlash=g.extend({},I,{className:"buttons-csv buttons-flash",text:function(a){return a.i18n("buttons.csv","CSV")},action:function(a,b,c,d){a= +d._flash;var f=Q(b,d);c=b.buttons.exportInfo(d);b=d.customize?d.customize(f.str,d,b):f.str;a.setAction("csv");a.setFileName(c.filename);H(a,b)},escapeChar:'"'});w.ext.buttons.excelFlash=g.extend({},I,{className:"buttons-excel buttons-flash",text:function(a){return a.i18n("buttons.excel","Excel")},action:function(a,b,c,d){this.processing(!0);a=d._flash;var f=0,e=g.parseXML(A["xl/worksheets/sheet1.xml"]),n=e.getElementsByTagName("sheetData")[0];c={_rels:{".rels":g.parseXML(A["_rels/.rels"])},xl:{_rels:{"workbook.xml.rels":g.parseXML(A["xl/_rels/workbook.xml.rels"])}, +"workbook.xml":g.parseXML(A["xl/workbook.xml"]),"styles.xml":g.parseXML(A["xl/styles.xml"]),worksheets:{"sheet1.xml":e}},"[Content_Types].xml":g.parseXML(A["[Content_Types].xml"])};var l=b.buttons.exportData(d.exportOptions),E,C,p=function(h){E=f+1;C=t(e,"row",{attr:{r:E}});for(var k=0,F=h.length;k'+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("