diff options
Diffstat (limited to 'ecomp-sdk-app/src/main/webapp/app/policyApp/libs/tableExport.js')
-rw-r--r-- | ecomp-sdk-app/src/main/webapp/app/policyApp/libs/tableExport.js | 359 |
1 files changed, 0 insertions, 359 deletions
diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/libs/tableExport.js b/ecomp-sdk-app/src/main/webapp/app/policyApp/libs/tableExport.js deleted file mode 100644 index 1bfaa0fc3..000000000 --- a/ecomp-sdk-app/src/main/webapp/app/policyApp/libs/tableExport.js +++ /dev/null @@ -1,359 +0,0 @@ -/*The MIT License (MIT) - -Copyright (c) 2014 https://github.com/kayalshri/ - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE.*/ - -(function($){ - $.fn.extend({ - tableExport: function(options) { - var defaults = { - separator: ',', - ignoreColumn: [], - tableName:'yourTableName', - type:'csv', - pdfFontSize:14, - pdfLeftMargin:20, - escape:'true', - htmlContent:'false', - consoleLog:'false' - }; - - var options = $.extend(defaults, options); - var el = this; - - if(defaults.type == 'csv' || defaults.type == 'txt'){ - - // Header - var tdData =""; - $(el).find('thead').find('tr').each(function() { - tdData += "\n"; - $(this).filter(':visible').find('th').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - tdData += '"' + parseString($(this)) + '"' + defaults.separator; - } - } - - }); - tdData = $.trim(tdData); - tdData = $.trim(tdData).substring(0, tdData.length -1); - }); - - // Row vs Column - $(el).find('tbody').find('tr').each(function() { - tdData += "\n"; - $(this).filter(':visible').find('td').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - tdData += '"'+ parseString($(this)) + '"'+ defaults.separator; - } - } - }); - //tdData = $.trim(tdData); - tdData = $.trim(tdData).substring(0, tdData.length -1); - }); - - //output - if(defaults.consoleLog == 'true'){ - console.log(tdData); - } - var base64data = "base64," + $.base64.encode(tdData); - window.open('data:application/'+defaults.type+';filename=exportData;' + base64data); - }else if(defaults.type == 'sql'){ - - // Header - var tdData ="INSERT INTO `"+defaults.tableName+"` ("; - $(el).find('thead').find('tr').each(function() { - - $(this).filter(':visible').find('th').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - tdData += '`' + parseString($(this)) + '`,' ; - } - } - - }); - tdData = $.trim(tdData); - tdData = $.trim(tdData).substring(0, tdData.length -1); - }); - tdData += ") VALUES "; - // Row vs Column - $(el).find('tbody').find('tr').each(function() { - tdData += "("; - $(this).filter(':visible').find('td').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - tdData += '"'+ parseString($(this)) + '",'; - } - } - }); - - tdData = $.trim(tdData).substring(0, tdData.length -1); - tdData += "),"; - }); - tdData = $.trim(tdData).substring(0, tdData.length -1); - tdData += ";"; - - //output - //console.log(tdData); - - if(defaults.consoleLog == 'true'){ - console.log(tdData); - } - - var base64data = "base64," + $.base64.encode(tdData); - window.open('data:application/sql;filename=exportData;' + base64data); - - - }else if(defaults.type == 'json'){ - - var jsonHeaderArray = []; - $(el).find('thead').find('tr').each(function() { - var tdData =""; - var jsonArrayTd = []; - - $(this).filter(':visible').find('th').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - jsonArrayTd.push(parseString($(this))); - } - } - }); - jsonHeaderArray.push(jsonArrayTd); - - }); - - var jsonArray = []; - $(el).find('tbody').find('tr').each(function() { - var tdData =""; - var jsonArrayTd = []; - - $(this).filter(':visible').find('td').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - jsonArrayTd.push(parseString($(this))); - } - } - }); - jsonArray.push(jsonArrayTd); - - }); - - var jsonExportArray =[]; - jsonExportArray.push({header:jsonHeaderArray,data:jsonArray}); - - //Return as JSON - //console.log(JSON.stringify(jsonExportArray)); - - //Return as Array - //console.log(jsonExportArray); - if(defaults.consoleLog == 'true'){ - console.log(JSON.stringify(jsonExportArray)); - } - var base64data = "base64," + $.base64.encode(JSON.stringify(jsonExportArray)); - window.open('data:application/json;filename=exportData;' + base64data); - }else if(defaults.type == 'xml'){ - - var xml = '<?xml version="1.0" encoding="utf-8"?>'; - xml += '<tabledata><fields>'; - - // Header - $(el).find('thead').find('tr').each(function() { - $(this).filter(':visible').find('th').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - xml += "<field>" + parseString($(this)) + "</field>"; - } - } - }); - }); - xml += '</fields><data>'; - - // Row Vs Column - var rowCount=1; - $(el).find('tbody').find('tr').each(function() { - xml += '<row id="'+rowCount+'">'; - var colCount=0; - $(this).filter(':visible').find('td').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - xml += "<column-"+colCount+">"+parseString($(this))+"</column-"+colCount+">"; - } - } - colCount++; - }); - rowCount++; - xml += '</row>'; - }); - xml += '</data></tabledata>' - - if(defaults.consoleLog == 'true'){ - console.log(xml); - } - - var base64data = "base64," + $.base64.encode(xml); - window.open('data:application/xml;filename=exportData;' + base64data); - - }else if(defaults.type == 'excel' || defaults.type == 'doc'|| defaults.type == 'powerpoint' ){ - //console.log($(this).html()); - var excel="<table>"; - // Header - $(el).find('thead').find('tr').each(function() { - excel += "<tr>"; - $(this).filter(':visible').find('th').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - excel += "<td>" + parseString($(this))+ "</td>"; - } - } - }); - excel += '</tr>'; - - }); - - - // Row Vs Column - var rowCount=1; - $(el).find('tbody').find('tr').each(function() { - excel += "<tr>"; - var colCount=0; - $(this).filter(':visible').find('td').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - excel += "<td>"+parseString($(this))+"</td>"; - } - } - colCount++; - }); - rowCount++; - excel += '</tr>'; - }); - excel += '</table>' - - if(defaults.consoleLog == 'true'){ - console.log(excel); - } - - var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:"+defaults.type+"' xmlns='http://www.w3.org/TR/REC-html40'>"; - excelFile += "<head>"; - excelFile += "<!--[if gte mso 9]>"; - excelFile += "<xml>"; - excelFile += "<x:ExcelWorkbook>"; - excelFile += "<x:ExcelWorksheets>"; - excelFile += "<x:ExcelWorksheet>"; - excelFile += "<x:Name>"; - excelFile += "{worksheet}"; - excelFile += "</x:Name>"; - excelFile += "<x:WorksheetOptions>"; - excelFile += "<x:DisplayGridlines/>"; - excelFile += "</x:WorksheetOptions>"; - excelFile += "</x:ExcelWorksheet>"; - excelFile += "</x:ExcelWorksheets>"; - excelFile += "</x:ExcelWorkbook>"; - excelFile += "</xml>"; - excelFile += "<![endif]-->"; - excelFile += "</head>"; - excelFile += "<body>"; - excelFile += excel; - excelFile += "</body>"; - excelFile += "</html>"; - - var base64data = "base64," + $.base64.encode(excelFile); - window.open('data:application/vnd.ms-'+defaults.type+';filename=exportData.doc;' + base64data); - - }else if(defaults.type == 'png'){ - html2canvas($(el), { - onrendered: function(canvas) { - var img = canvas.toDataURL("image/png"); - window.open(img); - - - } - }); - }else if(defaults.type == 'pdf'){ - - var doc = new jsPDF('p','pt', 'a4', true); - doc.setFontSize(defaults.pdfFontSize); - - // Header - var startColPosition=defaults.pdfLeftMargin; - $(el).find('thead').find('tr').each(function() { - $(this).filter(':visible').find('th').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - var colPosition = startColPosition+ (index * 50); - doc.text(colPosition,20, parseString($(this))); - } - } - }); - }); - - - // Row Vs Column - var startRowPosition = 20; var page =1;var rowPosition=0; - $(el).find('tbody').find('tr').each(function(index,data) { - rowCalc = index+1; - - if (rowCalc % 26 == 0){ - doc.addPage(); - page++; - startRowPosition=startRowPosition+10; - } - rowPosition=(startRowPosition + (rowCalc * 10)) - ((page -1) * 280); - - $(this).filter(':visible').find('td').each(function(index,data) { - if ($(this).css('display') != 'none'){ - if(defaults.ignoreColumn.indexOf(index) == -1){ - var colPosition = startColPosition+ (index * 50); - doc.text(colPosition,rowPosition, parseString($(this))); - } - } - - }); - - }); - - // Output as Data URI - doc.output('datauri'); - - } - - - function parseString(data){ - - if(defaults.htmlContent == 'true'){ - content_data = data.html().trim(); - }else{ - content_data = data.text().trim(); - } - - if(defaults.escape == 'true'){ - content_data = escape(content_data); - } - - - - return content_data; - } - - } - }); - })(jQuery); - |