Files
vxe-table/lib/export/src/export.min.js
xuliangzhan f6e05316b5 update
2019-07-05 18:18:14 +08:00

1 line
1.9 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _tools=require("../../tools"),_default={getCsvContent:function(e,t,o,n){var a=e.original,r=getCsvData(e,t,o,n),l=r.columns,c=r.datas,i="\ufeff";return e.isHeader&&(i+=l.map(function(e){var t=e.own;return t.title||t.label}).join(",")+"\n"),c.forEach(function(t,o){i+=a?l.map(function(e){return"index"===e.type?'"'.concat(e.indexMethod?e.indexMethod(o):o+1,'"'):'"'.concat(_tools.UtilTools.getCellValue(t,e)||"",'"')}).join(",")+"\n":l.map(function(e){return'"'.concat(t[e.id],'"')}).join(",")+"\n"}),i},downloadCsc:function(e,t){if(!e.download)return Promise.resolve(t);if(navigator.msSaveBlob&&window.Blob)navigator.msSaveBlob(new Blob([t],{type:"text/csv"}),e.filename);else if(_tools.DomTools.browse["-ms"]){var o=window.top.open("about:blank","_blank");o.document.charset="utf-8",o.document.write(t),o.document.close(),o.document.execCommand("SaveAs",e.filename),o.close()}else{var n=document.createElement("a");n.target="_blank",n.download=e.filename,n.href=getCsvUrl(e,t),document.body.appendChild(n),n.click(),document.body.removeChild(n)}}};function getCsvLabelData(e,t,o){var n=o.querySelectorAll(".vxe-table--body-wrapper.body--wrapper .vxe-body--row");return Array.from(n).map(function(o){var n={};return e.forEach(function(e){var t=o.querySelector(".".concat(e.id));n[e.id]=t?t.innerText.trim():""}),n})}function getCsvData(e,t,o,n){var a=e.original,r=e.columns?e.columns:o;e.columnFilterMethod&&(r=r.filter(e.columnFilterMethod));var l=e.data?e.data:a?t:getCsvLabelData(r,t,n);return e.dataFilterMethod&&(l=l.filter(e.dataFilterMethod)),{columns:r,datas:l}}function getCsvUrl(e,t){return window.Blob&&window.URL&&window.URL.createObjectURL&&!_tools.DomTools.browse.safari?URL.createObjectURL(new Blob([t],{type:"text/csv"})):"data:attachment/csv;charset=utf-8,".concat(encodeURIComponent(t))}exports.default=_default;