"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils/methods/xe-utils")),_conf=_interopRequireDefault(require("../../conf")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var printFrame,defaultHtmlStyle="body{margin:0}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.plx-table{border:0;border-collapse:separate;table-layout:fixed;text-align:left;font-size:14px;border-spacing:0}.plx-table.is--print{width:100%}td,thead tr:last-child th{border-bottom:1px solid #e8eaec}.plx-table:not(.b--style-none) thead tr:first-child th,.plx-table:not(.show--head):not(.b--style-none) tbody tr:first-child td{border-top:1px solid #e8eaec}.plx-table:not(.b--style-none) tr td:first-child,.plx-table:not(.b--style-none) tr th:first-child{border-left:1px solid #e8eaec}.plx-table:not(.t--border){border-width:1px}.plx-table.t--border:not(.b--style-none) td,table.t--border:not(.b--style-none) th{border-right:1px solid #e8eaec}.plx-table:not(.b--style-none) thead{background-color:#f8f8f9}.plx-table td>div,.plx-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.plx-table--tree-node{text-align:left}.plx-table--tree-node-wrapper{position:relative}.plx-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.plx-table--tree-icon{position:absolute;left:0;top:.3em;width:0;height:0;border-style:solid;border-width:.5em;border-top-color:#939599;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.plx-table--tree-cell{display:block;padding-left:1.5em}",fileForm=document.createElement("form"),fileInput=document.createElement("input");function createFrame(){var e=document.createElement("iframe");return e.className="plx-table--print-frame",e}function hasTreeChildren(e,t){var o=e.treeOpts;return t[o.children]&&t[o.children].length}function handleExport(e,t,o,n){var r=getExportData(e,t,n,o),a=r.columns,i=r.datas;return e.preventEvent(null,"event.export",{$table:e,options:t,columns:a,datas:i},function(){return downloadFile(e,t,getContent(e,t,a,i))})}function getContent(e,t,o,n){switch(t.type){case"csv":return toCsv(e,t,o,n);case"txt":return toTxt(e,t,o,n);case"html":return toHtml(e,t,o,n);case"xml":return toXML(e,t,o,n)}return""}function getSeq(e,t,o,n,r){var a=e.seqOpts,i=a.seqMethod||n.indexMethod;return i?i({row:t,rowIndex:o,column:n,columnIndex:r}):(a.startIndex||e.startIndex)+o+1}function getHeaderTitle(e,t){return(e.original?t.property:t.getTitle())||""}function toCsv(o,t,n,e){var r="\ufeff";if(t.isHeader&&(r+=n.map(function(e){return'"'.concat(getHeaderTitle(t,e),'"')}).join(",")+"\n"),e.forEach(function(t,e){r+=n.map(function(e){return'"'.concat(t[e.id],'"')}).join(",")+"\n"}),t.isFooter){var a=o.footerData;(t.footerFilterMethod?a.filter(t.footerFilterMethod):a).forEach(function(t){r+=n.map(function(e){return'"'.concat(t[o.$getColumnIndex(e)]||"",'"')}).join(",")+"\n"})}return r}function toTxt(o,t,n,e){var r="";if(t.isHeader&&(r+=n.map(function(e){return"".concat(getHeaderTitle(t,e))}).join("\t")+"\n"),e.forEach(function(t,e){r+=n.map(function(e){return"".concat(t[e.id])}).join("\t")+"\n"}),t.isFooter){var a=o.footerData;(t.footerFilterMethod?a.filter(t.footerFilterMethod):a).forEach(function(t){r+=n.map(function(e){return"".concat(t[o.$getColumnIndex(e)]||"")}).join(",")+"\n"})}return r}function hasEllipsis(e,t,o,n){var r=t[o],a=_xeUtils.default.isUndefined(r)||_xeUtils.default.isNull(r)?n:r,i="title"===a||(!0===a||"tooltip"===a)||"ellipsis"===a;return!e.scrollXLoad&&!e.scrollYLoad||i||(i=!0),i}function toHtml(i,r,e,t){var l=i.id,o=i.border,n=i.treeConfig,s=i.treeOpts,a=i.isAllSelected,c=i.headerAlign,d=i.align,p=i.footerAlign,u=i.showOverflow,f=i.showAllOverflow,m=i.showHeaderOverflow,h=i.showHeaderAllOverflow,x=_xeUtils.default.isBoolean(f)?f:u,b=_xeUtils.default.isBoolean(h)?h:m,v=["plx-table",o?"t--border":"","none"===o?"b--style-none":"",r.print?"is--print":"",r.isHeader?"show--head":""].filter(function(e){return e}),g=["","",''.concat(r.sheetName,""),""),"","",''),"".concat(e.map(function(e){return'')}).join(""),"")].join("");if(r.isHeader&&(g+="".concat(e.map(function(e){var t=e.headerAlign||e.align||c||d,o=hasEllipsis(i,e,"showHeaderOverflow",b)?["col--ellipsis"]:[],n=getHeaderTitle(r,e);return t&&o.push("col--".concat(t)),-1<["selection","checkbox"].indexOf(e.type)?'"):'")}).join(""),"")),t.length&&(g+="",n?t.forEach(function(a){g+=""+e.map(function(e){var t=e.align||d,o=hasEllipsis(i,e,"showOverflow",x)?["col--ellipsis"]:[],n=a[e.id];if(t&&o.push("col--".concat(t)),e.treeNode){var r="";return a._hasChild&&(r=''),o.push("plx-table--tree-node"),"radio"===e.type?'"):-1<["selection","checkbox"].indexOf(e.type)?'"):'")}return"radio"===e.type?'"):-1<["selection","checkbox"].indexOf(e.type)?'"):'")}).join("")+""}):t.forEach(function(r){g+=""+e.map(function(e){var t=e.align||d,o=hasEllipsis(i,e,"showOverflow",x)?["col--ellipsis"]:[],n=r[e.id];return t&&o.push("col--".concat(t)),"radio"===e.type?'"):-1<["selection","checkbox"].indexOf(e.type)?'"):'")}).join("")+""}),g+=""),r.isFooter){var y=i.footerData,w=r.footerFilterMethod?y.filter(r.footerFilterMethod):y;w.length&&(g+="",w.forEach(function(r){g+="".concat(e.map(function(e){var t=e.footerAlign||e.align||p||d,o=hasEllipsis(i,e,"showOverflow",x)?["col--ellipsis"]:[],n=_xeUtils.default.toString(r[i.$getColumnIndex(e)]);return t&&o.push("col--".concat(t)),'")}).join(""),"")}),g+="")}return g+"
').concat(n,"
').concat(r,'
').concat(r,'
').concat(r,'
').concat(n,"
').concat(n,"
').concat(n,"
').concat(n,"
"}function toXML(o,t,n,e){var r=['','','','',"16.00","",'',"7920","21570","32767","32767","False","False","",''),"",n.map(function(e){return'')}).join("")].join("");if(t.isHeader&&(r+="".concat(n.map(function(e){return''.concat(getHeaderTitle(t,e),"")}).join(""),"")),e.forEach(function(t,e){r+=""+n.map(function(e){return''.concat(t[e.id],"")}).join("")+""}),t.isFooter){var a=o.footerData;(t.footerFilterMethod?a.filter(t.footerFilterMethod):a).forEach(function(t){r+="".concat(n.map(function(e){return''.concat(t[o.$getColumnIndex(e)||""],"")}).join(""),"")})}return"".concat(r,"
")}function downloadFile(e,t,o){var n=t.filename,r=t.type,a=t.download,i="".concat(n,".").concat(r);if(window.Blob){var l=new Blob([o],{type:"text/".concat(r)});if(!a)return Promise.resolve({type:r,content:o,blob:l});if(navigator.msSaveBlob)navigator.msSaveBlob(l,i);else{var s=document.createElement("a");s.target="_blank",s.download=i,s.href=URL.createObjectURL(l),document.body.appendChild(s),s.click(),document.body.removeChild(s)}!1!==t.message&&_vXETable.default.$modal.message({message:_conf.default.i18n("plx.table.expSuccess"),status:"success"})}else _tools.UtilTools.error("plx.error.notExp")}function getLabelData(l,s,e){var t=l.treeConfig,o=l.treeOpts,c=l.scrollXLoad,d=l.scrollYLoad;if(t){var p=[];return _xeUtils.default.eachTree(e,function(n,r,e,t,o,a){var i={_level:a.length-1,_hasChild:hasTreeChildren(l,n)};s.forEach(function(e,t){var o="";switch(e.type){case"seq":case"index":o=getSeq(l,n,r,e,t);break;case"selection":case"checkbox":o=l.isCheckedByCheckboxRow(n);break;case"radio":o=l.isCheckedByRadioRow(n);break;default:o=_tools.UtilTools.getCellLabel(n,e,{$table:l})}i[e.id]=_xeUtils.default.toString(o)}),p.push(Object.assign(i,n))},o),p}return e.map(function(r,a){var i={};return s.forEach(function(e,t){var o="";switch(e.type){case"seq":case"index":o=getSeq(l,r,a,e,t);break;case"selection":case"checkbox":o=l.isCheckedByCheckboxRow(r);break;case"radio":o=l.isCheckedByRadioRow(r);break;default:if(c||d)o=_tools.UtilTools.getCellLabel(r,e,{$table:l});else{var n=_tools.DomTools.getCell(l,{row:r,column:e});o=n?n.innerText.trim():_tools.UtilTools.getCellLabel(r,e,{$table:l})}}i[e.id]=_xeUtils.default.toString(o)}),i})}function getExportData(e,t,o,n){var r=t.columns?t.columns:n,a=t.data||o;return t.columnFilterMethod&&(r=r.filter(t.columnFilterMethod)),t.dataFilterMethod&&(a=a.filter(t.dataFilterMethod)),{columns:r,datas:getLabelData(e,r,a)}}function replaceDoubleQuotation(e){return e.replace(/^"/,"").replace(/"$/,"")}function parseCsv(e,t){var o=t.split("\n"),n=[],r=[];if(o.length){var a=o.slice(1);r=o[0].split(",").map(replaceDoubleQuotation),a.forEach(function(e){if(e){var o={};e.split(",").forEach(function(e,t){r[t]&&(o[r[t]]=replaceDoubleQuotation(e))}),n.push(o)}})}return{fields:r,rows:n}}function parseTxt(e,t){var o=t.split("\n"),n=[],r=[];if(o.length){var a=o.slice(1);r=o[0].split("\t"),a.forEach(function(e){if(e){var o={};e.split("\t").forEach(function(e,t){r[t]&&(o[r[t]]=replaceDoubleQuotation(e))}),n.push(o)}})}return{fields:r,rows:n}}function parseHTML(e,t){var o=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body"),n=[],r=[];if(o.length){var a=getElementsByTagName(o[0],"table");if(a.length){var i=getElementsByTagName(a[0],"thead");if(i.length){_xeUtils.default.arrayEach(getElementsByTagName(i[0],"tr"),function(e){_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),function(e){r.push(e.textContent)})});var l=getElementsByTagName(a[0],"tbody");l.length&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),function(e){var o={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),function(e,t){r[t]&&(o[r[t]]=e.textContent||"")}),n.push(o)})}}}return{fields:r,rows:n}}function parseXML(e,t){var o=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),r=[],a=[];if(o.length){var n=getElementsByTagName(o[0],"Table");if(n.length){var i=getElementsByTagName(n[0],"Row");i.length&&(_xeUtils.default.arrayEach(getElementsByTagName(i[0],"Cell"),function(e){a.push(e.textContent)}),_xeUtils.default.arrayEach(i,function(e,t){if(t){var o={},n=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(n,function(e,t){a[t]&&(o[a[t]]=e.textContent)}),r.push(o)}}))}}return{fields:a,rows:r}}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function checkImportData(e,t,o){var n=[];return e.forEach(function(e){var t=e.property;t&&n.push(t)}),n.every(function(e){return-1