UNPKG

datatables.net-buttons

Version:
8 lines 26.5 kB
/*! * HTML5 export buttons for Buttons and DataTables. * © SpryMedia Ltd - datatables.net/license * * FileSaver.js (1.3.3) - MIT license * Copyright © 2016 Eli Grey - http://eligrey.com */ import jQuery from"jquery";import DataTable from"datatables.net";import Buttons from"datatables.net-buttons";let $=jQuery;var useJszip,usePdfmake;function _jsZip(){return useJszip||window.JSZip}function _pdfMake(){return usePdfmake||window.pdfMake}DataTable.Buttons.pdfMake=function(e){if(!e)return _pdfMake();usePdfmake=e},DataTable.Buttons.jszip=function(e){if(!e)return _jsZip();useJszip=e};var _saveAs=function(d){"use strict";var p,i,s,f,m,c,t,u,y,l,e;if(!(void 0===d||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent)))return e=d.document,p=function(){return d.URL||d.webkitURL||d},i=e.createElementNS("http://www.w3.org/1999/xhtml","a"),s="download"in i,f=/constructor/i.test(d.HTMLElement)||d.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent),c=function(e){(d.setImmediate||d.setTimeout)(function(){throw e},0)},t=4e4,u=function(e){setTimeout(function(){"string"==typeof e?p().revokeObjectURL(e):e.remove()},t)},y=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e},e=(l=function(e,o,t){t||(e=y(e));var l,n,r=this,t="application/octet-stream"===e.type,a=function(){for(var e=r,t="writestart progress write writeend".split(" "),o=void 0,l=(t=[].concat(t)).length;l--;){var n=e["on"+t[l]];if("function"==typeof n)try{n.call(e,o||e)}catch(e){c(e)}}};r.readyState=r.INIT,s?(l=p().createObjectURL(e),setTimeout(function(){var e,t;i.href=l,i.download=o,e=i,t=new MouseEvent("click"),e.dispatchEvent(t),a(),u(l),r.readyState=r.DONE})):(m||t&&f)&&d.FileReader?((n=new FileReader).onloadend=function(){var e=m?n.result:n.result.replace(/^data:[^;]*;/,"data:attachment/file;");d.open(e,"_blank")||(d.location.href=e),r.readyState=r.DONE,a()},n.readAsDataURL(e),r.readyState=r.INIT):(l=l||p().createObjectURL(e),!t&&d.open(l,"_blank")||(d.location.href=l),r.readyState=r.DONE,a(),u(l))}).prototype,"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,o){return t=t||e.name||"download",o||(e=y(e)),navigator.msSaveOrOpenBlob(e,t)}:(e.abort=function(){},e.readyState=e.INIT=0,e.WRITING=1,e.DONE=2,e.error=e.onwritestart=e.onprogress=e.onwrite=e.onabort=e.onerror=e.onwriteend=null,function(e,t,o){return new l(e,t||e.name||"download",o)})}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content),_sheetname=(DataTable.fileSave=_saveAs,function(e){var t="Sheet1";return t=e.sheetName?e.sheetName.replace(/[\[\]\*\/\\\?\:]/g,""):t}),_newLine=function(e){return e.newline||(navigator.userAgent.match(/Windows/)?"\r\n":"\n")},_exportData=function(e,t){function o(e){for(var t="",o=0,l=e.length;o<l;o++)0<o&&(t+=a),t+=r?r+(""+e[o]).replace(d,p+r)+r:e[o];return t}var l=_newLine(t),n=e.buttons.exportData(t.exportOptions),r=t.fieldBoundary,a=t.fieldSeparator,d=new RegExp(r,"g"),p=void 0!==t.escapeChar?t.escapeChar:"\\",e="",i="",s=[];t.header&&(e=n.headerStructure.map(function(e){return o(e.map(function(e){return e?e.title:""}))}).join(l)+l),t.footer&&n.footer&&(i=n.footerStructure.map(function(e){return o(e.map(function(e){return e?e.title:""}))}).join(l)+l);for(var f=0,m=n.body.length;f<m;f++)s.push(o(n.body[f]));return{str:e+s.join(l)+l+i,rows:s.length}},_isDuffSafari=function(){var e;return-1!==navigator.userAgent.indexOf("Safari")&&-1===navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Opera")&&!!((e=navigator.userAgent.match(/AppleWebKit\/(\d+\.\d+)/))&&1<e.length&&+e[1]<603.1)};function createCellPos(e){for(var t="A".charCodeAt(0),o="Z".charCodeAt(0)-t+1,l="";0<=e;)l=String.fromCharCode(e%o+t)+l,e=Math.floor(e/o)-1;return l}try{var _ieExcel,_serialiser=new XMLSerializer}catch(e){}function _addToZip(s,e){void 0===_ieExcel&&(_ieExcel=-1===_serialiser.serializeToString((new window.DOMParser).parseFromString(excelStrings["xl/worksheets/sheet1.xml"],"text/xml")).indexOf("xmlns:r")),$.each(e,function(e,t){if($.isPlainObject(t))_addToZip(s.folder(e),t);else{if(_ieExcel){for(var o,l=t.childNodes[0],n=[],r=l.attributes.length-1;0<=r;r--){var a=l.attributes[r].nodeName,d=l.attributes[r].nodeValue;-1!==a.indexOf(":")&&(n.push({name:a,value:d}),l.removeAttribute(a))}for(r=0,o=n.length;r<o;r++){var p=t.createAttribute(n[r].name.replace(":","_dt_b_namespace_token_"));p.value=n[r].value,l.setAttributeNode(p)}}var i=_serialiser.serializeToString(t),i=(i=_ieExcel?(i=(i=-1===i.indexOf("<?xml")?'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+i:i).replace(/_dt_b_namespace_token_/g,":")).replace(/xmlns:NS[\d]+="" NS[\d]+:/g,""):i).replace(/<([^<>]*?) xmlns=""([^<>]*?)>/g,"<$1 $2>");s.file(e,i)}})}function _createNode(e,t,o){var l=e.createElement(t);return o&&(o.attr&&$(l).attr(o.attr),o.children&&$.each(o.children,function(e,t){l.appendChild(t)}),null!==o.text)&&void 0!==o.text&&l.appendChild(e.createTextNode(o.text)),l}function _excelColWidth(e,t){var o=e.header[t].length;e.footer&&e.footer[t]&&e.footer[t].length>o&&(o=e.footer[t].length);for(var l=0,n=e.body.length;l<n;l++){var r,a=e.body[l][t];if(40<(o=o<(r=(-1!==(a=null!=a?a.toString():"").indexOf("\n")?((r=a.split("\n")).sort(function(e,t){return t.length-e.length}),r[0]):a).length)?r:o))return 54}return 6<(o*=1.35)?o:6}var excelStrings={"_rels/.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>',"xl/_rels/workbook.xml.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>',"[Content_Types].xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="xml" ContentType="application/xml" /><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="jpeg" ContentType="image/jpeg" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /></Types>',"xl/workbook.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><fileVersion appName="xl" lastEdited="5" lowestEdited="5" rupBuild="24816"/><workbookPr showInkAnnotation="0" autoCompressPictures="0"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="25600" windowHeight="19020" tabRatio="500"/></bookViews><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets><definedNames/></workbook>',"xl/worksheets/sheet1.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><sheetData/><mergeCells count="0"/></worksheet>',"xl/styles.xml":'<?xml version="1.0" encoding="UTF-8"?><styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><numFmts count="6"><numFmt numFmtId="164" formatCode="[$$-409]#,##0.00;-[$$-409]#,##0.00"/><numFmt numFmtId="165" formatCode="&quot;£&quot;#,##0.00"/><numFmt numFmtId="166" formatCode="[$€-2] #,##0.00"/><numFmt numFmtId="167" formatCode="0.0%"/><numFmt numFmtId="168" formatCode="#,##0;(#,##0)"/><numFmt numFmtId="169" formatCode="#,##0.00;(#,##0.00)"/></numFmts><fonts count="5" x14ac:knownFonts="1"><font><sz val="11" /><name val="Calibri" /></font><font><sz val="11" /><name val="Calibri" /><color rgb="FFFFFFFF" /></font><font><sz val="11" /><name val="Calibri" /><b /></font><font><sz val="11" /><name val="Calibri" /><i /></font><font><sz val="11" /><name val="Calibri" /><u /></font></fonts><fills count="6"><fill><patternFill patternType="none" /></fill><fill><patternFill patternType="none" /></fill><fill><patternFill patternType="solid"><fgColor rgb="FFD9D9D9" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="FFD99795" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="ffc6efce" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="ffc6cfef" /><bgColor indexed="64" /></patternFill></fill></fills><borders count="2"><border><left /><right /><top /><bottom /><diagonal /></border><border diagonalUp="false" diagonalDown="false"><left style="thin"><color auto="1" /></left><right style="thin"><color auto="1" /></right><top style="thin"><color auto="1" /></top><bottom style="thin"><color auto="1" /></bottom><diagonal /></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" /></cellStyleXfs><cellXfs count="68"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="left"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="center"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="right"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="fill"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment textRotation="90"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment wrapText="1"/></xf><xf numFmtId="9" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="164" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="165" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="166" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="167" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="168" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="169" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="3" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="4" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="1" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="2" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="14" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0" /></cellStyles><dxfs count="0" /><tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleMedium4" /></styleSheet>'},_excelSpecials=[{match:/^\-?\d+\.\d%$/,style:60,fmt:function(e){return e/100}},{match:/^\-?\d+\.?\d*%$/,style:56,fmt:function(e){return e/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(e){return-1*e.replace(/[\(\)]/g,"")}},{match:/^\([\d,]+\.\d{2}\)$/,style:62,fmt:function(e){return-1*e.replace(/[\(\)]/g,"")}},{match:/^\-?[\d,]+$/,style:63},{match:/^\-?[\d,]+\.\d{2}$/,style:64},{match:/^(19\d\d|[2-9]\d\d\d)\-(0\d|1[012])\-[0123][\d]$/,style:67,fmt:function(e){return Math.round(25569+Date.parse(e)/864e5)}}],_excelMergeCells=function(e,t,o,l,n){var r=$("mergeCells",e);r[0].appendChild(_createNode(e,"mergeCell",{attr:{ref:createCellPos(o)+t+":"+createCellPos(o+n-1)+(t+l-1)}})),r.attr("count",parseFloat(r.attr("count"))+1)};DataTable.ext.buttons.copyHtml5={className:"buttons-copy buttons-html5",text:function(e){return e.i18n("buttons.copy","Copy")},action:function(e,t,o,l,n){var r=_exportData(t,l),a=t.buttons.exportInfo(l),d=_newLine(l),p=r.str,i=$("<div/>").css({height:1,width:1,overflow:"hidden",position:"fixed",top:0,left:0}),d=(a.title&&(p=a.title+d+d+p),a.messageTop&&(p=a.messageTop+d+d+p),a.messageBottom&&(p=p+d+d+a.messageBottom),l.customize&&(p=l.customize(p,l,t)),$("<textarea readonly/>").val(p).appendTo(i));if(document.queryCommandSupported("copy")){i.appendTo(t.table().container()),d[0].focus(),d[0].select();try{var s=document.execCommand("copy");if(i.remove(),s)return l.copySuccess&&t.buttons.info(t.i18n("buttons.copyTitle","Copy to clipboard"),t.i18n("buttons.copySuccess",{1:"Copied one row to clipboard",_:"Copied %d rows to clipboard"},r.rows),2e3),void n()}catch(e){}}function f(){m.off("click.buttons-copy"),$(document).off(".buttons-copy"),t.buttons.info(!1)}var a=$("<span>"+t.i18n("buttons.copyKeys","Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.")+"</span>").append(i),m=(t.buttons.info(t.i18n("buttons.copyTitle","Copy to clipboard"),a,0),d[0].focus(),d[0].select(),$(a).closest(".dt-button-info"));m.on("click.buttons-copy",function(){f(),n()}),$(document).on("keydown.buttons-copy",function(e){27===e.keyCode&&(f(),n())}).on("copy.buttons-copy cut.buttons-copy",function(){f(),n()})},async:100,copySuccess:!0,exportOptions:{},fieldSeparator:"\t",fieldBoundary:"",header:!0,footer:!0,title:"*",messageTop:"*",messageBottom:"*"},DataTable.ext.buttons.csvHtml5={bom:!1,className:"buttons-csv buttons-html5",available:function(){return void 0!==window.FileReader&&window.Blob},text:function(e){return e.i18n("buttons.csv","CSV")},action:function(e,t,o,l,n){var r=_exportData(t,l).str,a=t.buttons.exportInfo(l),d=l.charset;l.customize&&(r=l.customize(r,l,t)),d=!1!==d?(d=d||document.characterSet||document.charset)&&";charset="+d:"",l.bom&&(r=String.fromCharCode(65279)+r),_saveAs(new Blob([r],{type:"text/csv"+d}),a.filename,!0),n()},async:100,filename:"*",extension:".csv",exportOptions:{escapeExcelFormula:!0},fieldSeparator:",",fieldBoundary:'"',escapeChar:'"',charset:null,header:!0,footer:!0},DataTable.ext.buttons.excelHtml5={className:"buttons-excel buttons-html5",available:function(){return void 0!==window.FileReader&&void 0!==_jsZip()&&!_isDuffSafari()&&_serialiser},text:function(e){return e.i18n("buttons.excel","Excel")},action:function(e,t,o,s,l){function n(e){return e=excelStrings[e],$.parseXML(e)}function r(e){m=_createNode(u,"row",{attr:{r:f=c+1}});for(var t=0,o=e.length;t<o;t++){var l=createCellPos(t)+""+f,n=null;if(null===e[t]||void 0===e[t]||""===e[t]){if(!0!==s.createEmptyCells)continue;e[t]=""}var r=e[t];e[t]="function"==typeof e[t].trim?e[t].trim():e[t];for(var a=0,d=_excelSpecials.length;a<d;a++){var p=_excelSpecials[a];if(e[t].match&&!e[t].match(/^0\d+/)&&e[t].match(p.match)){var i=e[t].replace(/[^\d\.\-]/g,"");p.fmt&&(i=p.fmt(i)),n=_createNode(u,"c",{attr:{r:l,s:p.style},children:[_createNode(u,"v",{text:i})]});break}}n=n||("number"==typeof e[t]||e[t].match&&e[t].match(/^-?\d+(\.\d+)?([eE]\-?\d+)?$/)&&!e[t].match(/^0\d+/)?_createNode(u,"c",{attr:{t:"n",r:l},children:[_createNode(u,"v",{text:e[t]})]}):(r=r.replace?r.replace(/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F-\x9F]/g,""):r,_createNode(u,"c",{attr:{t:"inlineStr",r:l},children:{row:_createNode(u,"is",{children:{row:_createNode(u,"t",{text:r,attr:{"xml:space":"preserve"}})}})}}))),m.appendChild(n)}y.appendChild(m),c++}function a(e){e.forEach(function(e){r(e.map(function(e){return e?e.title:""})),$("row:last c",u).attr("s","2"),e.forEach(function(e,t){e&&(1<e.colSpan||1<e.rowSpan)&&_excelMergeCells(u,c,t,e.rowSpan,e.colSpan)})})}var d,f,m,c=0,u=n("xl/worksheets/sheet1.xml"),y=u.getElementsByTagName("sheetData")[0],p={_rels:{".rels":n("_rels/.rels")},xl:{_rels:{"workbook.xml.rels":n("xl/_rels/workbook.xml.rels")},"workbook.xml":n("xl/workbook.xml"),"styles.xml":n("xl/styles.xml"),worksheets:{"sheet1.xml":u}},"[Content_Types].xml":n("[Content_Types].xml")},i=t.buttons.exportData(s.exportOptions),I=t.buttons.exportInfo(s);I.title&&(r([I.title]),_excelMergeCells(u,c,0,1,i.header.length),$("row:last c",u).attr("s","51")),I.messageTop&&(r([I.messageTop]),_excelMergeCells(u,c,0,1,i.header.length)),s.header&&a(i.headerStructure);for(var x=c,F=0,h=i.body.length;F<h;F++)r(i.body[F]);d=c,s.footer&&i.footer&&a(i.footerStructure),I.messageBottom&&(r([I.messageBottom]),_excelMergeCells(u,c,0,1,i.header.length));var b=_createNode(u,"cols");$("worksheet",u).prepend(b);for(var g=0,v=i.header.length;g<v;g++)b.appendChild(_createNode(u,"col",{attr:{min:g+1,max:g+1,width:_excelColWidth(i,g),customWidth:1}}));var w=p.xl["workbook.xml"];$("sheets sheet",w).attr("name",_sheetname(s)),s.autoFilter&&($("mergeCells",u).before(_createNode(u,"autoFilter",{attr:{ref:"A"+x+":"+createCellPos(i.header.length-1)+d}})),$("definedNames",w).append(_createNode(w,"definedName",{attr:{name:"_xlnm._FilterDatabase",localSheetId:"0",hidden:1},text:"'"+_sheetname(s).replace(/'/g,"''")+"'!$A$"+x+":"+createCellPos(i.header.length-1)+d}))),s.customize&&s.customize(p,s,t),0===$("mergeCells",u).children().length&&$("mergeCells",u).remove();var w=new(_jsZip()),x={compression:"DEFLATE",type:"blob",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},B=(_addToZip(w,p),I.filename);175<B&&(B=B.substr(0,175)),s.customizeZip&&s.customizeZip(w,i,B),w.generateAsync?w.generateAsync(x).then(function(e){_saveAs(e,B),l()}):(_saveAs(w.generate(x),B),l())},async:100,filename:"*",extension:".xlsx",exportOptions:{},header:!0,footer:!0,title:"*",messageTop:"*",messageBottom:"*",createEmptyCells:!1,autoFilter:!1,sheetName:""},DataTable.ext.buttons.pdfHtml5={className:"buttons-pdf buttons-html5",available:function(){return void 0!==window.FileReader&&_pdfMake()},text:function(e){return e.i18n("buttons.pdf","PDF")},action:function(e,t,o,l,n){var r=t.buttons.exportData(l.exportOptions),a=t.buttons.exportInfo(l),d=[];l.header&&r.headerStructure.forEach(function(e){d.push(e.map(function(e){return e?{text:e.title,colSpan:e.colspan,rowSpan:e.rowspan,style:"tableHeader"}:{}}))});for(var p=0,i=r.body.length;p<i;p++)d.push(r.body[p].map(function(e){return{text:null==e?"":"string"==typeof e?e:e.toString()}}));l.footer&&r.footerStructure.forEach(function(e){d.push(e.map(function(e){return e?{text:e.title,colSpan:e.colspan,rowSpan:e.rowspan,style:"tableFooter"}:{}}))});var s={pageSize:l.pageSize,pageOrientation:l.orientation,content:[{style:"table",table:{headerRows:r.headerStructure.length,footerRows:r.footerStructure.length,body:d},layout:{hLineWidth:function(e,t){return 0===e||e===t.table.body.length?0:.5},vLineWidth:function(){return 0},hLineColor:function(e,t){return e===t.table.headerRows||e===t.table.body.length-t.table.footerRows?"#333":"#ddd"},fillColor:function(e){return e<r.headerStructure.length?"#fff":e%2==0?"#f3f3f3":null},paddingTop:function(){return 5},paddingBottom:function(){return 5}}}],styles:{tableHeader:{bold:!0,fontSize:11,alignment:"center"},tableFooter:{bold:!0,fontSize:11,alignment:"center"},table:{margin:[0,5,0,5]},title:{alignment:"center",fontSize:13},message:{}},defaultStyle:{fontSize:10}},t=(a.messageTop&&s.content.unshift({text:a.messageTop,style:"message",margin:[0,0,0,12]}),a.messageBottom&&s.content.push({text:a.messageBottom,style:"message",margin:[0,0,0,12]}),a.title&&s.content.unshift({text:a.title,style:"title",margin:[0,0,0,12]}),l.customize&&l.customize(s,l,t),_pdfMake().createPdf(s));"open"!==l.download||_isDuffSafari()?t.download(a.filename):t.open(),n()},async:100,title:"*",filename:"*",extension:".pdf",exportOptions:{},orientation:"portrait",pageSize:"en-US"===navigator.language||"en-CA"===navigator.language?"LETTER":"A4",header:!0,footer:!0,messageTop:"*",messageBottom:"*",customize:null,download:"download"};export default DataTable;