UNPKG

exportdatafile

Version:
9 lines (8 loc) 35.6 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var Q=["EXCEL","PDF","TXT","ALL"];function P(s,f=!1){let p=new Date(s),t=new Date(p.getTime()+420*60*1e3),n=t.getUTCFullYear(),c=String(t.getUTCMonth()+1).padStart(2,"0"),m=String(t.getUTCDate()).padStart(2,"0"),w=String(t.getUTCHours()).padStart(2,"0"),d=String(t.getUTCMinutes()).padStart(2,"0"),g=String(t.getUTCSeconds()).padStart(2,"0");return f?`${m}-${c}-${n} ${w}:${d}:${g}`:`${m}-${c}-${n}`}function Z(s){return s.every(f=>Q.includes(f))}function j(s){let f=0;return s.forEach(p=>{p.child&&p.child.length>0?f+=j(p.child):f+=1}),f}var N=s=>{let f=[];return s.forEach(p=>{p.child&&p.child.length>0?f.push(...N(p.child)):f.push(p)}),f},O=s=>s.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ");async function W(s,f,p,t){for(let n=0;n<t.length;n++){let c=t[n];if(_optionalChain([c, 'optionalAccess', _2 => _2.isImage])&&_optionalChain([c, 'optionalAccess', _3 => _3.imageSrc])&&typeof c.imageSrc=="string"&&c.imageSrc.startsWith("data:image"))try{let{buffer:m,extension:w}=ot(c.imageSrc),d=s.addImage({buffer:m,extension:w});f.addImage(d,{tl:{col:n,row:p.number-1},ext:{width:70,height:60},editAs:"oneCell"}),(!p.height||p.height<60)&&(p.height=35)}catch(m){console.error("\u274C Error adding image to row:",m),p.getCell(n+1).value="[Image]"}}}function ot(s){let f=s.match(/^data:image\/(\w+);base64,(.*)$/);if(!f)throw new Error("Invalid base64 image format");let p=f[1]==="jpg"?"jpeg":f[1],t=f[2],n=atob(t),c=n.length,m=new Uint8Array(c);for(let w=0;w<c;w++)m[w]=n.charCodeAt(w);return{buffer:m,extension:p}}var E=s=>{if(!s)return s;let f=s.replace(/^#/,"");return f.length===8?f.substring(2):f};function tt(s,f){let p=new Uint8Array(s),t="";for(let c=0;c<p.length;c++)t+=String.fromCharCode(p[c]);let n=btoa(t);return`data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;filename=${f};base64,${n}`}var _exceljs = require('exceljs'); var _exceljs2 = _interopRequireDefault(_exceljs);var rt=async({columns:s,data:f,grouping:p,date:t,excelSetting:n,title:c,footerSetting:m,groupingSetting:w})=>{let d=new _exceljs2.default.Workbook;s=s.filter(o=>!_optionalChain([o, 'access', _4 => _4.options, 'optionalAccess', _5 => _5.disabledColumn]));let g=d.addWorksheet(c||_optionalChain([n, 'optionalAccess', _6 => _6.titleExcel])),R=j(s),z=g.addRow([]);z.getCell(1).value=c||_optionalChain([n, 'optionalAccess', _7 => _7.titleExcel]),z.getCell(1).alignment={horizontal:"center"};let D=g.getColumn(R).letter;if(g.mergeCells(`A${z.number}:${D}${z.number}`),z.eachCell(o=>{o.font={color:{argb:"000000"},bold:!0,size:12}}),t){let o=g.addRow([]);o.getCell(1).value=`${t.caption?t.caption:"Tanggal "} : ${_optionalChain([t, 'optionalAccess', _8 => _8.start_date])} ${_optionalChain([t, 'optionalAccess', _9 => _9.end_date])?`s/d ${_optionalChain([t, 'optionalAccess', _10 => _10.end_date])}`:""}`,o.getCell(1).alignment={horizontal:"center"},g.mergeCells(`A${o.number}:${D}${o.number}`),o.eachCell(r=>{r.font={color:{argb:"00000"},bold:!0,size:12}})}let F=g.addRow([]);F.getCell(1).value=_optionalChain([n, 'optionalAccess', _11 => _11.additionalTextHeader])||"",F.getCell(1).alignment={horizontal:"center"},g.mergeCells(`A${F.number}:${D}${F.number}`),F.eachCell(o=>{o.font={color:{argb:"000000"},bold:!0,size:12}}),_optionalChain([n, 'optionalAccess', _12 => _12.customHeader])&&n.customHeader(g,R);let A=_optionalChain([n, 'optionalAccess', _13 => _13.startY])&&n.startY>0?n.startY:1;if(A>1)for(let o=1;o<A;o++)g.addRow([]);let M=s.some(o=>o.child&&o.child.length>0),h=g.addRow([]),$=M?g.addRow([]):null;s.forEach(o=>{if(o.child&&o.child.length>0){let r=h.actualCellCount+1,u=o.child.length;h.getCell(r).value=o.label,u>1&&g.mergeCells(h.number,r,h.number,r+u-1);for(let l=r;l<r+u;l++){let e=h.getCell(l);e.fill={type:"pattern",pattern:"solid",fgColor:{argb:_optionalChain([n, 'optionalAccess', _14 => _14.bgColor])||"E8E5E5"}},e.font={color:{argb:_optionalChain([n, 'optionalAccess', _15 => _15.txtColor])||"000000"},bold:!0},e.alignment={horizontal:"center",vertical:"middle"}}o.child.forEach((l,e)=>{if($){let C=$.getCell(r+e);C.value=l.label,C.fill={type:"pattern",pattern:"solid",fgColor:{argb:_optionalChain([n, 'optionalAccess', _16 => _16.bgColor])||"E8E5E5"}},C.font={color:{argb:_optionalChain([n, 'optionalAccess', _17 => _17.txtColor])||"000000"},bold:!0};let T=_optionalChain([l, 'access', _18 => _18.options, 'optionalAccess', _19 => _19.halign])||(["RP","GR","NUMBER"].includes(_optionalChain([l, 'optionalAccess', _20 => _20.options, 'optionalAccess', _21 => _21.format])||"")?"right":"left"),i=_optionalChain([l, 'access', _22 => _22.options, 'optionalAccess', _23 => _23.valign])||"middle";C.alignment={horizontal:T,vertical:i}}})}else{let r=h.actualCellCount+1;h.getCell(r).value=o.label,h.getCell(r).fill={type:"pattern",pattern:"solid",fgColor:{argb:_optionalChain([n, 'optionalAccess', _24 => _24.bgColor])||"E8E5E5"}},h.getCell(r).font={color:{argb:_optionalChain([n, 'optionalAccess', _25 => _25.txtColor])||"000000"},bold:!0},h.getCell(r).alignment={horizontal:_optionalChain([o, 'access', _26 => _26.options, 'optionalAccess', _27 => _27.halign])||"center",vertical:_optionalChain([o, 'access', _28 => _28.options, 'optionalAccess', _29 => _29.valign])||"middle"},M&&$&&g.mergeCells(h.number,r,$.number,r)}}),N(s).forEach((o,r)=>{let u=r+1,l=g.getColumn(u);if(_optionalChain([o, 'access', _30 => _30.options, 'optionalAccess', _31 => _31.width]))l.width=o.options.width;else{let e=_optionalChain([o, 'access', _32 => _32.options, 'optionalAccess', _33 => _33.format])==="IMAGE"?15:20;l.width=e}});let B={};f.forEach(async o=>{if(_optionalChain([o, 'access', _34 => _34.detail, 'optionalAccess', _35 => _35.length])>0){if(p.length>0){let l=j(s),e=p.map(i=>{let k=o[i];return k!=null&&k!==""?`${O(i)} : ${k}`:""}).filter(Boolean).join(" | "),C=typeof w=="function"?w(o):w||{},T=g.addRow([e]);g.mergeCells(`A${T.number}:${String.fromCharCode(64+l)}${T.number}`),T.getCell(1).alignment={horizontal:_optionalChain([C, 'optionalAccess', _36 => _36.halign])||"left"},_optionalChain([C, 'optionalAccess', _37 => _37.txtColor])&&(T.getCell(1).font={bold:!0,color:{argb:_optionalChain([C, 'optionalAccess', _38 => _38.txtColor])||"000000"}}),_optionalChain([C, 'optionalAccess', _39 => _39.bgColor])&&(T.getCell(1).fill={type:"pattern",pattern:"solid",fgColor:{argb:_optionalChain([C, 'optionalAccess', _40 => _40.bgColor])}})}let r={};o.detail.forEach(async l=>{let C=N(s).map(i=>{if(_optionalChain([i, 'optionalAccess', _41 => _41.options, 'optionalAccess', _42 => _42.format])==="IMAGE"&&l[i.key])return{value:"",alignment:{horizontal:"center",vertical:"middle"},isImage:!0,imageSrc:l[i.key]};let k=_optionalChain([i, 'optionalAccess', _43 => _43.options, 'optionalAccess', _44 => _44.format])==="DATETIME"?P(l[i.key],!0):_optionalChain([i, 'optionalAccess', _45 => _45.options, 'optionalAccess', _46 => _46.format])==="DATE"?P(l[i.key]):l[i.key];i.formatter&&(k=i.formatter(k,l));let v={horizontal:_optionalChain([i, 'optionalAccess', _47 => _47.options, 'optionalAccess', _48 => _48.halign])?_optionalChain([i, 'optionalAccess', _49 => _49.options, 'optionalAccess', _50 => _50.halign]):_optionalChain([i, 'optionalAccess', _51 => _51.options, 'optionalAccess', _52 => _52.format])==="RP"||_optionalChain([i, 'optionalAccess', _53 => _53.options, 'optionalAccess', _54 => _54.format])==="GR"||_optionalChain([i, 'optionalAccess', _55 => _55.options, 'optionalAccess', _56 => _56.format])==="NUMBER"?"right":"left"},I=i.key,_=l[i.key];return B[I]=(B[I]||0)+Number(_),r[I]=(r[I]||0)+Number(_),{value:k,alignment:v,..._optionalChain([i, 'optionalAccess', _57 => _57.options, 'optionalAccess', _58 => _58.bgColor])&&{fgColor:{argb:i.options.bgColor}},..._optionalChain([i, 'optionalAccess', _59 => _59.options, 'optionalAccess', _60 => _60.txtColor])&&{color:{argb:i.options.txtColor}},numFmt:_optionalChain([i, 'optionalAccess', _61 => _61.options, 'optionalAccess', _62 => _62.format])==="RP"?"#,##0":_optionalChain([i, 'optionalAccess', _63 => _63.options, 'optionalAccess', _64 => _64.format])==="GR"?"#,##0.000":void 0}}),T=g.addRow(C.map(i=>i.value));C.forEach((i,k)=>{let v=T.getCell(k+1),I=["center","right","left","fill","justify","centerContinuous","distributed"],_=["top","middle","bottom","distributed","justify"],S,Y;i.alignment&&typeof i.alignment.horizontal=="string"&&I.includes(i.alignment.horizontal)&&(S=i.alignment.horizontal),i.alignment&&"vertical"in i.alignment&&typeof i.alignment.vertical=="string"&&_.includes(i.alignment.vertical)&&(Y=i.alignment.vertical),v.alignment={...S?{horizontal:S}:{},...Y?{vertical:Y}:{}},!i.isImage&&"numFmt"in i&&i.numFmt&&typeof i.value=="number"&&!isNaN(i.value)&&(v.value=Number(i.value),v.numFmt=i.numFmt)}),await W(d,g,T,C)});let u=N(s);if(!_optionalChain([m, 'optionalAccess', _65 => _65.subTotal, 'optionalAccess', _66 => _66.disableSubtotal])){let l=g.addRow(s.map(()=>null));u.forEach((e,C)=>{if(_optionalChain([e, 'optionalAccess', _67 => _67.options, 'optionalAccess', _68 => _68.format])==="RP"||_optionalChain([e, 'optionalAccess', _69 => _69.options, 'optionalAccess', _70 => _70.format])==="GR"||_optionalChain([e, 'optionalAccess', _71 => _71.options, 'optionalAccess', _72 => _72.format])==="NUMBER"){let i=f.length+4-1,k=`SUM(${String.fromCharCode(65+C)}4:${String.fromCharCode(65+C)}${i})`,v=l.getCell(C+1),I=_optionalChain([m, 'optionalAccess', _73 => _73.subTotal, 'optionalAccess', _74 => _74.enableCount])&&p.length>0?" : "+o.detail.length:"",_=_optionalChain([m, 'optionalAccess', _75 => _75.subTotal, 'optionalAccess', _76 => _76.captionItem])?_optionalChain([m, 'optionalAccess', _77 => _77.subTotal, 'optionalAccess', _78 => _78.captionItem]):"";l.getCell(1).value=`${_optionalChain([m, 'optionalAccess', _79 => _79.subTotal, 'optionalAccess', _80 => _80.caption])||"SUB TOTAL"} ${I} ${_}`,l.getCell(1).alignment={horizontal:"center"},v.numFmt=_optionalChain([e, 'optionalAccess', _81 => _81.options, 'optionalAccess', _82 => _82.format])==="GR"?"#,##0.000":"#,##0",v.value={formula:k},l.getCell(C+1).value=_optionalChain([e, 'optionalAccess', _83 => _83.options, 'access', _84 => _84.disabledFooter])?"":r[e.key]}else l.getCell(C+1).value=""}),_optionalChain([n, 'optionalAccess', _85 => _85.grandTotalSetting, 'optionalAccess', _86 => _86.colSpan])&&g.mergeCells(`A${l.number}:${String.fromCharCode(64+Number(_optionalChain([n, 'optionalAccess', _87 => _87.grandTotalSetting, 'optionalAccess', _88 => _88.colSpan])))}${l.number}`),l.eachCell(e=>{e.fill={type:"pattern",pattern:"solid",fgColor:{argb:_optionalChain([n, 'optionalAccess', _89 => _89.bgColor])||"#E8E5E5"},bgColor:{argb:_optionalChain([n, 'optionalAccess', _90 => _90.bgColor])||"#E8E5E5"}},e.font={color:{argb:_optionalChain([n, 'optionalAccess', _91 => _91.txtColor])},bold:!0}})}}else{let u=N(s).map(e=>{if(_optionalChain([e, 'optionalAccess', _92 => _92.options, 'optionalAccess', _93 => _93.format])==="IMAGE"&&o[e.key])return{value:"",alignment:{horizontal:"center",vertical:"middle"},isImage:!0,imageSrc:o[e.key]};let C=_optionalChain([e, 'optionalAccess', _94 => _94.options, 'optionalAccess', _95 => _95.format])==="DATETIME"?P(o[e.key]):_optionalChain([e, 'optionalAccess', _96 => _96.options, 'optionalAccess', _97 => _97.format])==="DATE"?P(o[e.key]):o[e.key];e.formatter&&(C=e.formatter(C,o));let T={horizontal:_optionalChain([e, 'optionalAccess', _98 => _98.options, 'optionalAccess', _99 => _99.halign])?_optionalChain([e, 'optionalAccess', _100 => _100.options, 'optionalAccess', _101 => _101.halign]):_optionalChain([e, 'optionalAccess', _102 => _102.options, 'optionalAccess', _103 => _103.format])==="RP"||_optionalChain([e, 'optionalAccess', _104 => _104.options, 'optionalAccess', _105 => _105.format])==="GR"||_optionalChain([e, 'optionalAccess', _106 => _106.options, 'optionalAccess', _107 => _107.format])==="NUMBER"?"right":"left"},i=e.key,k=o[e.key];return B[i]=(B[i]||0)+Number(k),{value:C,alignment:T,..._optionalChain([e, 'optionalAccess', _108 => _108.options, 'optionalAccess', _109 => _109.bgColor])&&{fgColor:{argb:e.options.bgColor}},..._optionalChain([e, 'optionalAccess', _110 => _110.options, 'optionalAccess', _111 => _111.txtColor])&&{color:{argb:e.options.txtColor}},numFmt:_optionalChain([e, 'optionalAccess', _112 => _112.options, 'optionalAccess', _113 => _113.format])==="RP"?"#,##0":_optionalChain([e, 'optionalAccess', _114 => _114.options, 'optionalAccess', _115 => _115.format])==="GR"?"#,##0.000":void 0}}),l=g.addRow(u.map(e=>e.value));u.forEach((e,C)=>{let T=l.getCell(C+1),i=["center","right","left","fill","justify","centerContinuous","distributed"],k=["top","middle","bottom","distributed","justify"],v,I;e.alignment&&typeof e.alignment.horizontal=="string"&&i.includes(e.alignment.horizontal)&&(v=e.alignment.horizontal),e.alignment&&"vertical"in e.alignment&&typeof e.alignment.vertical=="string"&&k.includes(e.alignment.vertical)&&(I=e.alignment.vertical),T.alignment={...v?{horizontal:v}:{},...I?{vertical:I}:{}},!e.isImage&&"numFmt"in e&&e.numFmt&&typeof e.value=="number"&&!isNaN(e.value)&&(T.value=Number(e.value),T.numFmt=e.numFmt),!e.isImage&&"fgColor"in e&&e.fgColor&&(T.fill={type:"pattern",pattern:"solid",fgColor:e.fgColor}),!e.isImage&&"color"in e&&e.color&&(T.font={color:e.color})}),await W(d,g,l,u)}});let L=g.addRow(s.map(()=>null)),V=N(s);_optionalChain([m, 'optionalAccess', _116 => _116.grandTotal, 'optionalAccess', _117 => _117.disableGrandTotal])||(V.forEach((o,r)=>{if(_optionalChain([o, 'optionalAccess', _118 => _118.options, 'optionalAccess', _119 => _119.format])==="RP"||_optionalChain([o, 'optionalAccess', _120 => _120.options, 'optionalAccess', _121 => _121.format])==="GR"||_optionalChain([o, 'optionalAccess', _122 => _122.options, 'optionalAccess', _123 => _123.format])==="NUMBER"){let l=f.length+4-1,e=`SUM(${String.fromCharCode(65+r)}4:${String.fromCharCode(65+r)}${l})`,C=L.getCell(r+1),T=_optionalChain([m, 'optionalAccess', _124 => _124.grandTotal, 'optionalAccess', _125 => _125.enableCount])?p.length>0?" : "+f.map(v=>v.detail.length).reduce((v,I)=>v+I,0):" : "+f.length:"",i=_optionalChain([m, 'optionalAccess', _126 => _126.grandTotal, 'optionalAccess', _127 => _127.captionItem])?_optionalChain([m, 'optionalAccess', _128 => _128.grandTotal, 'optionalAccess', _129 => _129.captionItem]):"",k=`${_optionalChain([m, 'optionalAccess', _130 => _130.grandTotal, 'optionalAccess', _131 => _131.caption])||"GRAND TOTAL"} ${T} ${i}`;L.getCell(1).value=k,L.getCell(1).alignment={horizontal:"center"},C.numFmt=_optionalChain([o, 'optionalAccess', _132 => _132.options, 'optionalAccess', _133 => _133.format])==="GR"?"#,##0.000":"#,##0",C.value={formula:e},L.getCell(r+1).value=_optionalChain([o, 'optionalAccess', _134 => _134.options, 'access', _135 => _135.disabledFooter])?"":B[o.key]}else L.getCell(r+1).value=""}),_optionalChain([n, 'optionalAccess', _136 => _136.grandTotalSetting, 'optionalAccess', _137 => _137.colSpan])&&g.mergeCells(`A${L.number}:${String.fromCharCode(64+Number(_optionalChain([n, 'optionalAccess', _138 => _138.grandTotalSetting, 'optionalAccess', _139 => _139.colSpan])))}${L.number}`),L.eachCell(o=>{o.fill={type:"pattern",pattern:"solid",fgColor:{argb:_optionalChain([n, 'optionalAccess', _140 => _140.bgColor])||"#E8E5E5"},bgColor:{argb:_optionalChain([n, 'optionalAccess', _141 => _141.bgColor])||"#E8E5E5"}},o.font={color:{argb:_optionalChain([n, 'optionalAccess', _142 => _142.txtColor])},bold:!0}})),_optionalChain([n, 'optionalAccess', _143 => _143.customFooter])&&n.customFooter(g,R);let a=await d.xlsx.writeBuffer(),y=`${_optionalChain([n, 'optionalAccess', _144 => _144.titleExcel])||c}.xlsx`,G=tt(a,y);_optionalChain([n, 'optionalAccess', _145 => _145.returnBuffer])&&n.returnBuffer(G);let x=new Blob([a],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),b=document.createElement("a");b.href=URL.createObjectURL(x),b.download=`${_optionalChain([n, 'optionalAccess', _146 => _146.titleExcel])||c}.xlsx`,document.body.appendChild(b),b.click(),document.body.removeChild(b)},J=rt;var _jspdf = require('jspdf');var _jspdfautotable = require('jspdf-autotable'); var _jspdfautotable2 = _interopRequireDefault(_jspdfautotable);var at=({columns:s,data:f,grouping:p,pdfSetting:t,date:n,title:c,footerSetting:m,groupingSetting:w})=>{let d=new (0, _jspdf.jsPDF)(_optionalChain([t, 'optionalAccess', _147 => _147.orientation]),_optionalChain([t, 'optionalAccess', _148 => _148.unit]),[_optionalChain([t, 'optionalAccess', _149 => _149.width])||297,_optionalChain([t, 'optionalAccess', _150 => _150.height])||210]),g=[],R=n?30:20;s=s.filter(a=>!_optionalChain([a, 'access', _151 => _151.options, 'optionalAccess', _152 => _152.disabledColumn])),d.setFontSize(10);let z=d.internal.pageSize.getWidth(),D=d.splitTextToSize(_optionalChain([t, 'optionalAccess', _153 => _153.textHeaderLeft])||"",110);d.text(D,15,18),d.text(`${c||_optionalChain([t, 'optionalAccess', _154 => _154.titlePdf])}`,z-15,18,{align:"right"}),n&&d.text(`${n.caption?n.caption:"TANGGAL "} : ${_optionalChain([n, 'optionalAccess', _155 => _155.start_date])} ${_optionalChain([n, 'optionalAccess', _156 => _156.end_date])?`s/d ${_optionalChain([n, 'optionalAccess', _157 => _157.end_date])}`:""}`,z-15,22,{align:"right"}),typeof _optionalChain([t, 'optionalAccess', _158 => _158.customHeader])=="function"&&t.customHeader(d,R,_jspdfautotable2.default),d.setProperties({title:c||_optionalChain([t, 'optionalAccess', _159 => _159.titlePdf])}),_optionalChain([t, 'optionalAccess', _160 => _160.startY])&&(R=t.startY);let F=[],A=[],M=s.some(a=>a.child&&a.child.length>0);s.forEach(a=>{let y={textColor:`#${E(_optionalChain([t, 'optionalAccess', _161 => _161.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _162 => _162.bgColor])||"E8E5E5")}`,..._optionalChain([a, 'optionalAccess', _163 => _163.options, 'optionalAccess', _164 => _164.width])&&{cellWidth:_optionalChain([a, 'optionalAccess', _165 => _165.options, 'optionalAccess', _166 => _166.width])},fontStyle:"bold",..._optionalChain([a, 'optionalAccess', _167 => _167.options, 'optionalAccess', _168 => _168.valign])?{valign:a.options.valign}:{},halign:_nullishCoalesce(_optionalChain([a, 'optionalAccess', _169 => _169.options, 'optionalAccess', _170 => _170.halign]), () => ((["RP","GR","NUMBER"].includes(_optionalChain([a, 'optionalAccess', _171 => _171.options, 'optionalAccess', _172 => _172.format])||"")?"right":"left")))};M?a.child&&a.child.length>0?(F.push({content:a.label,colSpan:a.child.length,styles:y}),a.child.forEach(G=>{A.push({content:G.label,key:G.key,options:G.options,styles:{...y,halign:_nullishCoalesce(_optionalChain([G, 'optionalAccess', _173 => _173.options, 'optionalAccess', _174 => _174.halign]), () => ((["RP","GR","NUMBER"].includes(_optionalChain([G, 'optionalAccess', _175 => _175.options, 'optionalAccess', _176 => _176.format])||"")?"right":"left")))}})})):F.push({content:a.label,rowSpan:2,key:a.key,options:a.options,styles:y}):F.push({content:a.label,key:a.key,options:a.options,styles:y})}),_optionalChain([t, 'optionalAccess', _177 => _177.header, 'optionalAccess', _178 => _178.column])||(g.push(F),M&&A.length>0&&g.push(A));let h={};f.forEach(a=>{if(_optionalChain([a, 'access', _179 => _179.detail, 'optionalAccess', _180 => _180.length])>0){if(p.length>0){let x=j(s),b=p.map(u=>{let l=a[u];return l!=null&&l!==""?`${O(u)} : ${l}`:""}).filter(Boolean).join(" | "),o=typeof w=="function"?w(a):w||{},r=[{content:b,colSpan:x,styles:{fontStyle:"bold",halign:_optionalChain([o, 'optionalAccess', _181 => _181.halign])||"left",textColor:`#${E(_optionalChain([o, 'optionalAccess', _182 => _182.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([o, 'optionalAccess', _183 => _183.bgColor])||"FFF")}`}}];g.push(r)}let y={},G=N(s);if(a.detail.forEach(x=>{let b=G.map(o=>{let r=x[o.key],u=o.key;o.formatter&&(r=o.formatter(r,x));let l=x[o.key];h[u]=(h[u]||0)+Number(l||0),y[u]=(y[u]||0)+Number(l||0);let e=_optionalChain([o, 'access', _184 => _184.options, 'optionalAccess', _185 => _185.format])==="IMAGE";return{content:(()=>{switch(_optionalChain([o, 'optionalAccess', _186 => _186.options, 'optionalAccess', _187 => _187.format])){case"RP":return r!==void 0?Number(r||0).toLocaleString("kr-ko"):"";case"GR":return r!==void 0?Number(r||0).toFixed(3):"";case"NUMBER":return r!==void 0?Number(r||0):"";case"IMAGE":return"";case"DATETIME":return r!==void 0?P(r||new Date,!0):"";case"DATE":return r!==void 0?P(r||new Date):"";default:return r!==void 0?r.toString():""}})(),foto:e?r:null,styles:{textColor:_optionalChain([o, 'optionalAccess', _188 => _188.options, 'optionalAccess', _189 => _189.txtColor])?`#${E(_optionalChain([o, 'optionalAccess', _190 => _190.options, 'optionalAccess', _191 => _191.txtColor]))}`:"#000",fillColor:_optionalChain([o, 'optionalAccess', _192 => _192.options, 'optionalAccess', _193 => _193.bgColor])?`#${E(_optionalChain([o, 'optionalAccess', _194 => _194.options, 'optionalAccess', _195 => _195.bgColor]))}`:void 0,halign:_optionalChain([o, 'optionalAccess', _196 => _196.options, 'optionalAccess', _197 => _197.halign])?_optionalChain([o, 'optionalAccess', _198 => _198.options, 'optionalAccess', _199 => _199.halign]):_optionalChain([o, 'optionalAccess', _200 => _200.options, 'optionalAccess', _201 => _201.format])==="RP"||_optionalChain([o, 'optionalAccess', _202 => _202.options, 'optionalAccess', _203 => _203.format])==="GR"||_optionalChain([o, 'optionalAccess', _204 => _204.options, 'optionalAccess', _205 => _205.format])==="NUMBER"||typeof r=="number"?"right":"left"}}});g.push(b)}),!_optionalChain([m, 'optionalAccess', _206 => _206.subTotal, 'optionalAccess', _207 => _207.disableSubtotal])){let x=[];G.forEach(u=>{let l=y[u.key];_optionalChain([u, 'optionalAccess', _208 => _208.options, 'optionalAccess', _209 => _209.format])==="RP"||_optionalChain([u, 'optionalAccess', _210 => _210.options, 'optionalAccess', _211 => _211.format])==="GR"||_optionalChain([u, 'optionalAccess', _212 => _212.options, 'optionalAccess', _213 => _213.format])==="NUMBER"?x.push({content:_optionalChain([u, 'optionalAccess', _214 => _214.options, 'optionalAccess', _215 => _215.disabledFooter])?"":(()=>{switch(_optionalChain([u, 'optionalAccess', _216 => _216.options, 'optionalAccess', _217 => _217.format])){case"RP":return l.toLocaleString("kr-ko");case"GR":return l.toFixed(3);case"NUMBER":return l;default:return l.toString()}})(),styles:{halign:_optionalChain([u, 'optionalAccess', _218 => _218.options, 'optionalAccess', _219 => _219.halign])||"right",textColor:`#${E(_optionalChain([t, 'optionalAccess', _220 => _220.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _221 => _221.bgColor])||"E8E5E5")}`,fontStyle:"bold"}}):x.push({content:"",styles:{textColor:`#${E(_optionalChain([t, 'optionalAccess', _222 => _222.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _223 => _223.bgColor])||"E8E5E5")}`,fontStyle:"bold"}})});let b=_optionalChain([t, 'optionalAccess', _224 => _224.grandTotalSetting, 'optionalAccess', _225 => _225.colSpan])?Number(_optionalChain([t, 'optionalAccess', _226 => _226.grandTotalSetting, 'optionalAccess', _227 => _227.colSpan])||0)+1:0,o=_optionalChain([m, 'optionalAccess', _228 => _228.subTotal, 'optionalAccess', _229 => _229.enableCount])&&p.length>0?" : "+a.detail.length:"",r=_optionalChain([m, 'optionalAccess', _230 => _230.subTotal, 'optionalAccess', _231 => _231.captionItem])?_optionalChain([m, 'optionalAccess', _232 => _232.subTotal, 'optionalAccess', _233 => _233.captionItem]):"";x[0]={content:`${_optionalChain([m, 'optionalAccess', _234 => _234.subTotal, 'optionalAccess', _235 => _235.caption])||"SUB TOTAL"}${o} ${r}`,colSpan:b,styles:{textColor:`#${E(_optionalChain([t, 'optionalAccess', _236 => _236.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _237 => _237.bgColor])||"E8E5E5")}`,fontStyle:"bold",halign:"center"}},_optionalChain([t, 'optionalAccess', _238 => _238.grandTotalSetting, 'optionalAccess', _239 => _239.colSpan])&&x.splice(1,_optionalChain([t, 'optionalAccess', _240 => _240.grandTotalSetting, 'optionalAccess', _241 => _241.colSpan])),g.push(x)}}else{let y=(b,o)=>{let r=o[b.key],u=b.key;if(b.formatter&&(r=b.formatter(r,o)),!_optionalChain([b, 'access', _242 => _242.options, 'optionalAccess', _243 => _243.disabledFooter])){let T=o[b.key];h[u]=(h[u]||0)+Number(T||0)}let l=(()=>{switch(_optionalChain([b, 'optionalAccess', _244 => _244.options, 'optionalAccess', _245 => _245.format])){case"RP":return r!==void 0?Number(r||0).toLocaleString("kr-ko"):"";case"GR":return r!==void 0?Number(r||0).toFixed(3):"";case"NUMBER":return r!==void 0?Number(r||0):"";case"IMAGE":return"";case"DATETIME":return r!==void 0?P(r||new Date,!0):"";case"DATE":return r!==void 0?P(r||new Date):"";default:return r!==void 0?_optionalChain([r, 'optionalAccess', _246 => _246.toString, 'call', _247 => _247()]):""}})(),e=_optionalChain([b, 'optionalAccess', _248 => _248.options, 'optionalAccess', _249 => _249.halign])?_optionalChain([b, 'optionalAccess', _250 => _250.options, 'optionalAccess', _251 => _251.halign]):_optionalChain([b, 'optionalAccess', _252 => _252.options, 'optionalAccess', _253 => _253.format])==="RP"||_optionalChain([b, 'optionalAccess', _254 => _254.options, 'optionalAccess', _255 => _255.format])==="GR"||_optionalChain([b, 'optionalAccess', _256 => _256.options, 'optionalAccess', _257 => _257.format])==="NUMBER"||typeof r=="number"?"right":"left",C=_optionalChain([b, 'access', _258 => _258.options, 'optionalAccess', _259 => _259.format])==="IMAGE";return{options:_optionalChain([b, 'optionalAccess', _260 => _260.options]),content:l,foto:C?r:null,styles:{halign:e,textColor:_optionalChain([b, 'optionalAccess', _261 => _261.options, 'optionalAccess', _262 => _262.txtColor])?`#${E(_optionalChain([b, 'optionalAccess', _263 => _263.options, 'optionalAccess', _264 => _264.txtColor]))}`:"#000",fillColor:_optionalChain([b, 'optionalAccess', _265 => _265.options, 'optionalAccess', _266 => _266.bgColor])?`#${E(_optionalChain([b, 'optionalAccess', _267 => _267.options, 'optionalAccess', _268 => _268.bgColor]))}`:void 0}}},x=N(s).map(b=>y(b,a));g.push(x)}});let $=N(s);if(!_optionalChain([m, 'optionalAccess', _269 => _269.grandTotal, 'optionalAccess', _270 => _270.disableGrandTotal])){let a=[];$.forEach(r=>{let u=h[r.key],l=["RP","GR","NUMBER"].includes(_optionalChain([r, 'optionalAccess', _271 => _271.options, 'optionalAccess', _272 => _272.format])||""),e=_optionalChain([r, 'optionalAccess', _273 => _273.options, 'optionalAccess', _274 => _274.disabledFooter])?"":(()=>{if(!l)return"";switch(_optionalChain([r, 'access', _275 => _275.options, 'optionalAccess', _276 => _276.format])){case"RP":return Number(u||0).toLocaleString("kr-KO");case"GR":return Number(u||0).toFixed(3);case"NUMBER":return Number(u||0);default:return(u||0).toString()}})();a.push({options:_optionalChain([r, 'optionalAccess', _277 => _277.options]),content:e,styles:{halign:_optionalChain([r, 'optionalAccess', _278 => _278.options, 'optionalAccess', _279 => _279.halign])?r.options.halign:l?"right":"left",textColor:`#${E(_optionalChain([t, 'optionalAccess', _280 => _280.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _281 => _281.bgColor])||"E8E5E5")}`,fontStyle:"bold"}})});let y=Number(_optionalChain([t, 'optionalAccess', _282 => _282.grandTotalSetting, 'optionalAccess', _283 => _283.colSpan])||0),G=Math.min(y+1,$.length),x=_optionalChain([m, 'optionalAccess', _284 => _284.grandTotal, 'optionalAccess', _285 => _285.enableCount])?p.length>0?f.reduce((r,u)=>r+u.detail.length,0):f.length:0,b=_optionalChain([m, 'optionalAccess', _286 => _286.grandTotal, 'optionalAccess', _287 => _287.captionItem])||"",o=`${_optionalChain([m, 'optionalAccess', _288 => _288.grandTotal, 'optionalAccess', _289 => _289.caption])||"GRAND TOTAL"}`+(x?` : ${x}`:"")+(b?` ${b}`:"");for(a[0]={content:o,colSpan:G,styles:{textColor:`#${E(_optionalChain([t, 'optionalAccess', _290 => _290.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _291 => _291.bgColor])||"E8E5E5")}`,fontStyle:"bold",halign:"center"}},a.splice(1,G-1);a.length<$.length;)a.push({content:"",styles:{textColor:`#${E(_optionalChain([t, 'optionalAccess', _292 => _292.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _293 => _293.bgColor])||"E8E5E5")}`,fontStyle:"bold"}});g.push(a)}if(typeof _optionalChain([t, 'optionalAccess', _294 => _294.addRow])=="function"&&_optionalChain([t, 'optionalAccess', _295 => _295.addRow, 'call', _296 => _296(g)]),!_optionalChain([t, 'optionalAccess', _297 => _297.disablePrintDate])){let a=j(s);g.push([{content:`Print Date : ${P(`${new Date}`)}`,colSpan:a,styles:{textColor:`#${E(_optionalChain([t, 'optionalAccess', _298 => _298.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _299 => _299.bgColor])||"E8E5E5")}`,fontStyle:"italic"}}])}let U=[];_optionalChain([t, 'optionalAccess', _300 => _300.header, 'optionalAccess', _301 => _301.column])&&(U.push(F),M&&A.length>0&&U.push(A)),_jspdfautotable2.default.call(void 0, d,{head:U,body:g,startY:R,theme:_optionalChain([t, 'optionalAccess', _302 => _302.theme])||"plain",rowPageBreak:"avoid",margin:{top:_optionalChain([t, 'optionalAccess', _303 => _303.header, 'optionalAccess', _304 => _304.information])?30:10},bodyStyles:{fontSize:_optionalChain([t, 'optionalAccess', _305 => _305.fontSIze])||8},headStyles:{fontSize:_optionalChain([t, 'optionalAccess', _306 => _306.fontSIze])||8,textColor:`#${E(_optionalChain([t, 'optionalAccess', _307 => _307.txtColor])||"000")}`,fillColor:`#${E(_optionalChain([t, 'optionalAccess', _308 => _308.bgColor])||"E8E5E5")}`},tableLineColor:[255,255,255],didParseCell:function(a){let y=a.column.index;_optionalChain([$, 'access', _309 => _309[y], 'optionalAccess', _310 => _310.options, 'optionalAccess', _311 => _311.format])==="IMAGE"&&a.cell.raw&&a.cell.raw.foto&&(a.row.height=20,a.cell.styles.valign="middle",a.cell.styles.halign="center")},didDrawPage:function(a){if(_optionalChain([t, 'optionalAccess', _312 => _312.header, 'optionalAccess', _313 => _313.information])&&a.pageNumber>1){d.setFontSize(10);let y=d.internal.pageSize.getWidth(),G=d.splitTextToSize(_optionalChain([t, 'optionalAccess', _314 => _314.textHeaderLeft])||"",110);d.text(G,15,18),d.text(`${c||_optionalChain([t, 'optionalAccess', _315 => _315.titlePdf])}`,y-15,18,{align:"right"}),n&&d.text(`${n.caption?n.caption:"TANGGAL "} : ${_optionalChain([n, 'optionalAccess', _316 => _316.start_date])} ${_optionalChain([n, 'optionalAccess', _317 => _317.end_date])?`s/d ${_optionalChain([n, 'optionalAccess', _318 => _318.end_date])}`:""}`,y-15,22,{align:"right"})}},didDrawCell:function(a){let{cell:y}=a,x=(y.raw||{}).foto,b=a.column.index;if(_optionalChain([$, 'access', _319 => _319[b], 'optionalAccess', _320 => _320.options, 'optionalAccess', _321 => _321.format])==="IMAGE"&&x){let u=y.x+(y.width-15)/2,l=y.y+(y.height-15)/2;try{d.addImage(x,"JPG",u,l,15,15)}catch(e){console.warn("\u274C Gagal render gambar:",e)}}}}),g=[],R=d.lastAutoTable.finalY;let B=d.internal.getNumberOfPages(),L=d.internal.pageSize.width,V=d.internal.pageSize.height;d.setFontSize(10);for(let a=1;a<B+1;a++){let y=L/2,G=V-10;d.setPage(a),d.text(`${a} of ${B}`,y,G,{align:"center"})}if(typeof _optionalChain([t, 'optionalAccess', _322 => _322.customFooter])=="function"&&t.customFooter(d,R,_jspdfautotable2.default),_optionalChain([t, 'optionalAccess', _323 => _323.returnDataUri])){let a=d.output("datauristring");t.returnDataUri(a)}if(_optionalChain([t, 'optionalAccess', _324 => _324.openNewTab])){let a=d.output("bloburl");window.open(a)}else d.save(`${_optionalChain([t, 'optionalAccess', _325 => _325.titlePdf])||c}.pdf`)},K=at;var it=s=>{let f=[],p=s.copy?2:1;for(let t=0;t<p;t++){let n=s.data.map(c=>{let m=s.template;for(;/\n!!LOOP\((.+)\)(\{\n(.*\n)+\})\n/gm.exec(m);)m=m.replace(/\n!!LOOP\((.+)\)(\{\n(.*\n)+\})\n/,(w,d,g)=>{let R=g.replace(/^\{/,"").replace(/\}$/,"");return(Array.isArray(c[d])?c[d]:[c[d]]).reduce((F,A)=>F+R.replace(/\{([a-z0-9_]+)\}/gm,M=>{let h=M.replace(/(\{|\})/g,"");if(h.match(/nama_barang/)){let $=h.match(/nama_barang/),U=h==="nama_barang2"?[20,40]:h==="nama_barang3"?[40,60]:[0,20];return _optionalChain([A, 'access', _326 => _326[$], 'optionalAccess', _327 => _327.slice, 'call', _328 => _328(...U), 'access', _329 => _329.trim, 'call', _330 => _330()])||""}if(h.match(/deskripsi_jual/)){let $=h.match(/deskripsi_jual/),U=h==="deskripsi_jual2"?[20,40]:h==="deskripsi_jual3"?[40,60]:[0,20];return _optionalChain([A, 'access', _331 => _331[$], 'optionalAccess', _332 => _332.slice, 'call', _333 => _333(...U), 'access', _334 => _334.trim, 'call', _335 => _335()])||""}if(h.match(/deskripsi/)){let $=h.match(/deskripsi/),U=h==="deskripsi2"?[20,40]:h==="deskripsi3"?[40,60]:[0,20];return _optionalChain([A, 'access', _336 => _336[$], 'optionalAccess', _337 => _337.slice, 'call', _338 => _338(...U), 'access', _339 => _339.trim, 'call', _340 => _340()])||""}return A[h]||""}),"").replace(/\n(\s)+\n/gm,` `)});return m.replace(/\{([a-z0-9_]+)\}/gm,w=>{let d=w.replace(/(\{|\})/g,"");return d.match(/auto_cut/)?` VA`:c[d]||""}).replace(/\n(\s)+\n/gm,` `).replace(/~new_line~/gm,` `).replace(/!!LOOP\(detail\)/g,"").replace(/[}{]/g,"")});for(let c in n)n[c]+=` `;f.push(...n)}return f},lt=async(s,f)=>{let p=it(s),t=new Blob([_optionalChain([p, 'optionalAccess', _341 => _341.join, 'call', _342 => _342(` `)])||""],{type:"text/plain"}),n=document.createElement("a");n.href=URL.createObjectURL(t),n.download=f,document.body.appendChild(n),n.click(),document.body.removeChild(n)},q=lt;var Ft=({columns:s,data:f,grouping:p,date:t,type:n,txtSetting:c,pdfSetting:m,excelSetting:w,title:d,footerSetting:g,groupingSetting:R})=>{let z={data:[_optionalChain([c, 'optionalAccess', _343 => _343.dataTxt])],template:_optionalChain([c, 'optionalAccess', _344 => _344.templateTxt]),copy:_optionalChain([c, 'optionalAccess', _345 => _345.copy])};if(f.length===0)throw new Error("Data is required");if(n.length===0)throw new Error("Type is required");if(!Z(n))throw new Error('Type Export must use ["EXCEL", "PDF", "TXT", "ALL"]');n.forEach(D=>{D==="PDF"?K({pdfSetting:m,date:t,data:f,type:n,columns:s,grouping:p,title:d,footerSetting:g,groupingSetting:R}):D==="TXT"?q(z,_optionalChain([c, 'optionalAccess', _346 => _346.titleTxt])||""):D==="EXCEL"?J({date:t,data:f,type:n,columns:s,grouping:p,excelSetting:w,title:d,footerSetting:g,groupingSetting:R}):(J({date:t,data:f,type:n,columns:s,grouping:p,excelSetting:w,title:d,groupingSetting:R}),K({pdfSetting:m,date:t,data:f,type:n,columns:s,grouping:p,title:d,groupingSetting:R}),q(z,_optionalChain([c, 'optionalAccess', _347 => _347.titleTxt])||""))})};exports.ExportData = Ft; //# sourceMappingURL=index.js.map