PageSourceSearch

https://galpro.co.il/hub/_nuxt/QgWSw9Jq.js

js galpro.co.il collected 2026-10-05 17:13:20 UTC 50,366 bytes, 3 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BJeBN_yb.js","./DHQ7ucoR.js","./entry.D-z4cc5e.css","./CDjSvomm.js","./Badge._6B72PDH.css","./clMMTh1a.js","./CBW-9lGo.js","./B1ny9ASZ.js","./BQQOEPN4.js","./BS8p1zJe.js","./BrMU6-oy.js","./BxO3iI8O.js","./Select.BXoLoEVB.css","./Bp0gACVN.js","./Table.CrQu4TSw.css","./CLHV9cUr.js","./CeNJzoBQ.js","./CO7BdSIj.js","./BuiX2qM5.js","./abe1ynJA.js","./Checkbox.B7Fh4yyG.css","./Bn4ps6SL.js","./CbxkdlFW.js","./BxadGrL4.js","./DpWzo5qi.js","./ChT7iG-Z.js","./DwjP3Y1L.js","./0y8VCr3h.js","./BcW-uja2.js","./pd3P8OT1.js","./Editor.Bshse8mk.css","./ChcT4wDm.js","./Dv-NX72s.js","./toggleHighContrast.3joIBbG7.css","./boyBAVNN.js","./Editor.C6FZ3q1a.css"])))=>i.map(i=>d[i]);
2var ms=Object.defineProperty;var ps=(T,d,t)=>d in T?ms(T,d,{enumerable:!0,configurable:!0,writable:!0,value:t}):T[d]=t;var P=(T,d,t)=>ps(T,typeof d!="symbol"?d+"":d,t);import{ai as fs,c as V,o as y,a as x,e as ct,r as E,m as G,cV as re,dJ as gs,g as ut,P as N,ga as hs,w as p,Q,ax as ys,N as e,X as ze,Y as Je,t as k,b as h,as as Le,aR as _s,d as A,V as $t,aB as bs,_ as dt,f as at,cX as Ct,cO as ot,cP as vs,cU as xs,F as nt,M as ws,T as St,S as lt,U as ce,a1 as ks,a8 as it,O as Ue,R as et,cm as yt,aG as It,gb as Lt,cd as Ut,cc as Rt,al as Fe,am as Re,cW as c,gc as Ds,gd as mt,ge as Ts,gf as rt,gg as Et,gh as Ot,gi as Ft,gj as $s,gk as He,gl as Pt,aJ as Nt,gm as At,d$ as Cs,a4 as pt,L as _t,bI as Ss,dp as Is,ak as Ls,cS as Us,av as Rs,ab as Es,cC as Os,ah as Fs,$ as jt,aE as Ps,gn as Ns,go as bt,gp as Ve,s as As,gq as js,bV as tt,W as vt,gr as st,gs as Ms,gt as Ie,gu as Oe,gv as Bs}from"./DHQ7ucoR.js";import{_ as Mt}from"./CO7BdSIj.js";import{u as Vs}from"./CquAVXCO.js";import{f as xt,i as zs,a as Js,c as Hs}from"./CeNJzoBQ.js";import{F as qe}from"./Bn4ps6SL.js";import{_ as qs}from"./pd3P8OT1.js";import"./DwjP3Y1L.js";import{I as Bt}from"./0y8VCr3h.js";import{C as Vt,_ as zt}from"./ChT7iG-Z.js";import{_ as Jt}from"./CbxkdlFW.js";import Ks from"./DpCK3QTS.js";import{_ as Gs}from"./CurESDeu.js";import{_ as Ys}from"./BV5mxlcF.js";import{g as Ws}from"./B2-QlXtn.js";import{p as wt}from"./CphFCB7D.js";import{U as Qs,a as Xs}from"./Cee6-8IY.js";const Zs={class:"nc-icon",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ea(T,d){return y(),V("svg",Zs,d[0]||(d[0]=[x("path",{fill:"currentColor",d:"M7 15h2c0 1.08 1.37 2 3 2s3-.92 3-2c0-1.1-1.04-1.5-3.24-2.03C9.64 12.44 7 11.78 7 9c0-1.79 1.47-3.31 3.5-3.82V3h3v2.18C15.53 5.69 17 7.21 17 9h-2c0-1.08-1.37-2-3-2s-3 .92-3 2c0 1.1 1.04 1.5 3.24 2.03C14.36 11.56 17 12.22 17 15c0 1.79-1.47 3.31-3.5 3.82V21h-3v-2.18C8.47 18.31 7 16.79 7 15"},null,-1)]))}const ta=fs({name:"mdi-currency-usd",render:ea}),sa={key:0,class:"flex items-center"},aa={class:"text-red-500 ml-2"},oa={key:1,class:"flex items-center"},na={class:"text-green-500 ml-2"},la={key:0,class:"flex items-center"},ia=ct({__name:"ProgressPanel",setup(T,{expose:d}){const t=E([]),m=E(),u=E(!0),o=()=>{var b,w;const _=(w=(b=m.value)==null?void 0:b.$el)==null?void 0:w.firstElementChild;_&&(_.scrollTop=_.scrollHeight)},D=(_,b)=>{_!=null&&_.trim()&&(t.value.push({msg:_,status:b}),u.value&&bs(o))},n=_=>{const{scrollTop:b,scrollHeight:w,clientHeight:L}=_.target;u.value=b+L>=w-10};function g(_){let b="";for(const{msg:L}of t.value)b+=`${L}
3`;const w=document.createElement("a");w.setAttribute("href",`data:text/plain;charset=utf-8,${encodeURIComponent(b)}`),w.setAttribute("download",_),w.style.display="none",document.body.appendChild(w),w.click(),document.body.removeChild(w)}const M=G(()=>{var _;return[re.FAILED,re.COMPLETED].includes((_=t.value[t.value.length-1])==null?void 0:_.status)});return gs(()=>{var _,b;return(b=(_=m.value)==null?void 0:_.$el)==null?void 0:b.firstElementChild},"scroll",n,{passive:!0}),d({pushProgress:D}),ut(()=>{o()}),(_,b)=>{const w=ta,L=$t,Y=_s,U=hs;return y(),N(U,{ref_key:"logRef",ref:m,"body-style":{overflow:"auto",width:"100%",height:"100%",backgroundColor:"#101015",borderRadius:"0.5rem",padding:"16px !important","scrollbar-color":"var(--scrollbar-thumb) var(--scrollbar-track)","scrollbar-width":"thin","--scrollbar-thumb":"#E7E7E9","--scrollbar-track":"transparent"}},{default:p(()=>[(y(!0),V(Le,null,ys(e(t),({msg:z,status:q},C)=>(y(),V("div",{key:C},[q===e(re).FAILED?(y(),V("div",sa,[(y(),N(ze(e(Je).closeCircle),{class:"text-red-500"})),x("span",aa,k(z),1)])):(y(),V("div",oa,[h(w,{class:"text-green-500"}),x("span",na,k(z),1)]))]))),128)),e(M)?Q("",!0):(y(),V("div",la,[(y(),N(ze(e(Je).loading),{class:"text-green-500 animate-spin"})),b[1]||(b[1]=x("span",{class:"text-green-500 ml-2"},"Loading...",-1))])),e(M)?(y(),N(Y,{key:1,class:"!absolute z-1 right-2 bottom-2 opacity-75 hover:opacity-100 !rounded-md !w-8 
3!h-8",size:"small",onClick:b[0]||(b[0]=z=>g("logs.txt"))},{default:p(()=>[h(L,null,{title:p(()=>b[2]||(b[2]=[A("Download Logs")])),default:p(()=>[(y(),N(ze(e(Je).download)))]),_:1})]),_:1})):Q("",!0)]),_:1},512)}}}),ra=Object.assign(dt(ia,[["__scopeId","data-v-9be40849"]]),{__name:"GeneralProgressPanel"}),ca={key:0,class:"flex-1"},ua={key:1,class:"flex-1"},da={key:2,class:"flex-1"},ma={key:3,href:"https://docs.nocodb.com/bases/import-base-from-airtable#get-airtable-credentials",class:"!text-nc-content-gray-subtle2 text-sm font-weight-500 ml-auto",target:"_blank",rel:"noopener"},pa={key:4,class:"flex items-center gap-2"},fa={key:0},ga={class:"flex items-end"},ha={class:"text-nc-content-gray text-sm"},ya={href:"https://docs.nocodb.com/bases/import-base-from-airtable#get-airtable-credentials",class:"!text-brand text-sm ml-auto",target:"_blank",rel:"noopener"},_a={class:"text-nc-content-gray text-sm"},ba={class:"mb-2"},va={class:"my-2"},xa={class:"my-2"},wa={class:"my-2"},ka={class:"my-2"},Da={class:"my-2"},Ta={key:1},$a={class:"flex items-center gap-2"},Ca={class:"truncate"},Sa={key:2,class:"flex items-center gap-3"},Ia={key:0,class:"text-right mt-5"},La={key:0,class:"flex justify-between mt-5"},Ua=ct({__name:"AirtableImport",props:{modelValue:{type:Boolean},baseId:{},sourceId:{},transition:{},showBackBtn:{type:Boolean}},emits:["update:modelValue","back"],setup(T,{emit:d}){const t=d,{$api:m}=at(),u=m.instance.defaults.baseURL,{$state:o,$poller:D}=at(),n=Ct(),{activeWorkspace:g}=ot(n),M=vs(),{refreshCommandPalette:_}=xs(),{loadTables:b}=M,{getJobsForBase:w,loadJobsForBase:L}=Vs(),Y=E(!1),U=E(1),z=E(),q=E(),C=E(!1),S=E(!1),O=E(!1),r=E({id:"",type:"Airtable",details:{syncInterval:"15mins",syncDirection:"Airtable to NocoDB",syncRetryCount:1,apiKey:"",appId:"",shareId:"",syncSourceUrlOrId:"",options:{syncViews:!0,syncData:!0,syncRollup:!1,syncLookup:!0,syncFormula:!1,syncAttachment:!0,syncUsers:!1}}}),v=i=>{var l;(l=z.value)==null||l.pushProgress(i.message,"progress"),q.value={msg:i.message,status:"progress"}},$=async(i,l)=>{var H,J,pe;q.value={msg:l==null?void 0:l.message,status:i},i===re.COMPLETED?(Y.value=!0,await b(),(H=z.value)==null||H.pushProgress("Done!",i),_(),(J=g.value)!=null&&J.id&&n.loadWorkspace(g.value.id)):i===re.FAILED&&(await b(),S.value=!0,(pe=z.value)==null||pe.pushProgress(l.error.message,i),_())},B=G(()=>({"details.apiKey":[xt()],"details.syncSourceUrlOrId":[xt()]})),F=G({get:()=>T.modelValue,set:i=>t("update:modelValue",i)}),Z=qe.useForm,{validateInfos:X}=Z(r,B),Ee=G(()=>!r.value.details.apiKey||!r.value.details.syncSourceUrlOrId),ue=E(!1);async function $e(){ue.value=!0,await fe(),await ge()}async function fe(){try{const{id:i,...l}=r.value;i!==""?await $fetch(`/api/v1/db/meta/syncs/${i}`,{baseURL:u,method:"PATCH",headers:{"xc-auth":o.token.value},body:l}):r.value=await $fetch(`/api/v1/db/meta/projects/${T.baseId}/syncs/${T.sourceId}`,{baseURL:u,method:"POST",headers:{"xc-auth":o.token.value},body:l})}catch(i){Fe.error(await Re(i))}}async function te(i){if(O.value)return;O.value=!0,await L(T.baseId);const l=await w(T.baseId),H=i?{id:i}:l.sort((J,pe)=>new Date(pe.created_at).getTime()-new Date(J.created_at).getTime()).find(J=>J.base_id===T.baseId&&J.status!==re.COMPLETED&&J.status!==re.FAILED);if(!H){O.value=!1;return}D.subscribe({id:H.id},J=>{J.status!=="close"?(U.value=2,J.status?$(J.status,J.data):v(J.data)):(O.value=!1,ue.value=!1)})}async function Ce(){const i=await $fetch(`/api/v1/db/meta/projects/${T.baseId}/syncs/${T.sourceId}`,{baseURL:u,method:"GET",headers:{"xc-auth":o.token.value}}),{list:l}=i;l&&l[0]?(l[0].details=l[0].details||{},r.value=Ke(l[0]),r.value.details.syncSourceUrlOrId=l[0].details.appId&&l[0].details.appId.length>0?l[0].details.syncSourceUrlOrId:l[0].details.shareId,te()):r.value={id:"",type:"Airtable",details:{syncInterval:"15mins",syncDirection:"Airtable to NocoDB",syncRetryCount:1,apiKey:"",appId:"",shareId:"",syncSourceUrlOrId:"",options:{syncViews:!0,syncData:!0,syncRollup:!1,syncLookup:!0,syncFormula:!1,syncAttachment:!0,syncUsers:!1}}}}async function ge(){try{const i=await $fetch(`/api/v1/db/meta/syncs/${r.value.id}/trigger`,{baseURL:u,method:"POST",headers:{"xc-auth":o.token.value}});O.value=!1,te(i.id)}catch(i){Fe.error(await Re(i))}}function Ke(i){var l;return(l=i.details)!=null&&l.options||(i.details.options={syncViews:!1,syncData:!0,syncRollup:!1,syncLookup:!0,syncFormula:!1,syncAttachment:!0},i.details.options.syncViews=i.syncViews,delete i.syncViews),i}nt(()=>r.value.details.syncSourceUrlOrId,i=>{if(r.value.details){const l=i&&i.match(/(exp|shr).{14}/g);r.value.details.shareId=l?l[0]:"";const H=i&&i.match(/(app).{14}/g);r.value.details.appId=H?H[0]:""}}),ut(async()=>{r.value.id&&te(),await Ce()});const me=G(()=>{var i;return!q.value||![re.COMPLETED,re.FAILED].includes((i=q.value)==null?void 0:i.status)}
3),f=E(!1),he=E("");return(i,l)=>{const H=St,J=lt,pe=lt,Se=qs,ne=Jt,de=Bt,le=Mt,we=zt,Pe=Vt,se=qe,Ne=ra,ye=It,Ge=Lt,Ye=Rt,Ae=ws("e");return y(),N(Ye,{visible:e(F),"onUpdate:visible":l[16]||(l[16]=_e=>Ue(F)?F.value=_e:null),class:ce(["!top-[25vh]",{active:e(F)}]),closable:!1,"transition-name":i.transition,keyboard:e(U)!==2,"mask-closable":e(U)!==2,width:"448px","wrap-class-name":"nc-modal-airtable-import",hide:"",onKeydown:l[17]||(l[17]=Ut(_e=>F.value=!1,["esc"]))},{footer:p(()=>[e(U)===1?(y(),V("div",La,[h(J,{key:"back",type:"text",size:"small",onClick:l[15]||(l[15]=()=>{F.value=!1,t("back")})},{default:p(()=>[i.showBackBtn?(y(),N(H,{key:0,icon:"chevronLeft",class:"mr-1"})):Q("",!0),A(" "+k(i.showBackBtn?i.$t("general.back"):i.$t("general.cancel")),1)]),_:1}),et((y(),N(J,{key:"submit",type:"primary",class:"nc-btn-airtable-import",size:"small",loading:e(ue),disabled:e(Ee),onClick:$e},{default:p(()=>[A(k(i.$t("activity.import"))+" Base ",1)]),_:1},8,["loading","disabled"])),[[Ae,["c:sync-airtable:save-and-sync"]]])])):Q("",!0)]),default:p(()=>{var _e,je,ie,Me;return[x("div",{class:"text-base font-weight-bold flex items-center gap-4 mb-6",onDblclick:l[2]||(l[2]=j=>C.value=!0)},[h(H,{icon:"airtable",class:"w-6 h-6"}),e(U)===1?(y(),V("span",ca,k(i.$t("title.quickImportAirtable")),1)):e(me)?(y(),V("span",ua,k(`${i.$t("labels.importingFromAirtable")}...`),1)):(y(),V("span",da,k(i.$t("labels.airtableBaseImported")),1)),e(U)===1?(y(),V("a",ma," Docs ")):e(U)===2?(y(),V("div",pa,[h(J,{type:"text",size:"xs",class:"ml-auto",onClick:l[0]||(l[0]=j=>f.value=!e(f))},{default:p(()=>[A(k(e(f)?"Hide":"Show")+" Details ",1),h(H,{icon:"chevronDown",class:ce(["ml-2 transition-all transform",{"rotate-180":e(f)}])},null,8,["class"])]),_:1}),e(me)?Q("",!0):(y(),N(pe,{key:0,"icon-only":"",type:"text",size:"xs",onClick:l[1]||(l[1]=ks(j=>F.value=!1,["stop"]))},{icon:p(()=>[h(H,{icon:"close",class:"text-gray-600"})]),_:1}))])):Q("",!0)],32),e(U)===1?(y(),V("div",fa,[h(se,{ref:"form",model:e(r),name:"quick-import-airtable-form",layout:"vertical",class:"m-0 !text-nc-content-gray"},{default:p(()=>[h(ne,it(e(X)["details.apiKey"],{class:"!my-5"}),{default:p(()=>[x("div",ga,[x("label",ha,k(i.$t("labels.personalAccessToken")),1),x("a",ya,k(i.$t("labels.whereToFind")),1)]),h(Se,{value:e(r).details.apiKey,"onUpdate:value":l[3]||(l[3]=j=>e(r).details.apiKey=j),placeholder:"Enter your Airtable Personal Access Token",class:"!rounded-lg mt-2 nc-input-api-key nc-input-shadow !text-nc-content-gray"},{iconRender:p(j=>[h(H,{icon:j?"ncEyeOff":"ncEye"},null,8,["icon"])]),_:1},8,["value"])]),_:1},16),h(ne,it(e(X)["details.syncSourceUrlOrId"],{class:"!my-5"}),{default:p(()=>[x("label",_a,k(`${i.$t("labels.sharedBase")} ID/URL`),1),h(de,{value:e(r).details.syncSourceUrlOrId,"onUpdate:value":l[4]||(l[4]=j=>e(r).details.syncSourceUrlOrId=j),placeholder:"Paste the Base URL or Base ID from Airtable",class:"!rounded-lg !mt-2 nc-input-shared-base nc-input-shadow !text-nc-content-gray"},null,8,["value"])]),_:1},16),h(J,{type:"text",size:"small",onClick:l[5]||(l[5]=j=>he.value=e(he)?"":"advanced-settings")},{default:p(()=>[A(k(i.$t("title.advancedSettings"))+" ",1),h(H,{icon:"chevronDown",class:ce(["ml-2 !transition-all !transform",{"!rotate-180":e(he)==="advanced-settings"}])},null,8,["class"])]),_:1}),h(Pe,{"active-key":e(he),"onUpdate:activeKey":l[12]||(l[12]=j=>Ue(he)?he.value=j:null),ghost:"",class:"nc-import-collapse"},{default:p(()=>[h(we,{key:"advanced-settings"},{default:p(()=>[x("div",ba,[h(le,{checked:e(r).details.options.syncData,"onUpdate:checked":l[6]||(l[6]=j=>e(r).details.options.syncData=j)},{default:p(()=>[A(k(i.$t("labels.importData")),1)]),_:1},8,["checked"])]),x("div",va,[h(le,{checked:e(r).details.options.syncViews,"onUpdate:checked":l[7]||(l[7]=j=>e(r).details.options.syncViews=j)},{default:p(()=>[A(k(i.$t("labels.importSecondaryViews")),1)]),_:1},8,["checked"])]),x("div",xa,[h(le,{checked:e(r).details.options.syncRollup,"onUpdate:checked":l[8]||(l[8]=j=>e(r).details.options.syncRollup=j)},{default:p(()=>[A(k(i.$t("labels.importRollupColumns")),1)]),_:1},8,["checked"])]),x("div",wa,[h(le,{checked:e(r).details.options.syncLookup,"onUpdate:checked":l[9]||(l[9]=j=>e(r).details.options.syncLookup=j)},{default:p(()=>[A(k(i.$t("labels.importLookupColumns")),1)]),_:1},8,["checked"])]),x("div",ka,[h(le,{checked:e(r).details.options.syncAttachment,"onUpdate:checked":l[10]||(l[10]=j=>e(r).details.options.syncAttachment=j)},{default:p(()=>[A(k(i.$t("labels.importAttachmentColumns")),1)]),_:1},8,["checked"])]),x("div",Da,[h(le,{checked:e(r).details.options.syncFormula,"onUpdate:checked":l[11]||(l[11]=j=>e(r).details.options.syncFormula=j),disabled:""},{default:p(()=>[A(k(i.$t("labels.importFormulaColumns")),1)]),_:1},8,["checked"])])]),_:1})]),_:1},8,["active-key"])]),_:1}
3,8,["model"])])):Q("",!0),e(U)===2?(y(),V("div",Ta,[et(h(Ne,{ref_key:"progressRef",ref:z,class:"w-full h-[200px]"},null,512),[[yt,e(f)]]),et(x("div",$a,[e(me)?(y(),V(Le,{key:0},[h(ye,{size:"large",class:"!mr-1"}),x("span",Ca,k(((_e=e(q))==null?void 0:_e.msg)??"---"),1)],64)):((je=e(q))==null?void 0:je.status)===e(re).FAILED?(y(),N(Ge,{key:1,align:"center",type:"error","show-icon":"","message-class":"!text-sm","description-class":"!text-small !leading-[18px]","copy-text":(ie=e(q))==null?void 0:ie.msg,message:i.$t("msg.error.importError"),description:i.$t("msg.error.anErrorOccuredWhileAirtableBaseImport")},null,8,["copy-text","message","description"])):(y(),V("div",Sa,[h(H,{icon:"checkFill",class:"text-white w-4 h-4"}),x("span",null,k(i.$t("msg.airtableImportSuccess")),1)]))],512),[[yt,!e(f)]]),e(me)?Q("",!0):(y(),V("div",Ia,[((Me=e(q))==null?void 0:Me.status)===e(re).FAILED?(y(),N(J,{key:0,size:"small",onClick:l[13]||(l[13]=j=>U.value=1)},{default:p(()=>l[18]||(l[18]=[A(" Retry import ")])),_:1,__:[18]})):(y(),N(J,{key:1,size:"small",onClick:l[14]||(l[14]=j=>F.value=!1)},{default:p(()=>l[19]||(l[19]=[A(" Go to base ")])),_:1,__:[19]}))]))])):Q("",!0)]}),_:1},8,["visible","class","transition-name","keyboard","mask-closable"])}}}),Fo=Object.assign(dt(Ua,[["__scopeId","data-v-8c0ec973"]]),{__name:"DlgAirtableImport"});class Ht{constructor(d){P(this,"progressCallback");this.progressCallback=d}progress(d){var t;(t=this.progressCallback)==null||t.call(this,d)}init(){}parse(){throw new Error("'parse' method is not implemented")}parseData(){throw new Error("'parseData' method is not implemented")}parseTemplate(){throw new Error("'parseTemplate' method is not implemented")}getColumns(){throw new Error("'getColumns' method is not implemented")}getTemplate(){throw new Error("'getTemplate' method is not implemented")}getData(){throw new Error("'getData' method is not implemented")}}const Ra={number:c.Number,string:c.SingleLineText,date:c.DateTime,boolean:c.Checkbox,object:c.JSON},kt=(T,d)=>d.reduce((t,m)=>t&&t[m],T);class Dt extends Ht{constructor(t,m={},u){super(u);P(this,"config");P(this,"data");P(this,"_jsonData");P(this,"jsonData");P(this,"base");P(this,"columns");this.config=m,this._jsonData=t,this.base={tables:[]},this.jsonData=[],this.data=[],this.columns={}}
3async init(){this.progress("Initializing json parser");const t=typeof this._jsonData=="string"?JSON.parse(this._jsonData):JSON.parse(new TextDecoder().decode(this._jsonData));this.jsonData=Array.isArray(t)?t:[t]}getColumns(){return this.columns}getData(){return this.data}parse(){this.progress("Reading json data");const t=this.jsonData,m="table",u={table_name:m,ref_table_name:m,columns:[]};this.data[m]=[];for(const o of Object.keys(t[0])){const D=this._parseColumn([o],t);u.columns.push(...D)}this.config.shouldImportData&&this._parseTableData(u),this.base.tables.push(u)}getTemplate(){return this.base}_parseColumn(t=[],m=this.jsonData,u=t.reduce((o,D)=>o&&o[D],this.jsonData[0])){const o=[];if(u&&typeof u=="object"&&!Array.isArray(u)&&this.config.normalizeNested)for(const D of Object.keys(u)){const n=this._parseColumn([...t,D],this.jsonData,u[D]);o.push(...n)}else{const D=t.join(" ").trim(),n=t.join("_").replace(/\W/g,"_").trim(),g={title:D,column_name:n,ref_column_name:n,uidt:c.SingleLineText,path:t};if(this.config.autoSelectFieldTypes){g.uidt=Ra[typeof u]||c.SingleLineText;const M=m.map(_=>kt(_,t));Object.assign(g,Ds(M,g.uidt))}o.push(g)}return o}_parseTableData(t){for(const m of this.jsonData){const u={};for(let o=0;o<t.columns.length;o++){const D=kt(m,t.columns[o].path||[]);t.columns[o].uidt===c.Checkbox?u[t.columns[o].ref_column_name]=mt(D):t.columns[o].uidt===c.SingleSelect||t.columns[o].uidt===c.MultiSelect?u[t.columns[o].ref_column_name]=(D||"").toString().trim()||null:t.columns[o].uidt===c.JSON?u[t.columns[o].ref_column_name]=JSON.stringify(D):u[t.columns[o].column_name]=D}this.data[t.ref_table_name].push(u)}}}class Tt{constructor(d,t={},m,u){P(this,"config");P(this,"source");P(this,"detectedColumnTypes");P(this,"distinctValues");P(this,"headers");P(this,"tables");P(this,"base");P(this,"data",{});P(this,"columnValues");P(this,"existingColumnMap",{});P(this,"tableNames");P(this,"progressCallback");if(this.config=t,this.source=d,this.base={tables:[]},this.detectedColumnTypes={},this.distinctValues={},this.headers={},this.columnValues={},this.tables={},this.tableNames=[],this.progressCallback=m,u&&u.length)for(const o of u)this.existingColumnMap[o.title]=o,this.existingColumnMap[o.column_name]=o}
3async init(){}initTemplate(d,t,m){const u=+m.every(g=>g===null||typeof g=="string"),o={id:0,Id:0},D={id:0,Id:0},n={table_name:t,ref_table_name:t,columns:[]};this.headers[d]=[],this.tables[d]=[];for(const[g,M]of m.entries()){let _=(u&&M.toString().trim()||`Field ${g+1}`).trim(),b=(u&&M.toString().trim()||`field_${g+1}`).replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();for(;b in o;)b=`${b}${++o[b]}`;for(;_ in D;)_=`${_}${++D[_]}`;o[b]=0,D[_]=0,this.detectedColumnTypes[g]={},this.distinctValues[g]=new Set,this.columnValues[g]=[],n.columns.push({title:_,column_name:b,ref_column_name:b,meta:{},uidt:c.SingleLineText,key:g}),this.headers[d].push(b),this.tables[d]=n}}detectInitialUidt(d){return!isNaN(Number(d))&&!isNaN(parseFloat(d))?c.Number:Ts(d)?c.DateTime:rt(d)?c.Checkbox:c.SingleLineText}detectColumnType(d,t){for(let m=0;m<t.length;m++){if(!t[m])continue;const u=[t[m]],o={uidt:this.detectInitialUidt(t[m])};Et(u)?o.uidt=c.LongText:o.uidt===c.SingleLineText?Ot(u)?o.uidt=c.Email:Ft(u)?o.uidt=c.URL:rt(u)?o.uidt=c.Checkbox:t[m]&&m<this.config.maxRowsToParse&&(this.columnValues[m].push(t[m]),o.uidt=c.SingleSelect):o.uidt===c.Number?$s(u)&&(o.uidt=c.Decimal):o.uidt===c.DateTime&&t[m]&&m<this.config.maxRowsToParse&&this.columnValues[m].push(t[m]),o.uidt in this.detectedColumnTypes[m]||(this.detectedColumnTypes[m]={...this.detectedColumnTypes[m],[o.uidt]:0}),this.detectedColumnTypes[m][o.uidt]+=1,t[m]&&this.distinctValues[m].add(t[m])}}getPossibleUidt(d){const t=this.detectedColumnTypes[d],m=Object.keys(t).length;return m===0?c.SingleLineText:m===2&&c.Number in t&&c.Decimal in t?c.Decimal:m>1?c.LongText in t?c.LongText:c.SingleLineText:Object.keys(t)[0]}updateTemplate(d){for(let t=0;t<this.headers[d].length;t++){const m=this.existingColumnMap[this.headers[d][t]];let u=m==null?void 0:m.uidt;if(u||(u=this.getPossibleUidt(t)),this.columnValues[t].length>0){if(u===c.DateTime){const o={};if(this.columnValues[t].slice(1,this.config.maxRowsToParse).every(D=>{const n=D.split(" ").length===1;return n&&(o[He(D)]=(o[He(D)]||0)+1),n})){this.tables[d].columns[t].uidt=c.Date;const D=Object.keys(o);this.tables[d].columns[t].meta.date_format=D.length?D.reduce((n,g)=>o[n]>o[g]?n:g):"YYYY/MM/DD"}else this.tables[d].columns[t].uidt=u}else u===c.SingleSelect||u===c.MultiSelect?(this.tables[d].columns[t].uidt=c.SingleLineText,Object.assign(this.tables[d].columns[t],Pt(this.columnValues[t]))):this.tables[d].columns[t].uidt=u;delete this.columnValues[t]}else this.tables[d].columns[t].uidt=u}}async _parseTableData(d,t,m,u){return new Promise((o,D)=>{const n=this;let g=0;if(n.config.shouldImportData){n.progress(`Preparing ${u} data`),n.progress({title:u,value:"Preparing..."}),g=0;const M=this.config.importFromURL?t:t.originFileObj;wt.parse(M,{download:n.config.importFromURL,skipEmptyLines:"greedy",encoding:t==null?void 0:t.encoding,step(_){if(g+=1,_&&g>=+n.config.firstRowAsHeaders+1){const b={};for(let w=0;w<n.headers[d].length;w++){const L=n.tables[d].columns[w],Y=n.existingColumnMap[n.headers[d][w]],U=_.data[w]===""?null:_.data[w];if(L.uidt===c.Checkbox)b[L.column_name]=mt(U);else if(L.uidt===c.SingleSelect||L.uidt===c.MultiSelect)b[L.column_name]=(U||"").toString().trim()||null;else if([c.Date,c.DateTime].includes(L.uidt)&&Y)if(U instanceof Date)b[L.column_name]=U;else{const z=Nt(Y.meta),q=At(n.config.isEeUI,z==null?void 0:z.timezone).dayjsTz(U,z!=null&&z.date_format&&z.time_format?`${z.date_format} ${z.time_format}`:void 0);b[L.column_name]=q!=null&&q.isValid()?q.format("YYYY-MM-DD HH:mm:ss Z"):U}else b[L.column_name]=U}n.data[m].push(b)}g%1e3===0&&(n.progress(`Prepared ${g} rows of ${u}`),n.progress({title:u,value:`Prepared ${g} rows`}))},complete(){n.progress(`Prepared ${u} data`),n.progress({title:u,value:"Prepared"}),o(!0)},error(_){D(_)}})}else o(!0)})}async _parseTableMeta(d,t){return new Promise((m,u)=>{const o=this;let D=0;const n=this.config.importFromURL?t.split("/").pop()??"":t.name;let g=(this.config.importFromURL?t.split("/").pop():t.name).replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();this.tableNames.includes(g)&&(g=Cs(g,this.tableNames.map(_=>({title:_})),"title","_")),this.tableNames.push(g),this.data[g]=[];const M=this.config.importFromURL?t:t.originFileObj;wt.parse(M,{download:o.config.importFromURL,skipEmptyLines:"greedy",step(_){D+=1,_&&(D===1?o.config.firstRowAsHeaders?o.initTemplate(d,g,_.data):(o.initTemplate(d,g,[...Array(_.data.length)].map((b,w)=>`field_${w+1}`)),o.config.autoSelectFieldTypes&&o.detectColumnType(d,_.data)):o.config.autoSelectFieldTypes&&o.detectColumnType(d,_.data))},async complete(){o.updateTemplate(d),o.base.tables.push(o.tables[d]),o.progress(`Prepared ${n} metadata`),o.progress({title:n,value:"Prepared metadata"}),await o._parseTableData(d,t,g,n),m(!0)},error(_){u(_)}})})}async parse(){this.config.importFromURL?await this._parseTableMeta(0,this.source):await Promise.all(this.source.map((d,t)=>(async(m,u)=>{this.progress(`Reading ${m.name}`),this.progress({title:m.name,value:"Reading..."}),await this._parseTableMeta(u,m)})(d,t)))}getColumns(){return this.base.tables.map(d=>d.columns)}getData(){return this.data}getTemplate(){return this.base}progress(d){var t;(t=this.progressCallback)==null||t.call(this,d)}}const Ea={d:c.DateTime,b:c.Checkbox,n:c.Number,s:c.SingleLineText};class qt extends Ht{constructor(t={},m={},u=null,o,D){super(o);P(this,"config");P(this,"excelData");P(this,"base");P(this,"data",{});P(this,"wb");P(this,"xlsx");P(this,"existingColumnMap",{});if(this.config=m,this.excelData=t,this.base={tables:[]},this.xlsx=u,D&&D.length)for(const n of D)this.existingColumnMap[n.title]=n,this.existingColumnMap[n.column_name]=n}
3async init(){this.progress("Initializing excel parser"),this.xlsx=this.xlsx||await pt(()=>import("./DDWbpQZ-.js"),[],import.meta.url);const t={cellText:!0,cellDates:!0};this.wb=this.xlsx.read(new Uint8Array(this.excelData),{type:"array",...t})}async parse(){this.progress("Reading excel file");const t={};await Promise.all(this.wb.SheetNames.map(m=>(async u=>{this.progress(`Reading sheet ${m}`),await new Promise(o=>{var q;const D={id:0,Id:0};let n=(u||"table").replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();for(;n in t;)n=`${n}${++t[n]}`;t[n]=0;const g={table_name:n,ref_table_name:n,columns:[]},M=this.wb.Sheets[u],_={};if(!M||!M["!ref"])return o(!0);const b=this.xlsx.utils.decode_range(M["!ref"]);let w=this.xlsx.utils.sheet_to_json(M,{header:1,blankrows:!1,defval:null});const L=new Date(1899,11,30,0,0,0),Y=L.getTime()+(new Date().getTimezoneOffset()-L.getTimezoneOffset())*6e4,U=24*60*60*1e3,z=C=>{const S=this.xlsx.SSF.parse_date_code((C.getTime()-Y)/U,{date1904:this.wb.Workbook.WBProps.date1904});return new Date(S.y,S.m,S.d,S.H,S.M,S.S)};if(w[0]&&w[0].length)for(let C=0;C<w[0].length;C++){const S=(this.config.firstRowAsHeaders&&w[0]&&w[0][C]&&w[0][C].toString().trim()||`Field ${C+1}`).trim();let O=(this.config.firstRowAsHeaders&&w[0]&&w[0][C]&&w[0][C].toString().trim()||`field_${C+1}`).replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();for(;O in D;)O=`${O}${++D[O]}`;D[O]=0;const r={title:S,column_name:O,ref_column_name:O,meta:{},uidt:c.SingleLineText};g.columns.push(r);const v=this.existingColumnMap[r.title]??this.existingColumnMap[r.column_name];v&&((q=v.meta)!=null&&q.date_format)?_[C]=$=>{if($ instanceof Date)return $;const B=Nt(v.meta),F=At(this.config.isEeUI,B==null?void 0:B.timezone).dayjsTz($,B.date_format&&B.time_format?`${B.date_format} ${B.time_format}`:void 0);return F!=null&&F.isValid()?F.format("YYYY-MM-DD HH:mm:ss Z"):$}:v&&[c.Number,c.Decimal,c.Currency].includes(v.uidt)&&(_[C]=$=>Number($))}if(w=w.map(C=>C.map((S,O)=>S instanceof Date?z(S):_[O]?_[O](S):S)),this.config.autoSelectFieldTypes)for(let C=0;C<w[0].length;C++){const S=g.columns[C],O=this.xlsx.utils.encode_cell({c:b.s.c+C,r:+this.config.firstRowAsHeaders}),r=M[O]||{};if(S.uidt=this.config.importDataOnly?Ea[r.t]||c.SingleLineText:c.SingleLineText,S.uidt===c.SingleLineText&&this.config.importDataOnly)if(Et(w,C))S.uidt=c.LongText;else if(Ot(w,C))S.uidt=c.Email;else if(Ft(w,C))S.uidt=c.URL;else{const v=w.slice(+this.config.firstRowAsHeaders).map($=>$[C]).filter($=>$!=null&&$.toString().trim()!=="");rt(v)?S.uidt=c.Checkbox:Object.assign(S,Pt(v))}else if(S.uidt===c.Number)w.slice(1,this.config.maxRowsToParse).some(v=>v&&v[C]&&parseInt(v[C])!==+v[C])&&(S.uidt=c.Decimal),w.slice(1,this.config.maxRowsToParse).every((v,$)=>{const B=this.xlsx.utils.encode_cell({c:b.s.c+C,r:$+ +this.config.firstRowAsHeaders}),F=M[B];return!F||F.w&&F.w.startsWith("$")})&&(S.uidt=c.Currency),w.slice(1,this.config.maxRowsToParse).some((v,$)=>{const B=this.xlsx.utils.encode_cell({c:b.s.c+C,r:$+ +this.config.firstRowAsHeaders}),F=M[B];return!F||F.w&&!(!isNaN(Number(F.w))&&!isNaN(parseFloat(F.w)))})&&(S.uidt=c.SingleLineText);else if(S.uidt===c.DateTime){const v={};w.slice(1,this.config.maxRowsToParse).every(($,B)=>{const F=this.xlsx.utils.encode_cell({c:b.s.c+C,r:B+ +this.config.firstRowAsHeaders}),Z=M[F],X=!Z||Z.w&&Z.w.split(" ").length===1;return X&&Z&&(v[He(Z.w)]=(v[He(Z.w)]||0)+1),X})&&(S.uidt=c.Date,S.meta.date_format=Object.keys(v).reduce(($,B)=>v[$]>v[B]?$:B)||"YYYY/MM/DD")}}if(this.base.tables.push(g),this.data[n]=[],this.config.shouldImportData){this.progress(`Reading data from ${n}`);let C=0;for(const S of w.slice(1)){const O={};for(let r=0;r<g.columns.length;r++)if(!this.config.autoSelectFieldTypes||!this.config.importDataOnly){const v=this.xlsx.utils.encode_cell({c:b.s.c+r,r:C+ +this.config.firstRowAsHeaders}),$=M[v];O[g.columns[r].column_name]=$&&$.w||S[r]}else if(g.columns[r].uidt===c.Checkbox)O[g.columns[r].column_name]=mt(S[r]);else if(g.columns[r].uidt===c.Currency){const v=this.xlsx.utils.encode_cell({c:b.s.c+r,r:C+ +this.config.firstRowAsHeaders}),$=M[v];O[g.columns[r].column_name]=$&&typeof($==null?void 0:$.w)=="string"&&$.w.replace(/[^\d.]+/g,"")||S[r]}else if(g.columns[r].uidt===c.SingleSelect||g.columns[r].uidt===c.MultiSelect)O[g.columns[r].column_name]=(S[r]||"").toString().trim()||null;else if(g.columns[r].uidt===c.Date){const v=this.xlsx.utils.encode_cell({c:b.s.c+r,r:C+ +this.config.firstRowAsHeaders}),$=M[v];O[g.columns[r].column_name]=$&&$.w||S[r]}else if(g.columns[r].uidt===c.SingleLineText||g.columns[r].uidt===c.LongText){const v=S[r];O[g.columns[r].column_name]=v==null?null:typeof v=="number"?v:`${v}`}else O[g.columns[r].column_name]=S[r];this.data[n].push(O),C++}}o(!0)})})(m)))}getTemplate(){return this.base}getData(){return this.data}getColumns(){return this.base.tables.map(t=>t.columns)}}class Oa extends qt{constructor(t,m,u,o=null,D,n){super({},m,o,D,n);P(this,"url");P(this,"excelData");P(this,"$api");this.url=t,this.excelData=null,this.$api=u}
3async init(){this.progress("Downloading excel file");const t=await this.$api.utils.axiosRequestMake({apiMeta:{url:this.url}});this.excelData=t.data,await super.init()}}const Fa=jt(()=>pt(()=>import("./BJeBN_yb.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]),import.meta.url).then(T=>T.default||T)),Pa=jt(()=>pt(()=>import("./ChcT4wDm.js"),__vite__mapDeps([31,32,1,2,33,34,35]),import.meta.url).then(T=>T.default||T)),Na={class:"text-base font-weight-700 m-0 flex items-center gap-3"},Aa={key:1},ja={class:"flex gap-2 items-center"},Ma={class:"text-sm"},Ba={class:"relative mt-5"},Va={class:"!mt-2 text-[13px]"},za={class:"text-nc-content-brand hover:underline"},Ja={class:"!mt-3 text-[13px] text-gray-500"},Ha={class:"ant-upload-hint"},qa={class:"flex items-center gap-4"},Ka={class:"bg-nc-bg-gray-extralight h-9 w-9 flex flex-none items-center justify-center rounded-lg"},Ga={class:"flex flex-col flex-grow min-w-[0px] w-[calc(100%_-_233px)]"},Ya={class:"flex-none"},Wa={class:"text-small text-nc-content-gray-muted font-weight-500"},Qa={class:"!text-small text-nc-content-gray-muted"},Xa={class:"flex gap-2 items-center"},Za={class:"text-sm"},eo={class:"relative mt-5 mb-1 px-1"},to={class:"flex items-center space-x-2 w-full"},so={class:"flex-1 text-nc-content-gray text-sm"},ao={class:"!text-small text-nc-content-gray-muted"},oo={class:"flex gap-2 items-center"},no={class:"text-sm"},lo={class:"relative mt-5"},io={class:"flex items-end gap-2"},ro={class:"!text-small text-nc-content-gray-muted"},co={key:0,class:"text-nc-content-red-medium text-small mt-2"},uo={key:1},mo={key:0,class:"mt-5"},po={class:"caption"},fo={class:"caption"},go={class:"flex items-center gap-2 pt-5"},ho=ct({__name:"QuickImport",props:{modelValue:{type:Boolean},importType:{},baseId:{},sourceId:{},importDataOnly:{type:Boolean,default:!1},transition:{},showBackBtn:{type:Boolean}},emits:["update:modelValue","back"],setup(T,{expose:d,emit:t}){const m=Os(T,["importType","importDataOnly","baseId","sourceId","transition","showBackBtn"]),u=t,{$api:o,$importWorker:D}=at();let n;const{appInfo:g}=_t(),M=As(),_=Ss(Is,E()),b=G(()=>{var s,a;return((a=(s=_.value)==null?void 0:s.columns)==null?void 0:a.filter(I=>!I.system))||[]}),w=typeof Worker<"u",{t:L}=Ls(),Y=E("Reading data ..."),U=E({}),z=Ct(),{activeWorkspace:q}=ot(z),C=Us(),{loadProjectTables:S}=C,{baseTables:O}=ot(C),r=E(),v=E(!1),$=E(!1),B=E(),F=E(),Z=E([]),X=E(!1),Ee=E(!1),ue=E(""),$e=E({}),fe=E(""),te=E("upload"),Ce=E(!1),ge=E(),Ke=qe.useForm,me={fileList:[],url:"",jsonEditor:{},parserConfig:{maxRowsToParse:500,normalizeNested:!0,autoSelectFieldTypes:!0,firstRowAsHeaders:!0,shouldImportData:!0,importDataOnly:!0}},f=Rs(structuredClone(me)),{token:he}=_t(),i=G(()=>T.importType==="json"),l=G(()=>T.importType==="csv"),H=G(()=>T.importType==="excel"),J=G(()=>({url:[zs,l.value?Js:Hs]})),{validate:pe,validateInfos:Se}=Ke(f,J),ne=G(()=>H.value?{header:T.importDataOnly?L("activity.uploadExcel"):L("title.quickImportExcel"),icon:"importExcel",uploadHint:"",urlInputLabel:L("msg.info.excelURL"),loadUrlDirective:["c:quick-import:excel:load-url"],acceptTypes:".xls, .xlsx, .xlsm, .ods, .ots"}:l.value?{header:T.importDataOnly?L("activity.uploadCSV"):L("title.quickImportCSV"),icon:"importCsv",uploadHint:"",urlInputLabel:L("msg.info.csvURL"),loadUrlDirective:["c:quick-import:csv:load-url"],acceptTypes:".csv"}:i.value?{header:`${L("title.quickImportJSON")}`,icon:"importJson",uploadHint:"",acceptTypes:".json"}:{}),de=Es(m,"modelValue",u);nt(de,async s=>{s&&(Object.assign(f,structuredClone(me)),w&&(n=await(D==null?void 0:D.get())))},{immediate:!0});const le=G(()=>{var s;return((s=f.fileList)==null?void 0:s.length)>0}),we=G(()=>{var s;return((s=Se==null?void 0:Se.url)==null?void 0:s.validateStatus)==="success"&&!!f.url}),Pe=G(()=>{try{return ge.value.isValid&&JSON.stringify(f.jsonEditor).length>2}catch{return!1}}),se=E(""),Ne=G(()=>{var s;return se.value??((s=r.value)==null?void 0:s.importError)??""}),ye=G(()=>l.value?3:1),Ge=G(()=>v.value||f.fileList.length>=ye.value),Ye=G(()=>te.value==="upload"?!le.value:te.value==="uploadFromUrl"?!we.value:te.value==="uploadJSON"?!Pe.value:!0),Ae=(s=!1)=>
3{if(X.value)return s?"":T.importDataOnly?L("activity.upload"):L("activity.import");const a=i.value?L("labels.jsonCapitalized"):L("objects.files");return s?"":T.importDataOnly?`${L("activity.upload")} ${a}`:`${L("activity.import")} ${a}`},_e=G(()=>Ae($.value||v.value)),je=G(()=>{var s;return!((s=r.value)!=null&&s.isValid)||Ce.value});let ie;async function Me(){v.value=!0,Ee.value=!0,se.value="",O.value.get(T.baseId)||await S(T.baseId);const s=le.value&&te.value==="upload";if(l.value){if(s)await be(f.fileList);else if(we.value)try{await pe(),await be(f.url)}catch(a){se.value=await Re(a)}}else if(i.value)s?w&&n?await be(f.fileList):await be(f.fileList[0].data):Pe.value&&await be(JSON.stringify(f.jsonEditor));else if(H){if(s)w&&n?await be(f.fileList):await be(f.fileList[0].data);else if(we.value)try{await pe(),await be(f.url)}catch(a){se.value=await Re(a)}}Ee.value=!1,v.value=!1}async function j(){var s;se.value="";try{if(!ie&&!n){se.value=L("msg.error.templateGeneratorNotFound");return}$.value=!0,await r.value.importTemplate(),X.value=!1,Object.assign(f,me),de.value=!1,(s=q.value)!=null&&s.id&&z.loadWorkspace(q.value.id)}catch(a){console.log(a);const I=await Re(a);se.value=I;return}finally{$.value=!1}}function Kt(s){s.map(a=>Fe.error(`${L("msg.error.fileUploadFailed")} ${a.name}`))}function We(s){const a=s.file.status;if(a&&a!=="uploading"&&a!=="removed")if(l.value||w&&n)f.fileList.find(I=>I.uid===s.file.uid)?f.fileList.find(I=>I.uid===s.file.uid).encoding="utf-8":f.fileList.push({...s.file,status:"done",encoding:"utf-8"});else{const I=new FileReader;I.onload=W=>{const K=f.fileList.find(ee=>ee.uid===s.file.uid);W.target&&W.target.result&&(K?K.data=W.target.result:K||f.fileList.push({...s.file,status:"done",data:W.target.result,encoding:"utf-8"}))},I.readAsArrayBuffer(s.file.originFileObj)}a==="error"&&Fe.error(`${L("msg.error.fileUploadFailed")} ${s.file.name}`)}function Gt(){var s;(s=ge.value)==null||s.format()}function Yt(s,a=[]){var W;let I=1;for(;a.includes(s)||(W=O.value.get(T.baseId))!=null&&W.some(K=>{const ee=K.table_name.split("___");let ve=K.table_name;return ee.length>1&&(ve=ee[1]),ve===`${s}`||K.table_name===`${s}`});)s=`${s}_${I++}`;return s}function Wt(s){const a=le.value&&te.value==="upload";return l.value?a?new Tt(s,{...f.parserConfig,importFromURL:!1},void 0,e(b)):new Tt(s,{...f.parserConfig,importFromURL:!0},void 0,e(b)):H.value?a?new qt(s,f.parserConfig,void 0,void 0,e(b)):new Oa(s,f.parserConfig,o,void 0,void 0,e(b)):i.value?a?new Dt(s,f.parserConfig):new Dt(s,f.parserConfig):null}d({handleChange:We});const Qt=s=>{f.fileList.forEach(a=>{a.uid===s.file.uid&&(a.status="done",We({file:a,fileList:f.fileList}))}),s.onSuccess()},ke=E(!1),Xt=(s,a)=>{f.fileList.length+a.length>ye.value&&(ke.value=!0);const I=s.size/1024/1024>25;return I&&Fe.error(`File ${s.name} is too big. The accepted file size is less than 25MB.`),!I||Xs.LIST_IGNORE};function Zt(s){let a;l.value?a=Ie.CSV:H.value?a=Ie.EXCEL:i.value&&(a=Ie.JSON),a=a??Ie.CSV;let I;return le.value&&te.value==="upload"?I=Oe.FILE:we.value&&a!==Ie.JSON?I=Oe.URL:a===Ie.JSON&&(I=Oe.STRING),I=I??Oe.FILE,{config:{...tt(f.parserConfig),importFromURL:I===Oe.URL,isEeUI:vt},existingColumns:Bs()(e(b)),value:s,importType:a,importSource:I}}async function be(s){B.value=null,F.value=null,Z.value=[];try{if(w&&n){n.postMessage([Ve.INIT_SDK,{baseURL:M.public.ncBackendUrl||g.value.ncSiteUrl||js,token:he.value}]);let a=tt(s);Array.isArray(a)&&(a=a.map(K=>tt(K)));const I=Zt(a);n.postMessage([Ve.SET_TABLES,e(O.value.get(T.baseId)??[]).map(K=>({table_name:K.table_name,title:K.title}))]),n.postMessage([Ve.SET_CONFIG,{importDataOnly:T.importDataOnly,importColumns:!!Z.value,importData:!!F.value,isEeUI:vt}]);const W=await new Promise((K,ee)=>{const ve=Qe=>{const[De,oe]=Qe.data;switch(De){case st.PROCESSED_DATA:K(oe),n==null||n.removeEventListener("message",ve,!1);break;case st.PROGRESS:Ms(oe,["title","value"])?U.value={...U.value,[oe.title]:(oe==null?void 0:oe.value)??""}:Y.value=oe;break;case st.ERROR:ee(oe),n==null||n.removeEventListener("message",ve,!1);break}};n==null||n.addEventListener("message",ve,!1),n==null||n.postMessage([Ve.PROCESS,I]
3)});B.value=W.templateData,Z.value=W.importColumns,F.value=W.importData}else{if(ie=Wt(s),!ie){se.value=L("msg.error.templateGeneratorNotFound");return}if(await ie.init(),await ie.parse(),B.value=ie.getTemplate(),T.importDataOnly)Z.value=ie.getColumns();else{const a=[];B.value.tables=B.value.tables.map(I=>{const W=Yt(I.table_name,a);return a.push(W),{...I,table_name:W}})}F.value=ie.getData()}X.value=!0,ke.value=!1}catch(a){console.log(a),typeof a=="string"&&we.value&&te.value==="uploadFromUrl"?se.value=a.replace(f.url,"").replace(/''/,""):se.value=await Re(a)||(a==null?void 0:a.toString())}}const es=()=>{Ce.value=!0},ts=()=>{Ce.value=!1};ut(()=>{f.parserConfig.importDataOnly=T.importDataOnly,f.parserConfig.autoSelectFieldTypes=T.importDataOnly});const ft=()=>{D.terminate(),Object.assign(f,me),v.value=!1,$.value=!1,B.value=void 0,F.value=void 0,Z.value=[],X.value=!1,Ee.value=!1,$e.value={},fe.value="",Ce.value=!1,se.value=""};Fs(()=>{ft()});const ss=()=>{de.value=!1,u("back"),ft()};function as(s){try{$e.value=s,f.jsonEditor=JSON.parse(JSON.stringify(s)),fe.value=""}catch(a){fe.value=a.message||"Invalid JSON"}}function gt(){var s,a;se.value="",(a=(s=r.value)==null?void 0:s.updateImportError)==null||a.call(s,"")}return nt(()=>f.fileList,()=>{i.value&&setTimeout(()=>{var a,I;const s=(I=(a=f.fileList)==null?void 0:a[0])==null?void 0:I.data;if(s&&"TextDecoder"in window)try{$e.value=JSON.parse(new TextDecoder().decode(s)),f.jsonEditor=JSON.parse(new TextDecoder().decode(s))}catch(W){console.log(W)}},500),f.fileList.length<ye.value&&ke.value&&(ke.value=!1)}),(s,a)=>{const I=St,W=Fa,K=$t,ee=lt,ve=Ks,Qe=Gs,De=Jt,oe=It,os=Qs,ht=Lt,Xe=Ps,ns=Bt,ls=qe,is=Pa,rs=Ys,Ze=Mt,cs=zt,us=Vt,ds=Rt;return y(),N(ds,{visible:e(de),"onUpdate:visible":a[12]||(a[12]=R=>Ue(de)?de.value=R:null),class:ce([{active:e(de)},"!top-[12.5vh]"]),closable:!1,width:e(X)&&s.importDataOnly?"640px":"448px","wrap-class-name":"nc-modal-quick-import","transition-name":s.transition,onKeydown:a[13]||(a[13]=Ut(R=>de.value=!1,["esc"]))},{footer:p(()=>[x("div",go,[e(X)?(y(),N(ee,{key:"back",type:"text",size:"small",disabled:e($),onClick:a[11]||(a[11]=R=>X.value=!1)},{default:p(()=>[h(I,{icon:"chevronLeft",class:"mr-1"}),A(" "+k(s.$t("general.back")),1)]),_:1},8,["disabled"])):(y(),N(ee,{key:"cancel",type:"text",size:"small",onClick:ss},{default:p(()=>[s.showBackBtn?(y(),N(I,{key:0,icon:"chevronLeft",class:"mr-1"})):Q("",!0),A(" "+k(s.showBackBtn?s.$t("general.back"):s.$t("general.cancel")),1)]),_:1})),a[18]||(a[18]=x("div",{class:"flex-1"},null,-1)),e(X)?(y(),N(ee,{key:"import",size:"small",loading:e($),disabled:e(je)||e($),onClick:j},{default:p(()=>[A(k(e(_e)),1)]),_:1},8,["loading","disabled"])):(y(),N(ee,{key:"pre-import",size:"small",class:"nc-btn-import",loading:e(v),disabled:e(Ye)||e(v),onClick:Me},{default:p(()=>[A(k(e(_e)),1)]),_:1},8,["loading","disabled"]))])]),default:p(()=>[x("div",{class:ce(["relative",{"cursor-wait":e(v)||e($)}])},[x("div",Na,[h(I,{icon:e(ne).icon,class:"w-6 h-6"},null,8,["icon"]),A(" "+k(e(ne).header)+" ",1),a[14]||(a[14]=x("a",{href:"https://docs.nocodb.com/tables/create-table-vi
3a-import/",class:"!text-nc-content-gray-subtle2 text-sm font-weight-500 ml-auto",target:"_blank",rel:"noopener"}," Docs ",-1))]),x("div",{class:ce(["mt-5",{"pointer-events-none":e($)}])},[e(X)?(y(),N(W,{key:0,ref_key:"templateEditorRef",ref:r,"base-template":e(B),"import-data":e(F),"import-columns":e(Z),"import-data-only":s.importDataOnly,"quick-import-type":s.importType,"max-rows-to-parse":e(f).parserConfig.maxRowsToParse,"base-id":s.baseId,"source-id":s.sourceId,"import-worker":e(n),"table-icon":e(ne).icon,class:"nc-quick-import-template-editor",onImport:j,onError:es,onChange:ts},null,8,["base-template","import-data","import-columns","import-data-only","quick-import-type","max-rows-to-parse","base-id","source-id","import-worker","table-icon"])):(y(),V("div",Aa,[h(rs,{activeKey:e(te),"onUpdate:activeKey":[a[5]||(a[5]=R=>Ue(te)?te.value=R:null),gt],class:"nc-quick-import-tabs"},{default:p(()=>[(y(),N(Xe,{key:"upload",disabled:e(v),class:"!h-full"},{tab:p(()=>[x("div",ja,[x("span",Ma,k(s.$t("general.upload")),1)])]),default:p(()=>[x("div",Ba,[h(os,{fileList:e(f).fileList,"onUpdate:fileList":a[0]||(a[0]=R=>e(f).fileList=R),name:"file",class:ce(["nc-modern-drag-import nc-input-import !scrollbar-thin-dull !py-4 !transition !rounded-lg !border-gray-200",{hidden:e(Ge)}]),"list-type":"picture",accept:e(ne).acceptTypes,"max-count":e(ye),multiple:!0,disabled:e(v),"custom-request":Qt,"before-upload":Xt,onChange:We,onReject:Kt},{itemRender:p(({file:R,actions:xe})=>[x("div",qa,[x("div",Ka,[h(I,{icon:e(ne).icon,class:"w-5 h-5 flex-none"},null,8,["icon"])]),x("div",Ga,[x("div",Ya,[h(K,{"show-on-truncate-only":"",class:"truncate text-sm text-nc-content-gray font-weight-500"},{title:p(()=>[A(k(R.name),1)]),default:p(()=>[A(" "+k(R.name),1)]),_:2},1024)]),x("div",Wa,k(("getReadableFileSize"in s?s.getReadableFileSize:e(Ws))(R.size)),1)]),e(v)?(y(),V(Le,{key:1},[(y(),N(K,{key:e(U)[R.name]||e(Y),class:"!max-w-[120px] min-w-[120p] !leading-[18px] truncate","show-on-truncate-only":""},{title:p(()=>[A(k(e(U)[R.name]||e(Y)),1)]),default:p(()=>[x("span",Qa,k(e(U)[R.name]||e(Y)),1)]),_:2},1024)),h(oe,{class:"flex text-nc-content-brand",size:"medium"})],64)):(y(),V(Le,{key:0},[h(De,{class:"flex-1 !my-0 max-w-[120px] min-w-[120px]"},{default:p(()=>[h(Qe,{placement:"bottomRight","overlay-class-name":"overflow-hidden !w-[170px]"},{default:p(({visible:Te})=>[h(ee,{size:"small",type:"secondary",class:"w-[120px] children:children:w-full !text-small"},{default:p(()=>[h(K,{class:"flex-none w-[85px] truncate text-left !leading-[20px]","show-on-truncate-only":""},{title:p(()=>{var ae;return[A(k(((ae=e(bt)[R.encoding])==null?void 0:ae.sortLabel)??""),1)]}),default:p(()=>{var ae,Be;return[A(" "+k(((Be=(ae=e(bt)[R.encoding])==null?void 0:ae.sortLabel)==null?void 0:Be.replace("Windows","Win"))??""),1)]}),_:2},1024),h(I,{icon:"chevronDown",class:ce(["flex-none transform",{"rotate-180":Te}])},null,8,["class"])]),_:2},1024)]),overlay:p(({visible:Te,onChange:ae})=>[h(ve,{value:R.encoding,"onUpdate:value":Be=>R.encoding=Be,open:Te,list:e(Ns),"search-input-placeholder":"Search","option-label-key":"sortLabel","option-value-key":"value",class:"!w-full",variant:"small","onUpdate:open":ae},null,8,["value","onUpdate:value","open","list","onUpdate:open"])]),_:2},1024)]),_:2},1024),h(ee,{type:"text",size:"xsmall",class:"flex-shrink",onClick:Te=>{var ae;return(ae=xe==null?void 0:xe.remove)==null?void 0:ae.call(xe)}},{default:p(()=>[h(I,{icon:"deleteListItem"})]),_:2},1032,["onClick"])],64))])]),default:p(()=>[(y(),N(ze(("iconMap"in s?s.iconMap:e(Je)).upload),{class:"w-6 h-6"})),x("p",Va,[A(k(s.$t("msg.dropYourDocHere"))+" "+k(s.$t("general.or").toLowerCase())+" ",1),x("span",za,k(s.$t("labels.browseFiles")),1)]),x("p",Ja,k(s.$t("general.supported"))+": "+k(e(ne).acceptTypes),1),x("p",Ha,k(e(ne).uploadHint),1)]),_:1},8,["fileList","class","accept","max-count","disabled"]),h(ht,{visible:e(ke),"onUpdate:visible":a[1]||(a[1]=R=>Ue(ke)?ke.value=R:null),closable:"",align:"center",type:"warning","show-icon":"","message-class":"!text-sm","description-class":"!text-small !leading-[18px]",class:"mt-5",message:s.$t("msg.warning.reachedUploadLimit"),description:s.$t(`msg.warning.${e(ye)>1?"youCanOnlyUploadMaxLimitFilesAtATimePlural":"youCanOnlyUploadMaxLimitFilesAtATime"}`,{limit:e(ye),type:s.$t(`labels.${s.importType}`)})},null,8,["visible","message","description"])])]),_:1},8,["disabled"])),e(i)?Q("",!0):(y(),N(Xe,{key:"uploadFromUrl",disabled:e(v),class:"!h-full"},{tab:p(()=>[x("div",Xa,[x("span",Za,k(s.$t("labels.addFromUrl")),1)])]),default:p(()=>[x("div",eo,[h(ls,{model:e(f),name:"quick-import-url-form",layout:"vertical",class:"!my-0"},{default:p(()=>[h(De,it(e(Se).url,{required:!1,class:"!my-0 quick-import-url-form"}),{label:p(()=>[x("div",to,[x("span",so,k(e(ne).urlInputLabel),1),e(v)?(y(),V(Le,{key:0},[(y(),N(K,{key:e(U)[e(f).url.split("/").pop()??""]||e(Y),class:"!max-w-1/2 min-w-[120p] !leading-[18px] truncate","show-on-truncate-only":""},{title:p(()=>[A(k(e(U)[e(f).url.split("/").pop()??""]||e(Y)),1)]),default:p(()=>[x("span",ao,k(e(U)[e(f).url.split("/").pop()??""]||e(Y)),1)]),_:1})),h(oe,{class:"flex text-nc-content-brand",size:"medium"})],64)):Q("",!0)])]),default:p(()=>[h(ns,{value:e(f).url,"onUpdate:value":a[2]||(a[2]=R=>
3e(f).url=R),class:"!rounded-md",placeholder:"Paste file link here...",disabled:e(v)},null,8,["value","disabled"])]),_:1},16)]),_:1},8,["model"])])]),_:1},8,["disabled"])),e(i)?(y(),N(Xe,{key:"uploadJSON",disabled:e(v),class:"!h-full"},{tab:p(()=>[x("div",oo,[x("span",no,k(s.$t("labels.enterJson")),1)])]),default:p(()=>{var R,xe,Te;return[x("div",lo,[x("div",io,[a[16]||(a[16]=x("label",{class:"text-nc-content-gray text-sm"}," Enter Json ",-1)),a[17]||(a[17]=x("div",{class:"flex-1"},null,-1)),e(v)?(y(),V(Le,{key:0},[(y(),N(K,{key:e(U)[e(f).url.split("/").pop()??""]||e(Y),class:"!max-w-1/2 min-w-[120p] !leading-[25px] truncate","show-on-truncate-only":""},{title:p(()=>[A(k(e(U)[e(f).url.split("/").pop()??""]||e(Y)),1)]),default:p(()=>[x("span",ro,k(e(U)[e(f).url.split("/").pop()??""]||e(Y)),1)]),_:1})),h(oe,{class:"flex text-nc-content-brand",size:"medium"})],64)):(y(),N(ee,{key:1,type:"text",size:"xsmall",class:"!px-2",onClick:a[3]||(a[3]=ae=>Gt())},{default:p(()=>a[15]||(a[15]=[A(" Format ")])),_:1,__:[15]}))]),x("div",{class:ce(["mx-0.5 mb-0.5 h-30 min-h-30 resize-y overflow-y-auto h-[calc(100%_-_8px)] max-h-[400px] border-1 rounded-lg mt-2 transition duration-300 focus-within:shadow-selected focus-within:border-primary",{"border-nc-border-red focus-within:shadow-error focus-within:border-nc-border-red ":e(fe)||((R=e(ge))==null?void 0:R.error)}])},[h(is,{ref_key:"refMonacoEditor",ref:ge,class:"nc-import-monaco-editor !h-full min-h-30","auto-focus":!1,"hide-minimap":"","monaco-config":{lineNumbers:"on"},"model-value":e($e),"onUpdate:modelValue":a[4]||(a[4]=ae=>as(ae))},null,8,["model-value"])],2),e(fe)||(xe=e(ge))!=null&&xe.error?(y(),V("div",co,k(e(fe)||((Te=e(ge))==null?void 0:Te.error)),1)):(y(),V("div",uo))])]}),_:1},8,["disabled"])):Q("",!0)]),_:1},8,["activeKey"])]))],2),h(ht,{visible:!!e(Ne),closable:"",align:"center",type:"error","show-icon":"",class:"mt-5","message-class":"!text-sm","description-class":"!text-small !leading-[18px]","copy-text":e(Ne),message:s.$t("msg.error.importError"),description:s.$t("msg.error.anErrorOccuredWhileImporting",{type:Ae(!0)}),onClose:gt},null,8,["visible","copy-text","message","description"]),e(X)?Q("",!0):(y(),V("div",mo,[h(ee,{type:"text",size:"small",onClick:a[6]||(a[6]=R=>ue.value=e(ue)?"":"advanced-settings")},{default:p(()=>[A(k(s.$t("title.advancedSettings"))+" ",1),h(I,{icon:"chevronDown",class:ce(["ml-2 !transition-all !transform",{"!rotate-180":e(ue)==="advanced-settings"}])},null,8,["class"])]),_:1}),h(us,{"active-key":e(ue),"onUpdate:activeKey":a[10]||(a[10]=R=>Ue(ue)?ue.value=R:null),ghost:"",class:ce(["nc-import-collapse",{"pointer-events-none":e(v)||e($)}])},{default:p(()=>[h(cs,{key:"advanced-settings"},{default:p(()=>[e(l)||e(H)?(y(),N(De,{key:0,class:"!my-2 nc-dense-checkbox-container"},{default:p(()=>[h(Ze,{checked:e(f).parserConfig.firstRowAsHeaders,"onUpdate:checked":a[7]||(a[7]=R=>e(f).parserConfig.firstRowAsHeaders=R)},{default:p(()=>[x("span",po,k(s.$t("labels.firstRowAsHeaders")),1)]),_:1},8,["checked"])]),_:1})):Q("",!0),e(i)?(y(),N(De,{key:1,class:"!my-2 nc-dense-checkbox-container"},{default:p(()=>[h(Ze,{checked:e(f).parserConfig.normalizeNested,"onUpdate:checked":a[8]||(a[8]=R=>e(f).parserConfig.normalizeNested=R)},{default:p(()=>[x("span",fo,k(s.$t("labels.flattenNested")),1)]),_:1},8,["checked"])]),_:1})):Q("",!0),s.importDataOnly?Q("",!0):(y(),N(De,{key:2,class:"!my-2 nc-dense-checkbox-container"},{default:p(()=>[h(Ze,{checked:e(f).parserConfig.shouldImportData,"onUpdate:checked":a[9]||(a[9]=R=>e(f).parserConfig.shouldImportData=R)},{default:p(()=>[A(k(s.$t("labels.importData")),1)]),_:1},8,["checked"])]),_:1}))]),_:1})]),_:1},8,["active-key","class"])]))],2)]),_:1},8,["visible","class","width","transition-name"])}}}),yo=Object.assign(dt(ho,[["__scopeId","data-v-0890ead9"]]),{__name:"DlgQuickImport"}),Po=Object.freeze(Object.defineProperty({__proto__:null,default:yo},Symbol.toStringTag,{value:"Module"}));export{Po as Q,Fo as _,yo as a,ra as b};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.