orcaq 1.1.6 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/-7uW7YTy.js +1 -0
- package/.output/public/_nuxt/{wH-P-_6A.js → 5450EsIE.js} +1 -1
- package/.output/public/_nuxt/6mVUr42b.js +1 -0
- package/.output/public/_nuxt/7H5y5euK.js +1 -0
- package/.output/public/_nuxt/7iCr9_qw.js +26 -0
- package/.output/public/_nuxt/{C4-wpUAK.js → B0gkARnK.js} +1 -1
- package/.output/public/_nuxt/B21nC2NZ.js +1 -0
- package/.output/public/_nuxt/B232GDut.js +2 -0
- package/.output/public/_nuxt/{x85BV7y_.js → B6N_D8QI.js} +1 -1
- package/.output/public/_nuxt/B7C8fo37.js +1 -0
- package/.output/public/_nuxt/BC82eJHt.js +1 -0
- package/.output/public/_nuxt/BHr4_sbs.js +9 -0
- package/.output/public/_nuxt/{DYqShb5v.js → BJvJ0Hlu.js} +4 -4
- package/.output/public/_nuxt/BK-6CJ0A.js +1 -0
- package/.output/public/_nuxt/BMVgfiQu.js +1 -0
- package/.output/public/_nuxt/BNh4NY7v.js +1 -0
- package/.output/public/_nuxt/{3jfBYqJb.js → BO3FEgXG.js} +1 -1
- package/.output/public/_nuxt/BQm1mt0O.js +1 -0
- package/.output/public/_nuxt/BRCvv3op.js +1 -0
- package/.output/public/_nuxt/{DLA-ioQ4.js → BRWis86L.js} +1 -1
- package/.output/public/_nuxt/{Bgj8Q52i.js → BRzWRTTF.js} +1 -1
- package/.output/public/_nuxt/{BWg3wiuc.js → BWTTrGtY.js} +2 -2
- package/.output/public/_nuxt/{BJoSd_uV.js → BXMKgn-J.js} +1 -1
- package/.output/public/_nuxt/{BoUZO_NV.js → BYaoWfSN.js} +1 -1
- package/.output/public/_nuxt/B_G752SV.js +20 -0
- package/.output/public/_nuxt/{B5HZeat4.js → BalNYDR1.js} +1 -1
- package/.output/public/_nuxt/{DYPm3mWQ.js → BmfnP4qD.js} +1 -1
- package/.output/public/_nuxt/Bn6_QGSK.js +1 -0
- package/.output/public/_nuxt/{CROH8wgk.js → BsCPQnkm.js} +1 -1
- package/.output/public/_nuxt/{wrneOCBW.js → Bu6ybm3Z.js} +1 -1
- package/.output/public/_nuxt/{DDsaDrGo.js → BuTCm7Bo.js} +1 -1
- package/.output/public/_nuxt/BuzCyLCh.js +1 -0
- package/.output/public/_nuxt/{4LC09zKL.js → BzNEuLKx.js} +1 -1
- package/.output/public/_nuxt/{C9ZBCJdc.js → BzNNFvTW.js} +1 -1
- package/.output/public/_nuxt/{CoQ_oOia.js → BzqjH2-H.js} +1 -1
- package/.output/public/_nuxt/{BCa-NKh0.js → C-e53AuW.js} +1 -1
- package/.output/public/_nuxt/C0jXhwNq.js +1 -0
- package/.output/public/_nuxt/C6K-C4_d.js +1 -0
- package/.output/public/_nuxt/{DgGwe7jd.js → C6teO48Y.js} +133 -133
- package/.output/public/_nuxt/{CCK1so3F.js → C874itvn.js} +1 -1
- package/.output/public/_nuxt/C8ZJ2pm_.js +1 -0
- package/.output/public/_nuxt/CA3O4M9L.js +1 -0
- package/.output/public/_nuxt/{Cf6n9dsT.js → CAjVwGyz.js} +1 -1
- package/.output/public/_nuxt/{uDsvlLN0.js → CCC5u9Ni.js} +1 -1
- package/.output/public/_nuxt/{BmEIj9l9.js → CCCJ2fw7.js} +1 -1
- package/.output/public/_nuxt/{dDqgUqt5.js → CFi6G8Aj.js} +2 -2
- package/.output/public/_nuxt/CKlMKmo6.js +1 -0
- package/.output/public/_nuxt/{FHx3Ejt6.js → CMDq7o88.js} +1 -1
- package/.output/public/_nuxt/CMI-3q_e.js +1 -0
- package/.output/public/_nuxt/{CBjcd4cE.js → CMnjMfEQ.js} +1 -1
- package/.output/public/_nuxt/{Ci7hrFNN.js → CQFANjzf.js} +1 -1
- package/.output/public/_nuxt/{BuSZbOQO.js → CU5cwnUW.js} +1 -1
- package/.output/public/_nuxt/{Bibtvqd8.js → CXQ2zrsE.js} +1 -1
- package/.output/public/_nuxt/{Dd89Vyx8.js → CXbrqQhC.js} +1 -1
- package/.output/public/_nuxt/CZXyfpHW.js +1 -0
- package/.output/public/_nuxt/CZgTP5wX.js +1 -0
- package/.output/public/_nuxt/{BxZgIpkD.js → Cd_fVKDw.js} +1 -1
- package/.output/public/_nuxt/CeXnSKvd.js +1 -0
- package/.output/public/_nuxt/Chw5tFzx.js +1 -0
- package/.output/public/_nuxt/CkLSGVwV.js +1 -0
- package/.output/public/_nuxt/Cqk0ImDE.js +1 -0
- package/.output/public/_nuxt/{BAasx5OS.js → CuXTA7ZW.js} +1 -1
- package/.output/public/_nuxt/Cv9v5fHN.js +1 -0
- package/.output/public/_nuxt/{CE0zlNDo.js → CvbYm0uB.js} +1 -1
- package/.output/public/_nuxt/{BJ8qQpib.js → Cw1HIv3s.js} +1 -1
- package/.output/public/_nuxt/{7nPLTDFM.js → CyEOtFwE.js} +1 -1
- package/.output/public/_nuxt/CyKRjZZo.js +1 -0
- package/.output/public/_nuxt/{Bap1X7GD.js → D4DMGxvZ.js} +1 -1
- package/.output/public/_nuxt/{DP6Az3fC.js → D5GonnbJ.js} +1 -1
- package/.output/public/_nuxt/D5Oboajo.js +1 -0
- package/.output/public/_nuxt/D8egDyEO.js +1 -0
- package/.output/public/_nuxt/DBSV6YXN.js +1 -0
- package/.output/public/_nuxt/{habs8oz6.js → DCewvWOu.js} +1 -1
- package/.output/public/_nuxt/{CP-7VdtS.js → DG9CsZCx.js} +1 -1
- package/.output/public/_nuxt/{DViCRsmA.js → DH2V7e8U.js} +1 -1
- package/.output/public/_nuxt/{C6bwwZAc.js → DHXwq7wT.js} +1 -1
- package/.output/public/_nuxt/DJXrgohw.js +2 -0
- package/.output/public/_nuxt/{Cl3VX8Um.js → DQRyK9Io.js} +1 -1
- package/.output/public/_nuxt/{ZNDxw-7x.js → DXVrM3CN.js} +1 -1
- package/.output/public/_nuxt/{Un5zjlKE.js → DZ4xLzJg.js} +1 -1
- package/.output/public/_nuxt/DZIoL4RO.js +1 -0
- package/.output/public/_nuxt/D_kY6P5P.js +1 -0
- package/.output/public/_nuxt/DgxTwFGe.js +7 -0
- package/.output/public/_nuxt/DkX74xDd.js +1 -0
- package/.output/public/_nuxt/{B_hWP06g.js → DmnufEYq.js} +1 -1
- package/.output/public/_nuxt/{BCazdlgN.js → Dopm1f4X.js} +1 -1
- package/.output/public/_nuxt/{C6CFIGob.js → Dpkaavgs.js} +1 -1
- package/.output/public/_nuxt/DpsqSAMo.js +20 -0
- package/.output/public/_nuxt/{DHyymmeR.js → DrkGD_bQ.js} +1 -1
- package/.output/public/_nuxt/{yLATXAxG.js → Dtry_3Qa.js} +1 -1
- package/.output/public/_nuxt/DwPmcz47.js +1 -0
- package/.output/public/_nuxt/DyjsVMbv.js +1 -0
- package/.output/public/_nuxt/{CNPNWuzz.js → FmHWbXNk.js} +1 -1
- package/.output/public/_nuxt/{BbLqUOHs.js → JxgekUqn.js} +1 -1
- package/.output/public/_nuxt/KoGK2wLb.js +1 -0
- package/.output/public/_nuxt/LU_a7qLd.js +1 -0
- package/.output/public/_nuxt/{Lh0RfwhV.js → LxqkguPP.js} +1 -1
- package/.output/public/_nuxt/Q8x88Gcd.js +1 -0
- package/.output/public/_nuxt/{DRX1aIGD.js → R04uZjs6.js} +1 -1
- package/.output/public/_nuxt/So0hX8V0.js +31 -0
- package/.output/public/_nuxt/WGDY9i_Q.js +1 -0
- package/.output/public/_nuxt/{Df4wU3r0.js → WZQ8mcv9.js} +1 -1
- package/.output/public/_nuxt/{CO0Pa76w.js → XjywAggc.js} +1 -1
- package/.output/public/_nuxt/{_fileId_.DxhkUVGK.css → _fileId_.CiauI_x3.css} +1 -1
- package/.output/public/_nuxt/{C445d10Z.js → _uLivI44.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/30582efd-125a-4f88-bd89-20a7b2ba8697.json +1 -0
- package/.output/public/_nuxt/{EZ0owjER.js → eQskTKIU.js} +1 -1
- package/.output/public/_nuxt/ecWNT6PZ.js +1 -0
- package/.output/public/_nuxt/entry.BcHy7sxf.css +1 -0
- package/.output/public/_nuxt/{BEvswgw7.js → f6XRRKUb.js} +1 -1
- package/.output/public/_nuxt/jtwYTq7X.js +52 -0
- package/.output/public/_nuxt/{Cvkyd5iW.js → mcYTISF7.js} +1 -1
- package/.output/public/_nuxt/mcfKrWU-.js +1 -0
- package/.output/public/_nuxt/{BnZ5qYkP.js → soHTUlpn.js} +9 -9
- package/.output/public/_nuxt/tc7vkD0J.js +3 -0
- package/.output/public/_nuxt/vEHvfalB.js +53 -0
- package/.output/public/_nuxt/vP25tZUh.js +2 -0
- package/.output/public/_nuxt/{F8eHh68O.js → zndqWf9s.js} +8 -8
- package/.output/server/chunks/_/registry.mjs +116 -0
- package/.output/server/chunks/_/registry.mjs.map +1 -0
- package/.output/server/chunks/_/{native-backup.mjs → runtime.mjs} +325 -164
- package/.output/server/chunks/_/runtime.mjs.map +1 -0
- package/.output/server/chunks/_/{native-backup-jobs.mjs → service.mjs} +185 -248
- package/.output/server/chunks/_/service.mjs.map +1 -0
- package/.output/server/chunks/_/tables.factory.mjs +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +802 -727
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +683 -648
- package/.output/server/chunks/routes/api/database-backup/capability.get.mjs +7 -2
- package/.output/server/chunks/routes/api/database-backup/capability.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +4 -3
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +1 -20
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +1 -20
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +14 -3
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +1 -20
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/27ZsWTm2.js +0 -1
- package/.output/public/_nuxt/4OV_5qQE.js +0 -1
- package/.output/public/_nuxt/6NXhlm49.js +0 -1
- package/.output/public/_nuxt/6wO6CbCo.js +0 -1
- package/.output/public/_nuxt/B10QBDL6.js +0 -1
- package/.output/public/_nuxt/B3iNzG14.js +0 -1
- package/.output/public/_nuxt/BKAEFZqP.js +0 -1
- package/.output/public/_nuxt/BTvOPFKG.js +0 -1
- package/.output/public/_nuxt/BbawOYVr.js +0 -1
- package/.output/public/_nuxt/Bf2bW_MY.js +0 -7
- package/.output/public/_nuxt/BhzzQZRC.js +0 -1
- package/.output/public/_nuxt/Bok35x_B.js +0 -1
- package/.output/public/_nuxt/BusLuQ4Q.js +0 -1
- package/.output/public/_nuxt/C7C1kq_N.js +0 -1
- package/.output/public/_nuxt/CCOlJAKS.js +0 -2
- package/.output/public/_nuxt/CEoM97rJ.js +0 -1
- package/.output/public/_nuxt/CHAVZu6b.js +0 -2
- package/.output/public/_nuxt/CN8b9qPP.js +0 -1
- package/.output/public/_nuxt/CUws2Uv7.js +0 -1
- package/.output/public/_nuxt/CZLVBTJx.js +0 -1
- package/.output/public/_nuxt/Cl5p4EQY.js +0 -1
- package/.output/public/_nuxt/CnQob-tn.js +0 -1
- package/.output/public/_nuxt/CoX1_N4R.js +0 -1
- package/.output/public/_nuxt/CvDZBOay.js +0 -1
- package/.output/public/_nuxt/D29mzs5t.js +0 -1
- package/.output/public/_nuxt/D9MMtvTu.js +0 -52
- package/.output/public/_nuxt/DM8LJTsg.js +0 -1
- package/.output/public/_nuxt/DZFq5yqu.js +0 -1
- package/.output/public/_nuxt/DZVfXu09.js +0 -1
- package/.output/public/_nuxt/DdbhVPqD.js +0 -1
- package/.output/public/_nuxt/DeVs4gEL.js +0 -53
- package/.output/public/_nuxt/DlymFQ5D.js +0 -26
- package/.output/public/_nuxt/DoNLWeqB.js +0 -20
- package/.output/public/_nuxt/Dpm6rnHk.js +0 -1
- package/.output/public/_nuxt/DsPClaxV.js +0 -1
- package/.output/public/_nuxt/DtOg0Asw.js +0 -1
- package/.output/public/_nuxt/DyDU0wFf.js +0 -1
- package/.output/public/_nuxt/G40WRC_L.js +0 -1
- package/.output/public/_nuxt/NMm6Vanu.js +0 -1
- package/.output/public/_nuxt/ORit_vRp.js +0 -1
- package/.output/public/_nuxt/P_2SRa71.js +0 -2
- package/.output/public/_nuxt/XETGYn3c.js +0 -1
- package/.output/public/_nuxt/ZVYA9HBl.js +0 -1
- package/.output/public/_nuxt/ZhP2FY6Y.js +0 -1
- package/.output/public/_nuxt/_TExiQQQ.js +0 -3
- package/.output/public/_nuxt/__PEYcIB.js +0 -9
- package/.output/public/_nuxt/builds/meta/47c294b1-d6b3-4974-bd50-5046ae0a393e.json +0 -1
- package/.output/public/_nuxt/dSX5D8ur.js +0 -28
- package/.output/public/_nuxt/entry.CGwcggc4.css +0 -1
- package/.output/public/_nuxt/o60RgyTd.js +0 -1
- package/.output/server/chunks/_/native-backup-jobs.mjs.map +0 -1
- package/.output/server/chunks/_/native-backup.mjs.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`)}),navigator.clipboard.writeText(a).catch(l=>{console.error("Failed to copy: ",l)})},Ua=i=>mn.includes(i),Qa=i=>Object.keys(i).filter(a=>!Ua(a)),gn=({pKeys:i,pKeyValue:a})=>{const l=i.length?i:Qa(a);if(!l.length)throw new Error("Invalid input: no columns to match for WHERE clause");return{columnsToMatch:l,noPkWarning:i.length===0}},_n=(i,a,l)=>{const n=ut(l);return i.map(s=>{const m=a[s];return m==null?`${n.quoteIdentifier(s)} IS NULL`:`${n.quoteIdentifier(s)} = ${n.toLiteral(m)}`}).join(" AND ")};function Ka({schemaName:i,tableName:a,pKeys:l,pKeyValue:n,dbType:s}){if(!a)throw new Error("Invalid input: tableName is required");const{columnsToMatch:m,noPkWarning:v}=gn({pKeys:l,pKeyValue:n}),u=ut(s),p=_n(m,n,s);return{sql:`DELETE FROM ${u.qualifyTableName(a,i)} WHERE ${p}`,noPkWarning:v}}function za({schemaName:i,tableName:a,pKeys:l,pKeyValue:n,update:s,dbType:m}){if(!a||!Object.keys(s).length)throw new Error("Invalid input: tableName and update object are required");const{columnsToMatch:v,noPkWarning:u}=gn({pKeys:l,pKeyValue:n}),p=ut(m),r=Object.entries(s).map(([f,S])=>`${p.quoteIdentifier(f)} = ${p.toLiteral(S)}`).join(", "),w=_n(v,n,m);return{sql:`UPDATE ${p.qualifyTableName(a,i)} SET ${r} WHERE ${w}`,noPkWarning:u}}function ja({schemaName:i,tableName:a,insertData:l,dbType:n}){if(!a||!l)throw new Error("Invalid input: tableName, insertData object are required");const s=ut(n);if(!Object.keys(l).length)return`INSERT INTO ${s.qualifyTableName(a,i)} DEFAULT VALUES`;const m=Object.keys(l).map(u=>s.quoteIdentifier(u)).join(", "),v=Object.values(l).map(u=>s.toLiteral(u)).join(", ");return`INSERT INTO ${s.qualifyTableName(a,i)} (${m}) VALUES (${v})`}const
|
|
1
|
+
import{cw as ut,aS as $n,bz as On,r as E,am as Ye,az as _t,ay as Dn,dI as Mn,d as L,aa as tn,k as D,o as _,w as c,f as o,g as e,ab as ht,dJ as nn,E as Ce,dK as En,ap as An,p as at,bX as an,a4 as on,aj as Pn,a1 as ct,a2 as dt,ak as Fn,c as h,a0 as bt,$ as Bn,bJ as wt,n as xe,j as ot,a5 as Vn,m as C,aq as Ze,dL as Ln,dM as qn,dN as et,e as T,l as B,t as V,A as te,z as $,cD as Ct,d9 as Un,co as Qn,K as Ve,G as ce,a$ as Ie,ad as sn,ah as st,cB as mt,au as Ft,dO as rt,dP as Bt,D as Ne,dQ as Vt,dR as yt,dS as Kn,cz as zn,dT as jn,O as re,J as ie,N as me,L as ue,bj as Lt,bk as tt,bH as Xe,a_ as St,M as ke,ck as Hn,dU as qt,Q as lt,bA as ln,bB as rn,bC as un,dV as Wn,F as pe,s as Te,dW as Gn,dX as Ut,dY as Qt,_ as Rt,h as Nt,bS as xt,x as Tt,y as It,bf as Le,i as Ge,C as cn,B as kt,dZ as Kt,d_ as Yn,cI as Jn,cF as zt,cE as Xn,cl as Zn,d$ as pt,e0 as ea,at as oe,V as Se,ae as Re,ai as qe,bi as it,aE as ft,aT as ta,cX as jt,aC as na,e1 as dn,bO as aa,bP as oa,bR as sa,e2 as la,e3 as ra,e4 as Ht,e5 as ia,e6 as ua,q as ca,bU as da}from"./C6teO48Y.js";import{s as ma,f as pa,n as fa,d as va,u as ya,e as ga,g as _a,h as ha,c as ba,_ as $e,b as Ue,a as Qe,D as Ke}from"./C0jXhwNq.js";import{d as wa}from"./CCC5u9Ni.js";import{u as ye,r as Oe}from"./CvbYm0uB.js";import{_ as Ca}from"./Dpkaavgs.js";import{f as Wt,a as Sa,_ as Ra}from"./DpsqSAMo.js";import{a as Je,Q as ve,b as Na,c as xa,_ as Ta}from"./Cqk0ImDE.js";import{e as mn,H as nt,D as Ia,d as ka,N as pn,b as Gt,a as vt,f as Yt,c as Jt}from"./BHr4_sbs.js";import{_ as $t}from"./D5GonnbJ.js";import{_ as fn,a as vn,b as yn}from"./CMI-3q_e.js";import{D as $a,g as Oa,h as Da,i as Ma,_ as Ea,e as Aa,f as Pa}from"./BMVgfiQu.js";import{M as Fa}from"./WGDY9i_Q.js";import{C as Ba}from"./BzqjH2-H.js";import{_ as Va}from"./BRCvv3op.js";import{_ as gt}from"./Cv9v5fHN.js";import{C as F,_ as La}from"./C6K-C4_d.js";import{b as ze,a as je}from"./BVmBXPoG.js";import{_ as De,a as Me}from"./DQRyK9Io.js";const qa=i=>{if(!Array.isArray(i)||i.length===0)return;let a="";i.forEach((l,n)=>{const s=Object.entries(l).filter(([m])=>!mn.includes(m)).map(([m,v])=>`${v}`).join(" ");a+=s,n<i.length-1&&(a+=`
|
|
2
|
+
`)}),navigator.clipboard.writeText(a).catch(l=>{console.error("Failed to copy: ",l)})},Ua=i=>mn.includes(i),Qa=i=>Object.keys(i).filter(a=>!Ua(a)),gn=({pKeys:i,pKeyValue:a})=>{const l=i.length?i:Qa(a);if(!l.length)throw new Error("Invalid input: no columns to match for WHERE clause");return{columnsToMatch:l,noPkWarning:i.length===0}},_n=(i,a,l)=>{const n=ut(l);return i.map(s=>{const m=a[s];return m==null?`${n.quoteIdentifier(s)} IS NULL`:`${n.quoteIdentifier(s)} = ${n.toLiteral(m)}`}).join(" AND ")};function Ka({schemaName:i,tableName:a,pKeys:l,pKeyValue:n,dbType:s}){if(!a)throw new Error("Invalid input: tableName is required");const{columnsToMatch:m,noPkWarning:v}=gn({pKeys:l,pKeyValue:n}),u=ut(s),p=_n(m,n,s);return{sql:`DELETE FROM ${u.qualifyTableName(a,i)} WHERE ${p}`,noPkWarning:v}}function za({schemaName:i,tableName:a,pKeys:l,pKeyValue:n,update:s,dbType:m}){if(!a||!Object.keys(s).length)throw new Error("Invalid input: tableName and update object are required");const{columnsToMatch:v,noPkWarning:u}=gn({pKeys:l,pKeyValue:n}),p=ut(m),r=Object.entries(s).map(([f,S])=>`${p.quoteIdentifier(f)} = ${p.toLiteral(S)}`).join(", "),w=_n(v,n,m);return{sql:`UPDATE ${p.qualifyTableName(a,i)} SET ${r} WHERE ${w}`,noPkWarning:u}}function ja({schemaName:i,tableName:a,insertData:l,dbType:n}){if(!a||!l)throw new Error("Invalid input: tableName, insertData object are required");const s=ut(n);if(!Object.keys(l).length)return`INSERT INTO ${s.qualifyTableName(a,i)} DEFAULT VALUES`;const m=Object.keys(l).map(u=>s.quoteIdentifier(u)).join(", "),v=Object.values(l).map(u=>s.toLiteral(u)).join(", ");return`INSERT INTO ${s.qualifyTableName(a,i)} (${m}) VALUES (${v})`}const Ha=$n("quick-query-logs",()=>{const i=Mn(),{workspaceId:a,connectionId:l}=On(),n=E([]),s=({tableName:r,schemaName:w})=>n.value.filter(y=>y.tableName===r&&y.schemaName===w&&y.connectionId===l.value),m=async r=>{if(!l.value||!a.value){console.error("connectionId or schemaId not found");return}let w=`
|
|
3
3
|
${r.logs}`;r.errorMessage&&(w+=`
|
|
4
|
-
-- Error: ${r.errorMessage}`);const y={...r,logs:w,connectionId:l.value,workspaceId:a.value,createdAt:Dn().toISOString(),id:_t()};await i.quickQueryLogStorage.create(y),n.value.push(y)},v=async({tableName:r,schemaName:w})=>{if(!l.value){console.error("connectionId or schemaId not found");return}await i.quickQueryLogStorage.delete({connectionId:l.value,tableName:r,schemaName:w}),await p(l.value)},u=async()=>{if(!l.value){console.error("connectionId not found");return}await i.quickQueryLogStorage.delete({connectionId:l.value}),await p(l.value)},p=async r=>{const w=await i.quickQueryLogStorage.getByContext({connectionId:r});n.value=w};return Ye(()=>[l.value],async()=>{if(!l.value){console.error("connectionId not found");return}await p(l.value)},{deep:!0,immediate:!0}),{qqLogs:n,getLogsByTableId:s,deleteAllLogs:u,deleteLogsOfTable:v,createLog:m}},{persist:!1}),[Ha,Ga]=tn(["MenuCheckboxItem","MenuRadioItem"],"MenuItemIndicatorContext");var Ya=L({__name:"MenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const a=Ha({modelValue:E(!1)});return(l,n)=>(_(),D(e(An),{present:l.forceMount||e(En)(e(a).modelValue.value)||e(a).modelValue.value===!0},{default:c(()=>[o(e(ht),{as:l.as,"as-child":l.asChild,"data-state":e(nn)(e(a).modelValue.value)},{default:c(()=>[Ce(l.$slots,"default")]),_:3},8,["as","as-child","data-state"])]),_:3},8,["present"]))}}),Ja=Ya,Xa=L({__name:"MenuGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=i;return(l,n)=>(_(),D(e(ht),at({role:"group"},a),{default:c(()=>[Ce(l.$slots,"default")]),_:3},16))}}),Za=Xa;const[eo,to]=tn("MenuRadioGroup");var no=L({__name:"MenuRadioGroup",props:{modelValue:{type:null,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(i,{emit:a}){const l=i,n=a,s=an(l,["modelValue"]),m=on(s),v=Pn(l,"modelValue",n);return to({modelValue:v,onValueChange:u=>{v.value=u}}),(u,p)=>(_(),D(Za,ct(dt(e(m))),{default:c(()=>[Ce(u.$slots,"default",{modelValue:e(v)})]),_:3},16))}}),ao=no,oo=L({__name:"MenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:a}){const l=i,n=a,s=an(l,["value"]),m=on(s),{value:v}=Fn(l),u=eo(),p=h(()=>u.modelValue.value===(v==null?void 0:v.value));return Ga({modelValue:p}),(r,w)=>(_(),D(Fa,at({role:"menuitemradio"},e(m),{"aria-checked":p.value,"data-state":e(nn)(p.value),onSelect:w[0]||(w[0]=async y=>{n("select",y),e(u).onValueChange(e(v))})}),{default:c(()=>[Ce(r.$slots,"default")]),_:3},16,["aria-checked","data-state"]))}}),so=oo,lo=L({__name:"DropdownMenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=i;return bt(),(l,n)=>(_(),D(e(Ja),ct(dt(a)),{default:c(()=>[Ce(l.$slots,"default")]),_:3},16))}}),ro=lo,io=L({__name:"DropdownMenuRadioGroup",props:{modelValue:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(i,{emit:a}){const l=i,s=Bn(a);return bt(),(m,v)=>(_(),D(e(ao),ct(dt({...l,...e(s)})),{default:c(()=>[Ce(m.$slots,"default")]),_:3},16))}}),uo=io,co=L({__name:"DropdownMenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:a}){const s=wt(i,a);return bt(),(m,v)=>(_(),D(e(so),ct(dt(e(s))),{default:c(()=>[Ce(m.$slots,"default")]),_:3},16))}}),mo=co;const Xt=L({__name:"BreadcrumbLink",props:{asChild:{type:Boolean},as:{default:"a"},class:{}},setup(i){const a=i;return(l,n)=>(_(),D(e(ht),{"data-slot":"breadcrumb-link",as:l.as,"as-child":l.asChild,class:xe(e(ot)("hover:text-foreground transition-colors",a.class))},{default:c(()=>[Ce(l.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),po=L({__name:"DropdownMenuRadioGroup",props:{modelValue:{},asChild:{type:Boolean},as:{}},emits:["update:modelValue"],setup(i,{emit:a}){const s=wt(i,a);return(m,v)=>(_(),D(e(uo),at({"data-slot":"dropdown-menu-radio-group"},e(s)),{default:c(()=>[Ce(m.$slots,"default")]),_:3},16))}}),fo=L({__name:"DropdownMenuRadioItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},emits:["select"],setup(i,{emit:a}){const l=i,n=a,s=h(()=>{const{class:u,...p}=l;return p}),m=wt(s,n),v=Vn($a,h(()=>"default"));return(u,p)=>(_(),D(e(mo),at({"data-slot":"dropdown-menu-radio-item","data-size":e(v)},e(m),{class:e(ot)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e(Oa)[e(v)],l.class)}),{default:c(()=>[C("span",{class:xe(e(ot)("pointer-events-none absolute flex items-center justify-center",e(Da)[e(v)]))},[o(e(ro),null,{default:c(()=>[o(e(Ba),{class:xe(e(ot)("fill-current",e(Ma)[e(v)]))},null,8,["class"])]),_:1})],2),Ce(u.$slots,"default")]),_:3},16,["data-size","class"]))}}),vo=()=>{const i=E(),a=E(),l=E([]),n=E(void 0),s=E(!1);return{quickQueryFilterRef:i,quickQueryTableRef:a,selectedRows:l,isMutating:s,focusedCell:n}},yo=i=>!!(i!=null&&i.trim().endsWith("[]")),go=({columnName:i,columnType:a,cellValue:l})=>{if(!i)return null;const n=Array.isArray(l)&&yo(a);return{fieldName:i,isSelect:!0,operator:et.EQUAL,valueType:n?qn.POSTGRES_ARRAY:void 0,search:Ln(l,{preserveArray:n})}},_o=({quickQueryFilterRef:i,quickQueryTableRef:a,columnTypes:l,filters:n,onApplyNewFilter:s})=>{const m=u=>{n.value=[...n.value,u]};return{appendFilter:m,onAddFilterByContextCell:async()=>{var r,w,y;const u=(r=a.value)==null?void 0:r.cellContextMenu;if(!u)return;const p=go({columnName:u.colDef.field,columnType:(w=l==null?void 0:l.value.find(f=>f.name===u.colDef.field))==null?void 0:w.type,cellValue:u.value});p&&(m(p),await Ze(),(y=i.value)==null||y.onShowSearch(),s())}}},ho={class:"flex items-center justify-between"},bo={class:"truncate"},wo=L({__name:"DataGridRelationCell",props:{params:{}},setup(i){return(a,l)=>{var n,s;return _(),T("div",ho,[C("span",bo,V(((s=(n=a.params)==null?void 0:n.formatValue)==null?void 0:s.call(n,a.params.value))||a.params.value),1),a.params.isPrimaryKey&&a.params.value?(_(),D(e(te),{key:0,onClick:l[0]||(l[0]=()=>{a.params.onOpenPreviewReverseTableModal(a.params.value)}),name:"hugeicons:view",class:"min-w-4 w-4! cursor-pointer hover:bg-amber-500"})):B("",!0)])}}}),hn=i=>["object","json","jsonb"].includes(i.trim().toLowerCase()),Co=i=>i.trim().endsWith("[]"),bn=i=>hn(i)||Co(i),So=(i,a)=>(i??[]).map((l,n)=>({[nt]:n+a+1,...l}));function Ro(i){const a=i.event.key;return["Backspace","Delete"].some(n=>n===a||a.toUpperCase()===n)}const No=({columnTypes:i,primaryKeyColumns:a,foreignKeyColumns:l,foreignKeys:n,orderBy:s,isViewOnly:m,currentTableName:v,currentSchemaName:u,isHaveRelationByFieldName:p,onUpdateOrderBy:r,onOpenBackReferencedTableModal:w,onOpenForwardReferencedTableModal:y})=>({columnDefs:h(()=>{var d;if(!((d=i.value)!=null&&d.length))return[];const S=[{colId:nt,headerName:ka,field:nt,filter:!1,resizable:!0,editable:!1,sortable:!1,type:"indexColumn",headerComponentParams:{allowSorting:!1},pinned:"left",width:Ia}],b=new Set(a.value),R=new Set(l.value),t=new Map(n.value.map(g=>[g.column,g]));return i.value.forEach(({name:g,type:O})=>{const M=g,z=s.value.columnName===M?s.value.order:void 0,ne=b.has(M),q=R.has(M),Y=t.get(M),ge=p(M),_e=ne&&ge||q&&Y,he=bn(O);S.push({headerName:M,field:M,colId:M,filter:!1,resizable:!0,editable:!0,sortable:!1,type:"editableColumn",headerComponentParams:{allowSorting:!0,sort:z,onUpdateSort:r,fieldId:M,isPrimaryKey:ne,isForeignKey:q},cellRenderer:_e?wo:void 0,cellRendererParams:{isPrimaryKey:_e,onOpenPreviewReverseTableModal:G=>{if(q&&Y){y({id:G,tableName:Y.referenced_table,columnName:Y.referenced_column,schemaName:Y.referenced_table_schema});return}w({id:G,columnName:M,tableName:v.value,schemaName:u.value})}},cellEditorSelector:G=>{if(he)return{component:"AgJsonCellEditor",popup:!0,popupPosition:"under"}},valueFormatter:G=>pa(G,he),valueSetter:G=>ma({params:G,fieldId:M,isObjectColumn:he,isViewOnly:m.value})})}),S})}),xo=({data:i,columnTypes:a})=>{const l=E([]),n=h(()=>new Map(a.value.map(u=>[u.name,u]))),s=u=>{var r;const p=((r=n.value.get(u))==null?void 0:r.type)||"";return hn(p)},m=u=>{var r;const p=((r=n.value.get(u))==null?void 0:r.type)||"";return bn(p)};return{editedCells:l,isJSONColumn:s,mapColumnDef:n,onCellValueChanged:u=>{var O,M,z,ne;const{colDef:p,newValue:r}=u,w=u.node.rowIndex,y=p.field;if(w==null||!y)return;const f=m(y),S=((O=n.value.get(y))==null?void 0:O.type)||"",b=!!((M=u.node.data)!=null&&M[pn]),R=b||(ne=(z=i.value)==null?void 0:z[w])==null?void 0:ne[y],{hasChanged:t,normalizedValue:d}=fa({fieldType:S,isObjectColumn:f,oldValue:R,newValue:r}),g=l.value.some(q=>q.rowId===w);if(t&&!g){l.value.push({rowId:w,changedData:{[y]:d},isNewRow:b});return}if(t){l.value=l.value.map(q=>q.rowId===w?{...q,changedData:{...q.changedData,[y]:d}}:q);return}l.value=l.value.map(q=>{if(q.rowId!==w)return q;const Y={...q.changedData};return delete Y[y],{...q,changedData:Y}}).filter(q=>q.isNewRow||Object.keys(q.changedData).length>0)}}},To={class:"ag-header-cell-text items-center flex gap-0.5","data-ref":"eText"},Io={class:"text-xxs!"},ko={key:0,class:"ag-sort-indicator-container","data-ref":"eSortIndicator"},$o={key:0,class:"ag-sort-indicator-icon ag-sort-ascending-icon","data-ref":"eSortAsc","aria-hidden":"true"},Oo={key:1,class:"ag-sort-indicator-icon ag-sort-descending-icon","data-ref":"eSortDesc","aria-hidden":"true"},Do=L({__name:"CustomHeaderTable",props:{params:{}},setup(i){const a=i,l=()=>{if(!a.params.allowSorting)return;const n=a.params.sort,s=a.params.onUpdateSort;s(n==="ASC"?{order:"DESC",columnName:a.params.displayName}:n==="DESC"?{}:{order:"ASC",columnName:a.params.displayName})};return(n,s)=>(_(),T("div",{class:"ag-header-cell-label cursor-pointer","data-ref":"eLabel",role:"presentation",onClick:l},[C("span",To,[a.params.isPrimaryKey?(_(),D(e(te),{key:0,name:"lucide:key-round",class:"min-w-3! text-yellow-500"})):B("",!0),a.params.isForeignKey?(_(),D(e(te),{key:1,name:"lucide:key-round",class:"min-w-3!"})):B("",!0),$(" "+V(a.params.displayName)+" ",1),C("p",Io,V(a.params.dataType),1)]),n.params.sort?(_(),T("span",ko,[n.params.sort==="ASC"?(_(),T("span",$o,s[0]||(s[0]=[C("span",{class:"ag-icon ag-icon-asc",role:"presentation",unselectable:"on"},null,-1)]))):(_(),T("span",Oo,s[1]||(s[1]=[C("span",{class:"ag-icon ag-icon-desc",role:"presentation",unselectable:"on"},null,-1)])))])):B("",!0)]))}}),Mo=({defaultPageSize:i,data:a,selectedColumnFieldId:l,isJSONColumn:n,gridApi:s,onCellMouseDown:m,onCellMouseOver:v})=>{const u=E(i??Ct),p=E({headerComponent:Do,suppressKeyboardEvent:Ro}),r=E({editableColumn:{cellStyle:f=>{const S=f.colDef.colId??"";if(!S||!a.value)return;const b=Number(f.node.id??f.node.rowIndex),R=a.value[b];if(R===void 0)return{backgroundColor:"var(--color-green-100)"};const t={},d=R[S],g=f.value;return(d===null||g===null)&&(t.color="var(--muted-foreground)"),va({oldValue:d,newValue:g,isObjectColumn:n(S)})?(t.backgroundColor="var(--color-orange-200)",delete t.color):t.backgroundColor="unset",t},cellClass:f=>f.column.getColId()===l.value?"col-highlight-cell cellCenter":"cellCenter"}}),w=ya();Ye(w,f=>{var S;(S=s.value)==null||S.updateGridOptions({theme:f})});const y=h(()=>{const f={components:{AgJsonCellEditor:ga},paginationPageSize:u.value,rowBuffer:Un,rowClass:"class-row-border-none",getRowStyle:S=>{if((S.node.rowIndex||0)%2===0)return{background:"var(--muted)"}},rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableSelectionWithoutKeys:!1,enableClickSelection:"enableSelection",copySelectedRows:!1},theme:w.value,pagination:!1,undoRedoCellEditing:!0,undoRedoCellEditingLimit:25,animateRows:!0,defaultColDef:p.value,columnTypes:r.value};return m&&(f.onCellMouseDown=m),v&&(f.onCellMouseOver=v),f});return{pageSize:u,defaultColDef:p,columnTypes:r,tableTheme:w,gridOptions:y}},Eo=({gridApi:i,data:a,primaryKeyColumns:l,foreignKeyColumns:n,selectedColumnFieldId:s})=>{Ye(s,async()=>{var v;await Ze(),(v=i.value)==null||v.refreshCells({force:!0})},{flush:"post"});const m=()=>{if(!i.value)return;const v=i.value.getAllGridColumns()||[],u=(a.value||[]).slice(0,10),p=_a({columns:v,rows:u}),r=new Set(l.value),w=new Set(n.value);i.value.updateGridOptions({columnDefs:v.map(y=>{const f=y.getColDef().field,S=r.has(f),b=w.has(f),t=S||b?ha:0;return{...y.getColDef(),width:f===nt?y.getActualWidth():p[f]+t}})})};return Qn(async()=>{var w,y,f;if(!i.value)return;await Ze();const v=i.value.getState(),u=document.querySelector(".ag-body-viewport");u&&(u.scrollTop=((w=v.scroll)==null?void 0:w.top)||0);const p=((y=i.value)==null?void 0:y.getAllGridColumns())||[];let r=0;for(const S of p){if(r>=(((f=v.scroll)==null?void 0:f.left)||0)){i.value.ensureColumnVisible(S.getColId(),"start");break}r+=S.getActualWidth()}}),{onRowDataUpdated:m}};function Ao(i){const{tableName:a,schemaName:l,primaryKeys:n,columnNames:s,data:m,selectedRows:v,pagination:u,addHistoryLog:p,refreshTableData:r,refreshCount:w,openErrorModal:y,errorMessage:f,quickQueryTableRef:S,focusedCell:b,safeModeEnabled:R,onRequestSafeModeConfirm:t,connection:d}=i,g=E(!1),O=async()=>{var A;const N=(A=S.value)==null?void 0:A.gridApi;N&&(N==null||N.deselectAll(),N==null||N.clearFocusedCell(),w(),r())},M=N=>{v.value=N},z=N=>{b&&(b.value=N)},ne=()=>{var N;return((N=S.value)==null?void 0:N.editedCells)??[]},q=()=>ne().filter(N=>N.isNewRow||Object.keys(N.changedData).length>0),Y=async()=>{var we;const N=q();if(!m.value||!N.length){Ve.info("No changes to save.");return}const A=[],Q=[],K=[];let H=!1;if(N.forEach(j=>{var ee,se,de;const Z=!!Object.keys(j.changedData).length,I=(ee=m.value)==null?void 0:ee[j.rowId],P=Z&&I&&!j.isNewRow,W=j.isNewRow||!I&&Z;if(P){const{sql:Pe,noPkWarning:Fe}=za({tableName:a,schemaName:l,update:j.changedData,pKeys:n.value,pKeyValue:I,dbType:(se=d.value)==null?void 0:se.type});Fe&&(H=!0),A.push({pKeyValue:I,update:j.changedData}),K.push(Pe)}else W&&(Q.push(j.changedData),K.push(ja({tableName:a,schemaName:l,insertData:j.changedData,dbType:(de=d.value)==null?void 0:de.type})))}),!A.length&&!Q.length){Ve.info("No valid changes to save.");return}if(H&&t&&!await t(K.join(`
|
|
5
|
-
`),Je.Save,!0)||!
|
|
6
|
-
`),Je.Save))return;g.value=!0;const U=ce(d.value),be={tableName:a,schemaName:l,...U},X=j=>({onResponseError({response:Z}){var
|
|
7
|
-
`),0,I,P)}});try{const j=[];A.length&&j.push($fetch("/api/tables/bulk-update",{method:"POST",body:{...be,pKeys:n.value,updates:A},...X("bulk update")})),Q.length&&j.push($fetch("/api/tables/bulk-insert",{method:"POST",body:{...be,insertItems:Q},...X("bulk insert")}));const I=(await Promise.all(j)).reduce((P,
|
|
8
|
-
`),I),w(),r(),Ve.success("Data saved successfully!")}catch(j){console.error("Fetch error in onSaveData:",j)}finally{g.value=!1}},ge=async()=>{var K,
|
|
9
|
-
`);if(!(A&&t&&!await t(Q,Je.Delete,!0))&&!(!A&&(R!=null&&R.value)&&t&&!await t(Q,Je.Delete))){g.value=!0;try{const{queryTime:U}=await $fetch("/api/tables/bulk-delete",{method:"POST",body:{tableName:a,schemaName:l,pKeys:n.value,pKeyValues:v.value,...ce(d.value)},onResponseError({response:X}){var Z,I,P;const we=(I=(Z=X==null?void 0:X._data)==null?void 0:Z.data)==null?void 0:I.driverError,j=(P=X==null?void 0:X._data)==null?void 0:P.message;y.value=!0,f.value=j||"An unknown error occurred during deletion.",p(Q,0,we,j)}});if(((K=v.value)==null?void 0:K.length)===((H=m.value)==null?void 0:H.length)&&u.offset>0){const X=u.offset-u.limit;u.offset=X>0?X:0}p(Q,U||0),w(),r(),Ve.success("Rows deleted successfully!")}catch(U){console.error("Fetch error in onDeleteRows:",U)}finally{g.value=!1}}},_e=()=>{var X,we;const N=(X=S.value)==null?void 0:X.gridApi;if(!N){Ve.error("Table grid API not available to add row.");return}let A=0;N.forEachNode(()=>A++);const Q=A,K=Q,H={[nt]:Q+1,[pn]:!0,...Object.fromEntries(s.value.map(j=>[j,void 0]))};N.applyTransaction({add:[H],addIndex:Q});const U=ne();if(!((we=S.value)!=null&&we.editedCells))return;S.value.editedCells=[...U,{rowId:K,changedData:{},isNewRow:!0}],N.setFocusedCell(Q,s.value[0]);const be=N.getDisplayedRowAtIndex(Q);be&&(N.deselectAll(),be.setSelected(!0))},he=()=>{!S.value||!q().length||(S.value.editedCells=[],O(),Ve.info("Changes discarded."))},G=h(()=>q().length),fe=h(()=>G.value>0);return{onAddEmptyRow:_e,onDiscardChanges:he,onDeleteRows:ge,onSaveData:Y,isMutating:g,hasEditedRows:fe,pendingChangesCount:G,onCopyRows:()=>{const N=v.value;if(!N)return;const A=N.filter(Boolean);qa(A)},onPasteRows:async()=>{var Q,K;const N=(Q=S.value)==null?void 0:Q.gridApi;if(!N)return;const A=N.getFocusedCell();A&&(A==null||A.rowIndex,(K=A==null?void 0:A.column)==null||K.getColId(),await navigator.clipboard.readText())},onRefresh:O,onSelectedRowsChange:M,onCopySelectedCell:async()=>{b!=null&&b.value&&await navigator.clipboard.writeText(ba(b.value)||"")},onFocusedCellChange:z,onDeselectAll:()=>{var A;const N=(A=S.value)==null?void 0:A.gridApi;N&&N.deselectAll()}}}const Zt=(i,a)=>({id:_t(),type:a,schemaName:i.schemaName,tableName:i.tableName,columnName:i.columnName,recordId:i.id}),Po=(i,a,l)=>({...i,selectedTab:a,schemaName:l}),Fo=(i,a)=>i.filter((l,n)=>n<=a);function sr(){const i=E([]);return{previewRelationBreadcrumbs:i,onOpenBackReferencedTableModal:u=>{i.value.push(Zt(u,"backReferenced"))},onOpenForwardReferencedTableModal:u=>{i.value.push(Zt(u,"forwardReferenced"))},onUpdateSelectedTabInBreadcrumb:(u,p,r)=>{const w=i.value[u];w&&(i.value[u]=Po(w,p,r))},onClearBreadcrumbs:()=>{i.value=[]},onBackPreviousBreadcrumb:()=>{i.value.pop()},onBackPreviousBreadcrumbByIndex:u=>{i.value=Fo(i.value,u)}}}const Bo=({tableName:i,schemaName:a,connectionId:l,tabViewType:n})=>{const s=Ie(),{schemas:m}=sn(s),v=h(()=>{const b=m.value[l];if(b)return b.find(R=>R.name===a)}),u=h(()=>{var b,R,t,d;switch(n){case st.TableDetail:return(R=(b=v.value)==null?void 0:b.tableDetails)==null?void 0:R[i];case st.ViewDetail:{const g=(d=(t=v.value)==null?void 0:t.viewDetails)==null?void 0:d[i];return{columns:g==null?void 0:g.columns,foreign_keys:[],primary_keys:[],table_id:g==null?void 0:g.view_id}}default:return null}}),p=h(()=>n===st.ViewDetail),r=h(()=>{var b,R;return((R=(b=u.value)==null?void 0:b.columns)==null?void 0:R.map(t=>t.name))||[]}),w=h(()=>{var b;return(((b=u.value)==null?void 0:b.foreign_keys)||[]).map(R=>R.column)}),y=h(()=>{var b;return((b=u.value)==null?void 0:b.foreign_keys)||[]}),f=h(()=>{var b;return(((b=u.value)==null?void 0:b.primary_keys)||[]).map(R=>R.column)}),S=h(()=>{var b,R;return((R=(b=u.value)==null?void 0:b.columns)==null?void 0:R.map(t=>({name:t.name,type:t.short_type_name})))||[]});return{primaryKeyColumns:f,foreignKeys:y,columnNames:r,tableMetaData:u,columnTypes:S,foreignKeyColumns:w,isVirtualTable:p}},Vo=()=>({[ve.Data]:!0,[ve.Structure]:!1,[ve.Erd]:!1}),Lo=({initialTab:i=ve.Data,onTabChanged:a}={})=>{const l=E(i),n=E(Vo());return Ye(l,s=>{n.value[s]=!0,a==null||a(s)}),{quickQueryTabView:l,openedQuickQueryTab:n}},wn=({schemaName:i,tableName:a})=>{const l=Ie(),{activeReservedSchemas:n}=sn(l),s=h(()=>(n.value||[]).find(p=>p.table===a&&p.schema===i)),m=h(()=>{var p,r;const u=new Map;return(r=(p=s.value)==null?void 0:p.used_by)==null||r.forEach(w=>{u.set(w.referenced_column,!0)}),u});return{activeReservedSchemas:n,reverseTables:s,isHaveRelationByFieldName:u=>m.value.has(u)}};function qo(){const i=E(!1),a=E(""),l=E(Je.Save),n=E(!1);let s=null;return{safeModeDialogOpen:i,safeModeDialogSql:a,safeModeDialogType:l,isDangerous:n,onRequestSafeModeConfirm:(p,r,w=!1)=>new Promise(y=>{a.value=p,l.value=r,n.value=w,i.value=!0,s=y}),onSafeModeConfirm:()=>{s&&(s(!0),s=null),i.value=!1},onSafeModeCancel:()=>{s&&(s(!1),s=null),i.value=!1}}}const Uo=({tableName:i,connection:a,primaryKeys:l,columns:n,isPersist:s=!0,schemaName:m,workspaceId:v,connectionId:u,initFilters:p,initComposeWith:r})=>{const w=mt(),y=Wa(),f=E(!1),S=E(""),b=Ft({limit:Ct,offset:0}),R=E([]),t=Ft({}),d=E(!1),g=E(rt.AND),O=h(()=>{var W;const I=w.tableAppearanceConfigs.nullOrderPreference,P=(W=a.value)==null?void 0:W.type;return I===Bt.Unset||P!==Ne.POSTGRES&&P!==Ne.ORACLE?"":I===Bt.NullsFirst?"NULLS FIRST":"NULLS LAST"}),M=h(()=>{var P;const I=(P=a.value)==null?void 0:P.type;return I===Ne.MYSQL||I===Ne.MYSQL2||I===Ne.MARIADB?W=>`\`${W}\``:W=>`"${W}"`}),z=h(()=>{const I=M.value;return`${Vt} ${I(m)}.${I(i)}`}),ne=h(()=>{var I;return d.value?yt({columns:n.value,db:((I=a.value)==null?void 0:I.type)||Ne.POSTGRES,filters:R.value,composeWith:g.value}):""}),q=h(()=>{let I="";const P=(t==null?void 0:t.order)||"ASC",W=(t==null?void 0:t.columnName)||l.value[0]||n.value[0],ee=M.value;W&&(I=`ORDER BY ${ee(W)} ${P}`,O.value&&(I=`${I} ${O.value}`));const se=`LIMIT ${b.limit}`,de=`OFFSET ${b.offset}`;return`${Vt} ${ee(m)}.${ee(i)} ${ne.value||""} ${I} ${se} ${de}`}),Y=h(()=>{const I=M.value;return`${Kn} ${I(m)}.${I(i)} ${ne.value||""}`}),ge=(I,P=0,W,ee)=>{y.createLog({tableName:i,schemaName:m,logs:I,queryTime:P,error:W,errorMessage:ee})},{data:_e,status:he,refresh:G}=ye("/api/query/execute",{method:"POST",body:{query:q,...ce(a.value)},watch:!1,immediate:!1,key:i,cache:"default",onResponseError:I=>{var W,ee,se,de;const P=(ee=(W=I.response)==null?void 0:W._data)==null?void 0:ee.data;f.value=!0,S.value=((de=(se=I.response)==null?void 0:se._data)==null?void 0:de.message)||"",ge(q.value,0,P,S.value)},onResponse:({response:I})=>{var P;I.ok&&ge(q.value,(P=I._data)==null?void 0:P.queryTime)}},"$CR5sijiGqB"),{refresh:fe,data:He,status:Ae}=ye("/api/query/execute",{method:"POST",body:{query:Y,...ce(a.value)},watch:!1,immediate:!1,key:`${i}-count`,cache:"default",onResponse:({response:I})=>{var P;I.ok&&ge(Y.value,(P=I._data)==null?void 0:P.queryTime)}},"$2oQhQUxDSL"),x=h(()=>{var I,P,W;return Number(((W=(P=(I=He.value)==null?void 0:I.result)==null?void 0:P[0])==null?void 0:W.count)||0)}),k=h(()=>b.offset+b.limit<x.value),N=h(()=>b.offset>0),A=({limit:I,offset:P})=>{I<=0||P<0||(b.limit=I,b.offset=P,G())},Q=({columnName:I,order:P})=>{t.columnName=I,t.order=P,G()},K=()=>{k&&(b.offset+=b.limit,G())},H=()=>{if(!N)return;const I=b.offset-b.limit;I<0?b.offset=0:b.offset=I,G()},U=I=>{g.value=I,b.offset=0,G(),fe()},be=()=>{b.offset=0,G(),fe()},X=()=>jn.queryBuilderKey((v==null?void 0:v.value)??"",(u==null?void 0:u.value)??"",m,i);Ye([R,b,t,d,g],wa(()=>{if(!s)return;const I=X();localStorage.setItem(I,JSON.stringify({filters:R.value,pagination:{...b},orderBy:{...t},isShowFilters:d.value,composeWith:g.value}))},zn),{deep:!0}),(()=>{if(!s){p&&(R.value=p,d.value=!0),r&&(g.value=r);return}const I=X(),P=localStorage.getItem(I),W=P?JSON.parse(P):null;if(W){const{filters:ee,pagination:se,orderBy:de,isShowFilters:Pe,composeWith:Fe}=W;de&&(t.columnName=de.columnName,t.order=de.order),se&&(b.limit=se.limit,b.offset=se.offset),ee&&(R.value=ee),Fe&&(g.value=Fe),d.value=!!Pe}})();const j=h(()=>he.value==="pending"),Z=h(()=>{var I;return((I=_e.value)==null?void 0:I.result)||[]});return{whereClauses:ne,pagination:b,queryString:q,onUpdatePagination:A,isAllowNextPage:k,isAllowPreviousPage:N,onNextPage:K,onPreviousPage:H,queryCountString:Y,data:Z,isFetchingTableData:j,refreshTableData:G,refreshCount:fe,totalRows:x,onApplyNewFilter:be,baseQueryString:z,openErrorModal:f,onUpdateOrderBy:Q,orderBy:t,errorMessage:S,filters:R,addHistoryLog:ge,isShowFilters:d,onChangeComposeWith:U,composeWith:g}},Qo={class:"grid gap-3"},Ko={class:"grid gap-2"},zo={class:"grid grid-cols-3 items-center gap-4"},jo={class:"grid grid-cols-3 items-center gap-4"},Wo={class:"flex justify-center"},Ho=L({__name:"QuickPagination",props:{limit:{},offset:{},totalRows:{}},emits:["onPaginate"],setup(i,{emit:a}){const l=i,n=a,s=E(0),m=E(0),v=E(!1),u=()=>{s.value=l.limit,m.value=l.offset},p=()=>{if(m.value>l.totalRows){m.value=l.totalRows-1;return}m.value<0&&(m.value=l.offset)},r=()=>{if(s.value>l.totalRows){s.value=l.totalRows;return}s.value<0&&(s.value=l.limit)},w=()=>{p(),r(),n("onPaginate",{limit:s.value,offset:m.value}),v.value=!1};return(y,f)=>(_(),D(e(re),null,{default:c(()=>[o(e(fn),{open:v.value,"onUpdate:open":f[2]||(f[2]=S=>v.value=S)},{default:c(()=>[o(e(vn),{"as-child":""},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(e(me),{onClick:u,variant:"outline",size:"xxs"},{default:c(()=>[$(V(y.limit),1)]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>f[3]||(f[3]=[C("p",null,"Pagination settings",-1)])),_:1})]),_:1}),o(e(yn),{class:"w-64"},{default:c(()=>[C("div",Qo,[f[7]||(f[7]=C("div",{class:"space-y-2"},[C("h4",{class:"font-medium leading-none"},"Pagination"),C("p",{class:"text-sm text-muted-foreground"},"Set limit and offset")],-1)),C("div",Ko,[C("div",zo,[o(e(Lt),{for:"limit"},{default:c(()=>f[4]||(f[4]=[$("Limit")])),_:1}),o(e(tt),{id:"limit",type:"number",modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=S=>s.value=S),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"1",onBlur:r,onKeyup:Xe(w,["enter"])},null,8,["modelValue"])]),C("div",jo,[o(e(Lt),{for:"offset"},{default:c(()=>f[5]||(f[5]=[$("Offset")])),_:1}),o(e(tt),{id:"offset",type:"number",modelValue:m.value,"onUpdate:modelValue":f[1]||(f[1]=S=>m.value=S),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"0",onBlur:p,onKeyup:Xe(w,["enter"])},null,8,["modelValue"])])]),C("div",Wo,[o(e(me),{size:"xs",class:"px-6",onClick:w},{default:c(()=>f[6]||(f[6]=[$("Go")])),_:1})])])]),_:1})]),_:1},8,["open"])]),_:1}))}}),Go=L({__name:"RefreshButton",emits:["onRefresh"],setup(i,{emit:a}){const l=a,n=E(0),s=()=>{n.value+=360,l("onRefresh")};return St([{key:"meta+r",callback:()=>{s()}}],{isPreventDefault:!0}),(m,v)=>(_(),D(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(e(me),{variant:"outline",size:"xxs",onClick:s,"aria-label":"Refresh table"},{default:c(()=>[o(e(te),{name:"hugeicons:refresh",style:ke({transform:`rotate(${n.value}deg)`}),class:"icon-transition"},null,8,["style"]),o(e($t),null,{default:c(()=>v[0]||(v[0]=[$("⌘R")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>v[1]||(v[1]=[C("p",null,"Refresh data",-1)])),_:1})]),_:1}))}}),Yo=Wn(Go,[["__scopeId","data-v-d56d89e4"]]),Jo={key:0,class:"flex items-center gap-1"},Xo={key:0,class:"absolute -right-1.5 -top-1.5 min-w-4 rounded-full bg-green-700 px-1 text-xxs font-medium leading-4 text-white"},Zo={key:4,class:"font-normal text-xs text-primary/60"},es={key:5,class:"font-normal text-sm text-primary"},ts={key:1},ns={key:2,class:"flex items-center gap-2"},as={class:"font-normal text-sm text-primary/80"},os={key:3},ss={class:"flex items-center gap-1"},ls=L({__name:"QuickQueryControlBar",props:{isAllowNextPage:{type:Boolean},isAllowPreviousPage:{type:Boolean},totalRows:{},limit:{},offset:{},currentTotalRows:{},totalSelectedRows:{},hasEditedRows:{type:Boolean},pendingChangesCount:{},tabView:{},isViewVirtualTable:{type:Boolean}},emits:["onRefresh","onPaginate","onNextPage","onPreviousPage","onShowFilter","onSaveData","onAddEmptyRow","onDiscardChanges","onDeleteRows","onToggleHistoryPanel","update:tabView"],setup(i,{emit:a}){const l=mt(),{openSettings:n}=Hn(),s=i,m=a,v=E(),u=h(()=>s.tabView===ve.Data);return h(()=>{var p;return((p=qt.find(r=>r.value===l.tableAppearanceConfigs.nullOrderPreference))==null?void 0:p.label)||"Unset"}),(p,r)=>{const w=$t,y=me,f=un,S=rn,b=ln,R=Gn("auto-animate");return _(),T("div",{ref_key:"quickQueryControlBarRef",ref:v,class:xe(["w-full select-none h-9 flex items-center justify-between"])},[e(u)?lt((_(),T("div",Jo,[o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",onClick:r[0]||(r[0]=t=>m("onShowFilter"))},{default:c(()=>[o(e(te),{name:"lucide:filter"}),o(w,null,{default:c(()=>r[14]||(r[14]=[$("⌘F")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[15]||(r[15]=[C("p",null,"Filter data",-1)])),_:1})]),_:1}),o(Yo,{onOnRefresh:r[1]||(r[1]=t=>m("onRefresh"))}),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",onClick:r[2]||(r[2]=t=>m("onToggleHistoryPanel"))},{default:c(()=>[o(e(te),{name:"lucide:terminal"}),o(w,null,{default:c(()=>r[16]||(r[16]=[$("⌘j")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[17]||(r[17]=[C("p",null,"History logs",-1)])),_:1})]),_:1}),p.isViewVirtualTable?B("",!0):(_(),D(e(re),{key:0},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",class:"font-normal",size:"xxs",onClick:r[3]||(r[3]=t=>m("onAddEmptyRow"))},{default:c(()=>[o(e(te),{name:"hugeicons:plus-sign"}),r[18]||(r[18]=$(" Row "))]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[19]||(r[19]=[C("p",null,"Add new record",-1)])),_:1})]),_:1})),p.hasEditedRows&&!p.isViewVirtualTable?(_(),D(e(re),{key:1},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",class:"relative overflow-visible",onClick:r[4]||(r[4]=t=>m("onSaveData"))},{default:c(()=>[o(e(te),{name:"lucide:save"}),p.pendingChangesCount?(_(),T("span",Xo,V(p.pendingChangesCount),1)):B("",!0),o(w,null,{default:c(()=>r[20]||(r[20]=[$("⌘S")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[21]||(r[21]=[C("p",null,"Save changes",-1)])),_:1})]),_:1})):B("",!0),p.hasEditedRows&&!p.isViewVirtualTable?(_(),D(e(re),{key:2},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",class:"font-normal",onClick:r[5]||(r[5]=t=>m("onDiscardChanges"))},{default:c(()=>[o(e(te),{name:"hugeicons:undo-02"}),r[22]||(r[22]=$(" Discard "))]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[23]||(r[23]=[C("p",null,"Discard changes",-1)])),_:1})]),_:1})):B("",!0),p.totalSelectedRows&&!p.isViewVirtualTable?(_(),D(e(re),{key:3},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",onClick:r[6]||(r[6]=t=>m("onDeleteRows"))},{default:c(()=>[o(e(te),{name:"lucide:trash"}),o(w,null,{default:c(()=>r[24]||(r[24]=[$("⌥⌘⌫")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>[C("p",null,"Delete "+V(p.totalSelectedRows)+" selected rows",1)]),_:1})]),_:1})):B("",!0),p.totalSelectedRows?(_(),T("p",Zo," Selected ")):B("",!0),p.totalSelectedRows?(_(),T("p",es,V(p.totalSelectedRows),1)):B("",!0)])),[[R]]):(_(),T("div",ts)),e(u)?(_(),T("div",ns,[o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"iconSm",disabled:!p.isAllowPreviousPage,onClick:r[7]||(r[7]=t=>m("onPreviousPage"))},{default:c(()=>[o(e(te),{name:"lucide:chevron-left"})]),_:1},8,["disabled"])]),_:1}),o(e(ue),null,{default:c(()=>r[25]||(r[25]=[C("p",null,"Previous page",-1)])),_:1})]),_:1}),C("div",as,[$(V(p.offset+1)+"-"+V(p.offset+p.currentTotalRows)+" ",1),r[26]||(r[26]=C("p",{class:"font-normal text-xs text-primary/60 inline"},"of",-1)),$(" "+V(p.totalRows)+" ",1),r[27]||(r[27]=C("p",{class:"font-normal text-xs text-primary/60 inline"},"rows",-1))]),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"iconSm",disabled:!p.isAllowNextPage,onClick:r[8]||(r[8]=t=>m("onNextPage"))},{default:c(()=>[o(e(te),{name:"lucide:chevron-right"})]),_:1},8,["disabled"])]),_:1}),o(e(ue),null,{default:c(()=>r[28]||(r[28]=[C("p",null,"Next page",-1)])),_:1})]),_:1}),o(Ho,{limit:p.limit,offset:p.offset,totalRows:p.totalRows,onOnPaginate:r[9]||(r[9]=t=>m("onPaginate",t))},null,8,["limit","offset","totalRows"])])):(_(),T("div",os)),C("div",ss,[o(b,{"model-value":p.tabView,"onUpdate:modelValue":r[10]||(r[10]=t=>p.$emit("update:tabView",t))},{default:c(()=>[o(S,{size:"xxs",class:"grid w-full grid-cols-3"},{default:c(()=>[o(f,{size:"xxs",value:e(ve).Data,class:"font-medium cursor-pointer text-primary/80"},{default:c(()=>r[29]||(r[29]=[$(" Data ")])),_:1},8,["value"]),o(f,{size:"xxs",value:e(ve).Structure,class:"font-medium cursor-pointer text-primary/80"},{default:c(()=>r[30]||(r[30]=[$(" Structure ")])),_:1},8,["value"]),o(f,{size:"xxs",value:e(ve).Erd,class:"font-medium cursor-pointer text-primary/80",disabled:p.isViewVirtualTable},{default:c(()=>r[31]||(r[31]=[$(" ERD ")])),_:1},8,["value","disabled"])]),_:1})]),_:1},8,["model-value"]),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"ghost",size:"iconSm",onClick:r[11]||(r[11]=t=>e(n)("Quick Query"))},{default:c(()=>[e(l).quickQuerySafeModeEnabled?(_(),D(e(te),{key:0,name:"hugeicons:security-check",class:"size-4!"})):(_(),D(e(te),{key:1,name:"lucide:shield-minus",class:"size-4! text-muted-foreground"}))]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>[C("p",null," Safe Mode: "+V(e(l).quickQuerySafeModeEnabled?"Enabled":"Disabled"),1),r[32]||(r[32]=C("p",{class:"text-xs text-muted-foreground"},"Click to configure",-1))]),_:1})]),_:1}),o(e(Ea),null,{default:c(()=>[o(e(Aa),{"as-child":""},{default:c(()=>[o(y,{variant:"ghost",size:"xxs"},{default:c(()=>[o(e(te),{name:"hugeicons:arrow-up-down",class:"size-4!"})]),_:1})]),_:1}),o(e(Pa),{align:"end",class:"min-w-44"},{default:c(()=>[o(e(Na),{class:"py-0"},{default:c(()=>r[33]||(r[33]=[$("Null ordering")])),_:1}),o(e(xa)),o(e(po),{"model-value":e(l).tableAppearanceConfigs.nullOrderPreference,"onUpdate:modelValue":r[12]||(r[12]=t=>e(l).tableAppearanceConfigs.nullOrderPreference=t)},{default:c(()=>[(_(!0),T(pe,null,Te(e(qt),t=>(_(),D(e(fo),{key:t.value,value:t.value,class:"h-7 cursor-pointer"},{default:c(()=>[$(V(t.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value"])]),_:1})]),_:1}),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"ghost",size:"iconSm",onClick:r[13]||(r[13]=t=>e(n)("Appearance"))},{default:c(()=>[o(e(te),{name:"hugeicons:settings-04",class:"size-4!"})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[34]||(r[34]=[C("p",null,"Table appearance settings",-1)])),_:1})]),_:1})])],512)}}}),rs={class:"sticky top-0 z-10 bg-popover"},is={class:"p-1"},us={key:3,class:"px-2 py-1 text-sm text-muted-foreground"},cs=L({__name:"ColumnSelector",props:{columns:{},value:{}},emits:["update:value","update:open"],setup(i,{emit:a}){const l=i,n=a,s=E(""),m=h(()=>s.value.trim().toLowerCase()),v=h(()=>new Ut(l.columns,{threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),u=h(()=>new Ut(Qt,{keys:["label","value"],threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),p=h(()=>{const y=m.value;return y?v.value.search(y).map(f=>f.item):l.columns}),r=h(()=>{const y=m.value;return y?u.value.search(y).map(f=>f.item):Qt}),w=y=>{n("update:open",y),y||(s.value="")};return(y,f)=>{const S=xt,b=Nt,R=tt,t=cn,d=kt,g=It,O=Tt,M=Rt;return _(),D(M,{size:"xxs","model-value":y.value,"onUpdate:modelValue":f[4]||(f[4]=z=>n("update:value",z)),"onUpdate:open":w},{default:c(()=>[o(b,{class:"w-36 min-w-36 cursor-pointer"},{default:c(()=>[o(S,{placeholder:"Select field"})]),_:1}),o(O,null,{default:c(()=>[o(g,null,{default:c(()=>[C("div",rs,[C("div",is,[o(R,{"model-value":e(s),"onUpdate:modelValue":f[0]||(f[0]=z=>Ge(s)?s.value=z:null),type:"text",placeholder:"Search fields",class:"h-7 text-sm",autocomplete:"off",onClick:f[1]||(f[1]=Le(()=>{},["stop"])),onMousedown:f[2]||(f[2]=Le(()=>{},["stop"])),onKeydown:f[3]||(f[3]=Le(()=>{},["stop"]))},null,8,["model-value"])]),o(t)]),e(p).length?(_(!0),T(pe,{key:0},Te(e(p),z=>(_(),D(d,{key:z,class:"cursor-pointer",value:z},{default:c(()=>[$(V(z),1)]),_:2},1032,["value"]))),128)):B("",!0),e(p).length&&e(r).length?(_(),D(t,{key:1})):B("",!0),e(r).length?(_(!0),T(pe,{key:2},Te(e(r),z=>(_(),D(d,{key:z.value,class:"cursor-pointer",value:z.value},{default:c(()=>[$(V(z.label),1)]),_:2},1032,["value"]))),128)):B("",!0),!e(p).length&&!e(r).length?(_(),T("div",us," No fields found ")):B("",!0)]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),ds=L({__name:"OperatorSelector",props:{dbType:{},value:{}},emits:["update:value","update:open"],setup(i){const a=i,l=h(()=>Kt[a.dbType]??Kt[Ne.MYSQL]??[]);return(n,s)=>{const m=xt,v=Nt,u=kt,p=It,r=Tt,w=Rt;return _(),D(w,{size:"xxs","model-value":n.value,"onUpdate:modelValue":s[0]||(s[0]=y=>n.$emit("update:value",y)),"onUpdate:open":s[1]||(s[1]=y=>n.$emit("update:open",y))},{default:c(()=>[o(v,{class:"w-36 min-w-36 cursor-pointer"},{default:c(()=>[o(m,{placeholder:"Select operator"})]),_:1}),o(r,null,{default:c(()=>[o(p,null,{default:c(()=>[(_(!0),T(pe,null,Te(e(l),y=>(_(),T(pe,null,[y.value===e(Yn).value?(_(),D(e(cn),{key:0})):(_(),D(u,{key:1,class:"cursor-pointer",value:y.value},{default:c(()=>[$(V(y.label),1)]),_:2},1032,["value"]))],64))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),ms={class:"text-xs font-medium"},ps={class:"text-xs font-medium"},fs=L({__name:"ViewParserFilterApply",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function}},setup(i){const a=i,l=E(""),n=E(""),s=()=>{l.value=Ht(a.getParserApplyFilter(),{language:"postgresql",keywordCase:"upper"}),n.value=Ht(a.getParserAllFilter(),{language:"postgresql",keywordCase:"upper"})};return(m,v)=>(_(),D(e(re),null,{default:c(()=>[o(e(fn),null,{default:c(()=>[o(e(vn),{"as-child":""},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(e(me),{onClick:s,size:"xxs",variant:"outline"},{default:c(()=>v[0]||(v[0]=[$(" SQL ")])),_:1})]),_:1}),o(e(ue),null,{default:c(()=>v[1]||(v[1]=[C("p",null,"View SQL query",-1)])),_:1})]),_:1}),o(e(yn),{class:"w-[40rem] p-2 space-y-2","restore-focus":!0},{default:c(()=>[C("div",ms,[v[2]||(v[2]=$(" Curren filter ")),o(e(gt),{code:e(l),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])]),C("div",ps,[v[3]||(v[3]=$(" Apply all filter ")),o(e(gt),{code:e(n),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])])]),_:1})]),_:1})]),_:1}))}}),vs={class:"flex justify-between"},ys={class:"flex items-center gap-0.5 text-xs"},gs={class:"text-xs flex items-center gap-2"},_s=L({__name:"QuickQueryFilterGuide",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function},composeWith:{}},emits:["onChangeComposeWith"],setup(i,{emit:a}){const l=a;return(n,s)=>{const m=xt,v=Nt,u=kt,p=It,r=Tt,w=Rt,y=$t;return _(),T("div",vs,[C("div",ys,[s[3]||(s[3]=$(" Compose with: ")),o(w,{size:"xxs",modelValue:n.composeWith,"onUpdate:modelValue":s[0]||(s[0]=f=>l("onChangeComposeWith",f))},{default:c(()=>[o(v,{class:"text-xs cursor-pointer px-1 border-none gap-1 shadow-none"},{default:c(()=>[o(m,{placeholder:"Select operator"})]),_:1}),o(r,null,{default:c(()=>[o(p,null,{default:c(()=>[o(u,{class:"h-5 text-xs cursor-pointer",value:e(rt).AND},{default:c(()=>s[1]||(s[1]=[$(" AND ")])),_:1},8,["value"]),o(u,{class:"h-5 text-xs cursor-pointer",value:e(rt).OR},{default:c(()=>s[2]||(s[2]=[$(" OR ")])),_:1},8,["value"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),C("div",gs,[C("div",null,[o(y,null,{default:c(()=>s[4]||(s[4]=[$("⌘F")])),_:1}),s[5]||(s[5]=$(": Show"))]),C("div",null,[o(y,null,{default:c(()=>s[6]||(s[6]=[$("Esc")])),_:1}),s[7]||(s[7]=$(": Exit"))]),o(e(Jn),{orientation:"vertical",class:"h-3/4!"}),C("div",null,[o(y,null,{default:c(()=>s[8]||(s[8]=[$("⌘I")])),_:1}),s[9]||(s[9]=$(": Insert"))]),C("div",null,[o(y,null,{default:c(()=>s[10]||(s[10]=[$("⌘⌫")])),_:1}),s[11]||(s[11]=$(": Delete"))]),C("div",null,[o(y,null,{default:c(()=>s[12]||(s[12]=[$("⌘↵")])),_:1}),s[13]||(s[13]=$(": Apply all"))])]),C("div",null,[o(fs,{getParserApplyFilter:n.getParserApplyFilter,getParserAllFilter:n.getParserAllFilter},null,8,["getParserApplyFilter","getParserAllFilter"])])])}}}),hs=L({__name:"QuickQueryFilter",props:zt({columns:{},dbType:{},baseQuery:{},initFilters:{},composeWith:{}},{isShowFilters:{},isShowFiltersModifiers:{}}),emits:zt(["onSearch","onUpdateFilters","onChangeComposeWith"],["update:isShowFilters"]),setup(i,{expose:a,emit:l}){const n=i,s=Xn(i,"isShowFilters"),m=l,v=E(),u=Zn("filterSearchRefs"),p=h(()=>n.initFilters||[]),r=()=>p.value.map(x=>({...x})),w=x=>{m("onUpdateFilters",x)},y=(x,k)=>{const N=r(),A=N[x];A&&(N[x]={...A,...k},w(N))},f=(x,k)=>{const N=r();N.splice(x,0,{...k}),w(N)},S=()=>n.dbType===Ne.POSTGRES?et.ILIKE_CONTAINS:et.LIKE_CONTAINS,b=x=>{const k=r();k.splice(x,1),w(k)},R=x=>{f(x+1,{isSelect:!0,fieldName:pt.AnyField,operator:S()})},t=(x,k)=>{var K;const N=(K=p.value)==null?void 0:K[x],A=(N==null?void 0:N.fieldName)===pt.RawQuery,Q=!(N!=null&&N.operator);A&&Q?y(x,{...N,fieldName:k,operator:S()}):y(x,{...N,fieldName:k})},d=()=>`${n.baseQuery} ${yt({columns:n.columns,db:n.dbType,filters:p.value,composeWith:n.composeWith})};`,g=()=>`${n.baseQuery} ${yt({columns:n.columns,db:n.dbType,filters:p.value.map(x=>({...x,isSelect:!0})),composeWith:n.composeWith})};`,O=(x=!1)=>{if(x){m("onSearch");return}m("onSearch")},M=x=>{var N;const k=(N=p.value)==null?void 0:N[x];k!=null&&k.isSelect||y(x,{...k,isSelect:!0}),O()},z=()=>{w(p.value.map(x=>({...x,isSelect:!0}))),O()},ne=async x=>{var A;const k=(A=p.value)==null?void 0:A[x],N=!!(k!=null&&k.isSelect);b(x),await Ze(),x!==0&&await fe(x-1),N&&O()},q=x=>x==null?"":String(x),Y=(x,k)=>{y(x,{search:k})},ge=async(x,k)=>{y(x,{isSelect:k}),await O()},_e=x=>{var N;const k=(N=u.value)==null?void 0:N[x];if(!k)return null;if(k.el instanceof HTMLInputElement)return k.el;if(k.$el instanceof HTMLInputElement)return k.$el;if(k.$el instanceof HTMLElement){const A=k.$el.querySelector("input");if(A instanceof HTMLInputElement)return A}return null},he=x=>{if(typeof window<"u"&&typeof window.requestAnimationFrame=="function"){window.requestAnimationFrame(()=>x());return}x()},G=(x,k=2)=>{const N=_e(x);if(!N){k>0&&he(()=>G(x,k-1));return}N.focus(),typeof document<"u"&&document.activeElement!==N&&k>0&&he(()=>G(x,k-1))},fe=async x=>{x<0||(await Ze(),he(()=>G(x)))},He=async()=>{const x=!p.value.length;p.value.length||R(-1),s.value=!0;const k=x?0:p.value.length-1;await fe(k)},Ae=()=>u.value?u.value.findIndex((k,N)=>_e(N)===document.activeElement):void 0;return St([{key:"meta+backspace",callback:async()=>{const x=Ae();x===void 0||x<0||await ne(x)}},{key:"meta+enter",callback:()=>{const x=Ae();x!==void 0&&x>=0&&z()}},{key:"meta+i",callback:async()=>{const x=Ae();x===void 0||x<0||(R(x),await fe(x+1))}},{key:"escape",callback:()=>{s.value=!1,O(!0)}}],{target:v}),a({onShowSearch:He,insert:f}),(x,k)=>{const N=Va,A=tt,Q=me;return s.value?(_(),T("div",{key:0,ref_key:"quickQueryFilterRef",ref:v,class:xe(["h-fit space-y-1",e(p).length&&"pb-2"])},[(_(!0),T(pe,null,Te(e(p),(K,H)=>(_(),T("div",{class:"flex gap-1 items-center",key:H},[o(N,{"model-value":K.isSelect,onClick:k[0]||(k[0]=Le(()=>{},["stop"])),onKeydown:k[1]||(k[1]=Xe(Le(()=>{},["stop","prevent"]),["enter"])),onKeyup:k[2]||(k[2]=Xe(Le(()=>{},["stop"]),["enter"])),"onUpdate:modelValue":U=>ge(H,!!U)},null,8,["model-value","onUpdate:modelValue"]),o(cs,{columns:x.columns,value:K.fieldName,"onUpdate:value":U=>{t(H,U)},"onUpdate:open":U=>{U||fe(H)}},null,8,["columns","value","onUpdate:value","onUpdate:open"]),K.fieldName!==e(pt).RawQuery?(_(),D(ds,{key:0,"db-type":x.dbType,value:K.operator,"onUpdate:value":U=>y(H,{operator:U==null?void 0:String(U)}),"onUpdate:open":U=>{U||fe(H)}},null,8,["db-type","value","onUpdate:value","onUpdate:open"])):B("",!0),o(A,{"model-value":q(K.search),type:"text",placeholder:e(ea)(K.operator||""),class:"w-full h-6 px-2",ref_for:!0,ref_key:"filterSearchRefs",ref:u,onKeyup:k[3]||(k[3]=Xe(Le(()=>O(),["stop"]),["enter"])),"onUpdate:modelValue":U=>Y(H,String(U))},null,8,["model-value","placeholder","onUpdate:modelValue"]),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(Q,{size:"xxs",variant:"outline",onClick:U=>M(H)},{default:c(()=>k[5]||(k[5]=[$(" Apply ")])),_:2},1032,["onClick"])]),_:2},1024),o(e(ue),null,{default:c(()=>k[6]||(k[6]=[C("p",null,"Apply this filter",-1)])),_:1})]),_:2},1024),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(Q,{size:"iconSm",variant:"outline",onClick:U=>ne(H)},{default:c(()=>[o(e(te),{name:"hugeicons:minus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(ue),null,{default:c(()=>k[7]||(k[7]=[C("p",null,"Remove filter (Meta+Backspace)",-1)])),_:1})]),_:2},1024),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(Q,{size:"iconSm",variant:"outline",onClick:()=>R(H)},{default:c(()=>[o(e(te),{name:"hugeicons:plus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(ue),null,{default:c(()=>k[8]||(k[8]=[C("p",null,"Add new filter (Meta+I)",-1)])),_:1})]),_:2},1024)]))),128)),e(p).length?(_(),D(_s,{key:0,getParserApplyFilter:d,getParserAllFilter:g,"compose-with":x.composeWith,onOnChangeComposeWith:k[4]||(k[4]=K=>m("onChangeComposeWith",K))},null,8,["compose-with"])):B("",!0)],2)):B("",!0)}}}),bs=L({__name:"QuickQueryContextMenu",props:{totalSelectedRows:{},hasEditedRows:{type:Boolean},isReferencedTable:{type:Boolean},cellContextMenu:{},cellHeaderContextMenu:{},data:{},selectedRows:{},tableName:{},schemaName:{}},emits:["onRefresh","onSaveData","onAddEmptyRow","onDeleteRows","onCopyRows","onPasteRows","onCopySelectedCell","onFilterByValue","onClearContextMenu"],setup(i,{emit:a}){const l=mt(),n=i,s=a,m=h(()=>{var t,d,g,O;return((d=(t=n.cellContextMenu)==null?void 0:t.column)==null?void 0:d.getColId())??((O=(g=n.cellHeaderContextMenu)==null?void 0:g.column)==null?void 0:O.getColId())}),v=h(()=>{var t,d,g;return((t=n.cellContextMenu)==null?void 0:t.column.getColDef().headerName)??((g=(d=n.cellHeaderContextMenu)==null?void 0:d.column)==null?void 0:g.getColDef().headerName)??""}),u=t=>{Gt(n.selectedRows||[],v.value??"",t)},p=t=>{Gt(n.data||[],v.value??"",t)},r=t=>vt(n.selectedRows||[],n.tableName||"table_data",t,n.schemaName),w=t=>vt(n.data||[],n.tableName||"table_data",t,n.schemaName),y=t=>Yt(n.selectedRows||[],n.tableName||"table_data",t,"selected",n.schemaName),f=t=>Yt(n.data||[],n.tableName||"table_data",t,"all",n.schemaName),S=()=>{var d;const t=(d=n.cellContextMenu)==null?void 0:d.value;if(t!==void 0){if(typeof t=="object")return Jt(JSON.stringify(t));Jt(String(t))}},b=()=>{var t;if(n.cellContextMenu){const d=(t=n.cellContextMenu)==null?void 0:t.data;vt([d],n.tableName||"table_data","csv-no-header",n.schemaName)}},R=h(()=>{var Y;const t=!!n.cellContextMenu,d=n.selectedRows.length>0,g=n.selectedRows.length,O=((Y=n.data)==null?void 0:Y.length)||0,M=!!m.value,z=[{type:F.LABEL,title:`${g} selected`,condition:d&&t},{type:F.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>u("list"),condition:d&&t},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>u("json"),condition:d&&t},{type:F.SEPARATOR,condition:d&&t},{type:F.LABEL,title:"All data in column"},{type:F.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>p("list")},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>p("json")}],ne=[{type:F.LABEL,title:`${g} selected row(s)`,condition:d},{type:F.ACTION,title:"Copy as text (TSV)",icon:"hugeicons:file-01",select:()=>r("csv-no-header"),condition:d},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>r("json"),condition:d},{type:F.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>r("sql"),condition:d},{type:F.SEPARATOR,condition:d},{type:F.LABEL,title:"All rows"},{type:F.ACTION,title:"Copy as text (TSV)",icon:"hugeicons:file-01",select:()=>w("csv-no-header")},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>w("json")},{type:F.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>w("sql")}],q=[{type:F.LABEL,title:`${g} selected row${g>1?"s":""}`,condition:d},{type:F.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>y("csv-no-header"),condition:d},{type:F.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>y("csv-with-header"),condition:d},{type:F.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>y("json"),condition:d},{type:F.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>y("sql"),condition:d},{type:F.SEPARATOR,condition:d},{type:F.LABEL,title:`All ${O.toLocaleString()} row${O!==1?"s":""}`},{type:F.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>f("csv-no-header")},{type:F.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>f("csv-with-header")},{type:F.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>f("json")},{type:F.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>f("sql")}];return[{title:"View row detail",icon:"hugeicons:view",type:F.ACTION,select:()=>{l.onShowSecondSidebar()},condition:!n.isReferencedTable&&!!n.cellContextMenu},{title:"Filter by value",icon:"lucide:filter",type:F.ACTION,shortcut:"⌘F",select:()=>{s("onFilterByValue")},condition:!!n.cellContextMenu},{title:"Refresh",icon:"hugeicons:refresh",type:F.ACTION,shortcut:"⌘R",select:()=>{s("onRefresh")}},{type:F.SEPARATOR},{type:F.ACTION,title:"Copy current cell",icon:"hugeicons:copy-02",select:S,condition:t},{type:F.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:b,condition:d&&t},{type:F.SEPARATOR,condition:t},{type:F.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:z,condition:M,desc:v.value||"Select a column"},{type:F.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:ne},{type:F.SEPARATOR},{type:F.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:q}]});return(t,d)=>{const g=La;return _(),D(g,{contextMenuItems:e(R),onOnClearContextMenu:d[0]||(d[0]=O=>s("onClearContextMenu"))},{default:c(()=>[Ce(t.$slots,"default")]),_:3},8,["contextMenuItems"])}}}),ws=L({__name:"QuickQueryTable",props:{data:{},defaultPageSize:{},orderBy:{},foreignKeys:{},foreignKeyColumns:{},primaryKeyColumns:{},columnTypes:{},offset:{},class:{},isHaveRelationByFieldName:{type:Function},selectedColumnFieldId:{},currentTableName:{},currentSchemaName:{},selectedRows:{},isViewOnly:{type:Boolean}},emits:["onClickOutSide","update:orderBy","onSelectedRows","onOpenBackReferencedTableModal","onFocusCell","onOpenForwardReferencedTableModal"],setup(i,{expose:a,emit:l}){const n=i,s=l,m=E(),v=h(()=>{var g;return((g=m.value)==null?void 0:g.gridApi)??null}),u=h(()=>So(n.data,n.offset)),{editedCells:p,isJSONColumn:r,onCellValueChanged:w}=xo({data:oe(n,"data"),columnTypes:oe(n,"columnTypes")}),{columnDefs:y}=No({columnTypes:oe(n,"columnTypes"),primaryKeyColumns:oe(n,"primaryKeyColumns"),foreignKeyColumns:oe(n,"foreignKeyColumns"),foreignKeys:oe(n,"foreignKeys"),orderBy:oe(n,"orderBy"),isViewOnly:oe(n,"isViewOnly"),currentTableName:oe(n,"currentTableName"),currentSchemaName:oe(n,"currentSchemaName"),isHaveRelationByFieldName:n.isHaveRelationByFieldName,onUpdateOrderBy:g=>s("update:orderBy",g),onOpenBackReferencedTableModal:g=>s("onOpenBackReferencedTableModal",g),onOpenForwardReferencedTableModal:g=>s("onOpenForwardReferencedTableModal",g)}),{gridOptions:f}=Mo({defaultPageSize:n.defaultPageSize,data:oe(n,"data"),selectedColumnFieldId:oe(n,"selectedColumnFieldId"),isJSONColumn:r,gridApi:v}),{onRowDataUpdated:S}=Eo({gridApi:v,data:oe(n,"data"),primaryKeyColumns:oe(n,"primaryKeyColumns"),foreignKeyColumns:oe(n,"foreignKeyColumns"),selectedColumnFieldId:oe(n,"selectedColumnFieldId")}),b=h(()=>{var g;return(g=m.value)==null?void 0:g.cellContextMenu}),R=h(()=>{var g;return(g=m.value)==null?void 0:g.cellHeaderContextMenu}),t=()=>{var g;(g=m.value)==null||g.clearCellContextMenu()},d=g=>{s("onFocusCell",void 0),s("onClickOutSide",g)};return a({gridApi:v,editedCells:p,columnDefs:y,cellContextMenu:b,cellHeaderContextMenu:R,clearCellContextMenu:t}),(g,O)=>(_(),D($e,{ref_key:"baseGridRef",ref:m,class:xe(n.class),"column-defs":e(y),"row-data":e(u),"grid-options":e(f),"selected-rows":n.selectedRows,"allow-editing":!n.isViewOnly,"enable-simple-copy-context-menu":!1,"enable-click-outside":"",onSelectionChanged:O[0]||(O[0]=M=>s("onSelectedRows",M)),onCellFocused:O[1]||(O[1]=M=>s("onFocusCell",M)),onCellValueChanged:e(w),onRowDataUpdated:e(S),onClickOutside:d},null,8,["class","column-defs","row-data","grid-options","selected-rows","allow-editing","onCellValueChanged","onRowDataUpdated"]))}}),Ee=320,en=34,Cs=24,We=i=>i<=0?en:Math.min(Ee,en+i*Cs),Ss={class:"relative"},Rs={key:0,class:"p-2"},Ns={key:2,class:"flex items-center justify-center py-6"},xs=L({__name:"IndexesTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["index_name","method","is_unique","is_primary","definition"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(t=>t.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/indexes",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`indexes-${s.value}`,getCachedData:()=>{const t=n.indexesMap[s.value];return t!=null&&t.length?t:void 0},onResponse({response:t}){t._data&&(n.indexesMap[s.value]=t._data)},onResponseError({response:t}){var d;m.value=((d=t._data)==null?void 0:d.message)||"Failed to load indexes"}},"$NyxkuxC1vx"),w=h(()=>(p.value||[]).map(t=>({index_name:t.indexName,method:t.method,is_unique:t.isUnique,is_primary:t.isPrimary,definition:t.definition}))),y=h(()=>w.value.length>0?ze(w.value):je(l)),f=h(()=>Ue({columns:y.value,rows:w.value,columnKeyBy:"field"})),S=h(()=>Qe(w.value)),b=h(()=>`${We(w.value.length)}px`),R=()=>{m.value=null,Oe(`indexes-${s.value}`)};return(t,d)=>{const g=Re,O=$e,M=qe;return _(),T("div",Ss,[o(g,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",Rs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:R},{default:c(()=>d[0]||(d[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(w).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(b)})},[o(O,{"column-defs":e(f),"row-data":e(S),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",Ns,[o(M,{title:"No Indexes",desc:"This table has no indexes."})])):B("",!0)])}}}),Ts={class:"relative"},Is={key:0,class:"p-2"},ks={key:1,class:"flex items-center justify-center py-3"},$s=L({__name:"RlsTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["policy_name","permissive","command","roles","using_expression","with_check_expression"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(d=>d.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/rls",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`rls-${s.value}`,getCachedData:()=>{const d=n.rlsMap[s.value];if(d!=null&&d.length)return{enabled:!0,policies:d}},onResponse({response:d}){var g;(g=d._data)!=null&&g.policies&&(n.rlsMap[s.value]=d._data.policies)},onResponseError({response:d}){var g;m.value=((g=d._data)==null?void 0:g.message)||"Failed to load RLS policies"}},"$EinB8Z7zho"),w=d=>{if(Array.isArray(d))return d.map(M=>String(M));if(typeof d!="string")return[];const g=d.trim();if(!g)return[];const O=g.startsWith("{")&&g.endsWith("}")?g.slice(1,-1):g;return O?O.split(",").map(M=>M.trim().replace(/^"|"$/g,"")).filter(Boolean):[]},y=h(()=>{var d;return(((d=p.value)==null?void 0:d.policies)||[]).map(g=>({policy_name:g.policyName,permissive:g.permissive,command:g.command,roles:w(g.roles).join(", ")||"—",using_expression:g.usingExpression||"—",with_check_expression:g.withCheckExpression||"—"}))}),f=h(()=>y.value.length>0?ze(y.value):je(l)),S=h(()=>Ue({columns:f.value,rows:y.value,columnKeyBy:"field"})),b=h(()=>Qe(y.value)),R=h(()=>`${We(y.value.length)}px`),t=()=>{m.value=null,Oe(`rls-${s.value}`)};return(d,g)=>{const O=Re,M=$e,z=qe;return _(),T("div",Ts,[o(O,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",Is,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:t},{default:c(()=>g[0]||(g[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(p)?(_(),T(pe,{key:1},[e(y).length?(_(),T("div",{key:0,style:ke({maxHeight:`${e(Ee)}px`,height:e(R)})},[o(M,{"column-defs":e(S),"row-data":e(b),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",ks,[o(z,{title:"No Policies",desc:"No RLS policies are defined for this table."})])):B("",!0)],64)):B("",!0)])}}}),Os={class:"relative"},Ds={key:0,class:"p-2"},Ms={key:2,class:"flex items-center justify-center py-3"},Es=L({__name:"RulesTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["rule_name","event","action_type","definition"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(t=>t.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/rules",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`rules-${s.value}`,getCachedData:()=>{const t=n.rulesMap[s.value];return t!=null&&t.length?t:void 0},onResponse({response:t}){t._data&&(n.rulesMap[s.value]=t._data)},onResponseError({response:t}){var d;m.value=((d=t._data)==null?void 0:d.message)||"Failed to load rules"}},"$u5D1mSLK0A"),w=h(()=>(p.value||[]).map(t=>({rule_name:t.ruleName,event:t.event,action_type:t.actionType,definition:t.definition}))),y=h(()=>w.value.length>0?ze(w.value):je(l)),f=h(()=>Ue({columns:y.value,rows:w.value,columnKeyBy:"field"})),S=h(()=>Qe(w.value)),b=h(()=>`${We(w.value.length)}px`),R=()=>{m.value=null,Oe(`rules-${s.value}`)};return(t,d)=>{const g=Re,O=$e,M=qe;return _(),T("div",Os,[o(g,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",Ds,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:R},{default:c(()=>d[0]||(d[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(w).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(b)})},[o(O,{"column-defs":e(f),"row-data":e(S),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",Ms,[o(M,{title:"No Rules",desc:"This table has no rewrite rules."})])):B("",!0)])}}}),As={class:"rounded-md border p-2.5"},Ps={key:0,class:"p-2"},Fs={key:1,class:"space-y-1.5"},Bs={class:"flex items-center gap-1 flex-wrap"},Vs={class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},Ls={class:"text-[11px] font-mono leading-none text-foreground"},qs={class:"flex flex-wrap gap-1"},Us={class:"text-xxs text-muted-foreground"},Qs=L({__name:"TableMetaInfo",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l={table:"Table",partitioned:"Partitioned Table",foreign:"Foreign Table"},n=E(null),s=h(()=>`${a.schema}.${a.tableName}`),m=Se(),v=h(()=>a.connectionId?m.connections.find(f=>f.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/tables/meta",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,tableName:a.tableName})),key:`table-meta-${s.value}`,onResponseError({response:f}){var S;n.value=((S=f._data)==null?void 0:S.message)||"Failed to load table metadata"}},"$AYAykbrhiy"),r=h(()=>{var S;const f=(S=u.value)==null?void 0:S.type;return f?l[f]??f:"Unknown"}),w=h(()=>{var f,S,b,R,t;return[{label:"Rows",value:((S=(f=u.value)==null?void 0:f.rowEstimate)==null?void 0:S.toLocaleString())??"—",mono:!0},{label:"Total",value:((b=u.value)==null?void 0:b.totalSize)||"—"},{label:"Table",value:((R=u.value)==null?void 0:R.tableSize)||"—"},{label:"Index",value:((t=u.value)==null?void 0:t.indexSize)||"—"}]}),y=()=>{n.value=null,Oe(`table-meta-${s.value}`)};return(f,S)=>{const b=Re;return _(),T("div",As,[o(b,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(_(),T("div",Ps,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(n)),1),o(e(me),{variant:"outline",size:"xs",onClick:y},{default:c(()=>S[0]||(S[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(u)?(_(),T("div",Fs,[C("div",Bs,[o(e(it),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(r)),1)]),_:1}),C("span",Vs,[S[1]||(S[1]=C("span",{class:"text-xxs text-muted-foreground"}," Owner ",-1)),C("span",Ls,V(e(u).owner||"—"),1)])]),C("div",qs,[(_(!0),T(pe,null,Te(e(w),R=>(_(),T("div",{key:R.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[C("span",Us,V(R.label),1),C("span",{class:xe(["text-[11px] leading-none text-foreground",R.mono?"font-mono":"font-medium"])},V(R.value),3)]))),128))])])):B("",!0)])}}}),Ks={class:"relative"},zs={key:0,class:"p-2"},js={key:2,class:"flex items-center justify-center py-3"},Ws=L({__name:"TriggersTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["trigger_name","enabled","timing","events","orientation","definition"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(t=>t.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/triggers",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`triggers-${s.value}`,getCachedData:()=>{const t=n.triggersMap[s.value];return t!=null&&t.length?t:void 0},onResponse({response:t}){t._data&&(n.triggersMap[s.value]=t._data)},onResponseError({response:t}){var d;m.value=((d=t._data)==null?void 0:d.message)||"Failed to load triggers"}},"$S3QU21QNI4"),w=h(()=>(p.value||[]).map(t=>{var d;return{trigger_name:t.triggerName,enabled:t.enabled?"Enabled":"Disabled",timing:t.timing,events:((d=t.events)==null?void 0:d.join(", "))||"—",orientation:t.orientation,definition:t.definition}})),y=h(()=>w.value.length>0?ze(w.value):je(l)),f=h(()=>Ue({columns:y.value,rows:w.value,columnKeyBy:"field"})),S=h(()=>Qe(w.value)),b=h(()=>`${We(w.value.length)}px`),R=()=>{m.value=null,Oe(`triggers-${s.value}`)};return(t,d)=>{const g=Re,O=$e,M=qe;return _(),T("div",Ks,[o(g,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",zs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:R},{default:c(()=>d[0]||(d[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(w).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(b)})},[o(O,{"column-defs":e(f),"row-data":e(S),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",js,[o(M,{title:"No Triggers",desc:"This table has no triggers."})])):B("",!0)])}}}),Hs={class:"relative"},Gs={key:0,class:"p-2"},Ys={key:2,class:"flex items-center justify-center py-6"},Js=L({__name:"ViewDependencies",props:{schema:{},viewName:{},connectionId:{}},setup(i){const a=i,l=["depends_on"],n=E(null),s=h(()=>`${a.schema}.${a.viewName}`),m=Se(),v=h(()=>a.connectionId?m.connections.find(R=>R.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/views/dependencies",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,viewName:a.viewName})),key:`view-deps-${s.value}`,onResponseError({response:R}){var t;n.value=((t=R._data)==null?void 0:t.message)||"Failed to load dependencies"}},"$jEYg_hmjWR"),r=h(()=>(u.value||[]).map(R=>({depends_on:R.dependsOn}))),w=h(()=>r.value.length>0?ze(r.value):je(l)),y=h(()=>Ue({columns:w.value,rows:r.value,columnKeyBy:"field"})),f=h(()=>Qe(r.value)),S=h(()=>`${We(r.value.length)}px`),b=()=>{n.value=null,Oe(`view-deps-${s.value}`)};return(R,t)=>{const d=Re,g=$e,O=qe;return _(),T("div",Hs,[o(d,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(_(),T("div",Gs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(n)),1),o(e(me),{variant:"outline",size:"xs",onClick:b},{default:c(()=>t[0]||(t[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(r).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(S)})},[o(g,{"column-defs":e(y),"row-data":e(f),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(p)!=="pending"?(_(),T("div",Ys,[o(O,{title:"No Dependencies",desc:"This view has no upstream dependencies."})])):B("",!0)])}}}),Xs={class:"relative"},Zs={key:0,class:"p-2"},el={key:2,class:"flex items-center justify-center py-6"},tl=L({__name:"ViewIndexesTab",props:{schema:{},viewName:{},connectionId:{}},setup(i){const a=i,l=["index_name","method","is_unique","definition"],n=E(null),s=h(()=>`${a.schema}.${a.viewName}`),m=Se(),v=h(()=>a.connectionId?m.connections.find(R=>R.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/views/indexes",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,viewName:a.viewName})),key:`view-indexes-${s.value}`,onResponseError({response:R}){var t;n.value=((t=R._data)==null?void 0:t.message)||"Failed to load indexes"}},"$44YnrMDjVX"),r=h(()=>(u.value||[]).map(R=>({index_name:R.indexName,method:R.method,is_unique:R.isUnique,definition:R.definition}))),w=h(()=>r.value.length>0?ze(r.value):je(l)),y=h(()=>Ue({columns:w.value,rows:r.value,columnKeyBy:"field"})),f=h(()=>Qe(r.value)),S=h(()=>`${We(r.value.length)}px`),b=()=>{n.value=null,Oe(`view-indexes-${s.value}`)};return(R,t)=>{const d=Re,g=$e,O=qe;return _(),T("div",Xs,[o(d,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(_(),T("div",Zs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(n)),1),o(e(me),{variant:"outline",size:"xs",onClick:b},{default:c(()=>t[0]||(t[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(r).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(S)})},[o(g,{"column-defs":e(y),"row-data":e(f),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(p)!=="pending"?(_(),T("div",el,[o(O,{title:"No Indexes",desc:"This materialized view has no indexes."})])):B("",!0)])}}}),nl={class:"rounded-md border p-2.5 relative"},al={key:0,class:"p-2"},ol={key:1,class:"space-y-1.5"},sl={class:"flex items-center gap-1 flex-wrap"},ll={key:0,class:"flex flex-wrap gap-1"},rl={class:"text-xxs text-muted-foreground"},il=L({__name:"ViewMetaInfo",props:{schema:{},viewName:{},connectionId:{}},setup(i){const a=i,l=Ie(),n=h(()=>`${a.schema}.${a.viewName}`),s=E(null),m=Se(),v=h(()=>a.connectionId?m.connections.find(b=>b.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/views/meta",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,viewName:a.viewName})),key:`view-meta-${n.value}`,getCachedData:()=>l.viewMetaMap[n.value]??void 0,onResponse({response:b}){b._data&&(l.viewMetaMap[n.value]=b._data)},onResponseError({response:b}){var R;s.value=((R=b._data)==null?void 0:R.message)||"Failed to load view metadata"}},"$pLysS3IkaY"),r=h(()=>{var b;return((b=u.value)==null?void 0:b.type)==="materialized"}),w=h(()=>r.value?"Materialized View":"Normal View"),y=h(()=>{var b,R,t,d;return r.value?{variant:(t=u.value)!=null&&t.isPopulated?"default":"destructive",label:`Populated: ${(d=u.value)!=null&&d.isPopulated?"Yes":"No"}`}:{variant:(b=u.value)!=null&&b.isUpdatable?"default":"outline",label:`Updatable: ${(R=u.value)!=null&&R.isUpdatable?"Yes":"No"}`}}),f=h(()=>{var b,R,t,d,g;return r.value?[{label:"Rows",value:((R=(b=u.value)==null?void 0:b.rowEstimate)==null?void 0:R.toLocaleString())??"—",mono:!0},{label:"Total",value:((t=u.value)==null?void 0:t.totalSize)??"—"},{label:"Table",value:((d=u.value)==null?void 0:d.tableSize)??"—"},{label:"Index",value:((g=u.value)==null?void 0:g.indexSize)??"—"}]:[]}),S=()=>{s.value=null,Oe(`view-meta-${n.value}`)};return(b,R)=>{const t=Re;return _(),T("div",nl,[o(t,{visible:e(p)==="pending"},null,8,["visible"]),e(s)?(_(),T("div",al,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(s)),1),o(e(me),{variant:"outline",size:"xs",onClick:S},{default:c(()=>R[0]||(R[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(u)?(_(),T("div",ol,[C("div",sl,[o(e(it),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(w)),1)]),_:1}),o(e(it),{variant:e(y).variant,class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(y).label),1)]),_:1},8,["variant"])]),e(f).length?(_(),T("div",ll,[(_(!0),T(pe,null,Te(e(f),d=>(_(),T("div",{key:d.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[C("span",rl,V(d.label),1),C("span",{class:xe(["text-[11px] leading-none text-foreground",d.mono?"font-mono":"font-medium"])},V(d.value),3)]))),128))])):B("",!0)])):B("",!0)])}}}),ul=L({__name:"VirtualTableDefinition",props:{schema:{},connectionId:{},viewName:{},viewId:{}},setup(i){const a=i,l=Se(),n=h(()=>a.connectionId?l.connections.find(u=>u.id===a.connectionId):l.selectedConnection),{data:s,status:m}=ye("/api/views/definition",{method:"POST",body:h(()=>({...ce(n.value),viewId:a.viewId,schemaName:a.schema,viewName:a.viewName})),key:`${a.schema}.${a.viewId}`},"$ssZRsSgd3z"),v=h(()=>{var u;return(u=s.value)!=null&&u.definition?Sa(s.value.definition):""});return(u,p)=>{const r=Re,w=gt,y=qe;return _(),T("div",{key:`${a.viewId}-${a.viewName}-${a.schema}`,class:"relative"},[o(r,{visible:e(m)==="pending"},null,8,["visible"]),e(v)?(_(),D(w,{key:0,code:e(v),"show-copy-button":"","max-height":"24rem"},null,8,["code"])):e(m)!=="pending"?(_(),D(y,{key:1,title:"No Definition",desc:"No SQL definition is available for this view."})):B("",!0)])}}}),cl={class:"h-full overflow-y-auto p-1.5"},dl={class:"space-y-3 pb-2"},ml={key:0,class:"space-y-1"},pl={key:1,class:"space-y-1"},fl={class:"space-y-1"},vl={class:"space-y-1"},yl={class:"rounded-md border"},gl={class:"space-y-1"},_l={class:"flex items-center gap-2"},hl={class:"rounded-md border"},bl={class:"space-y-1"},wl={class:"rounded-md border"},Cl={class:"space-y-1"},Sl={class:"rounded-md border"},Rl={key:0,class:"space-y-1"},Nl={key:1,class:"space-y-1"},xl={class:"rounded-md border"},Tl={class:"space-y-1"},Il={class:"rounded-md border"},kl=L({__name:"StructureTable",props:{schema:{},tableName:{},connectionId:{},isVirtualTable:{type:Boolean},virtualTableId:{}},setup(i){const a=i,l=["column_name","data_type","is_nullable","default_value","foreign_keys","on_update","on_delete","column_comment"],n=Se(),s=h(()=>a.connectionId?n.connections.find(t=>t.id===a.connectionId):n.selectedConnection),{data:m,status:v}=ye("/api/tables/structure",{method:"POST",body:h(()=>({...ce(s.value),schema:a.schema,tableName:a.tableName})),key:`${a.schema}.${a.tableName}`},"$ALIsatagCk"),u=h(()=>{const t=m.value||[];return t.length>0?ze(t):je(l)}),p=h(()=>Ue({columns:u.value,rows:m.value||[],columnKeyBy:"field"})),r=h(()=>Qe(m.value||[])),w=Ie(),y=h(()=>`${a.schema}.${a.tableName}`),{data:f}=ye("/api/tables/rls",{method:"POST",body:h(()=>({...ce(s.value),schema:a.schema,table:a.tableName})),key:`rls-${y.value}`,immediate:!a.isVirtualTable},"$SfWGG2Nw15"),{data:S}=ye("/api/views/meta",{method:"POST",body:h(()=>({...ce(s.value),schema:a.schema,viewName:a.tableName})),key:`view-meta-struct-${y.value}`,immediate:!!a.isVirtualTable,getCachedData:()=>{if(a.isVirtualTable)return w.viewMetaMap[y.value]},onResponse({response:t}){t._data&&a.isVirtualTable&&(w.viewMetaMap[y.value]=t._data)}},"$Et5thcVWGM"),b=h(()=>{var t;return((t=S.value)==null?void 0:t.type)==="materialized"}),R=h(()=>{const t=(m.value||[]).length;return`${We(t)}px`});return(t,d)=>{const g=Re,O=$e;return _(),T("div",cl,[C("div",dl,[t.isVirtualTable?(_(),T("section",pl,[d[1]||(d[1]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Meta Info"),C("p",{class:"text-xs text-muted-foreground"}," View type and storage metadata ")],-1)),o(il,{connectionId:t.connectionId,schema:t.schema,viewName:t.tableName},null,8,["connectionId","schema","viewName"])])):(_(),T("section",ml,[d[0]||(d[0]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Meta Info"),C("p",{class:"text-xs text-muted-foreground"}," Table type and storage metadata ")],-1)),o(Qs,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])),C("section",fl,[d[2]||(d[2]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Columns"),C("p",{class:"text-xs text-muted-foreground"}," Table column structure and constraints ")],-1)),C("div",{class:"relative",style:ke({maxHeight:`${e(Ee)}px`,height:e(R)})},[o(g,{visible:e(v)==="pending"},null,8,["visible"]),o(O,{"column-defs":e(p),"row-data":e(r),"column-types":e(Ke),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])],4)]),t.isVirtualTable?(_(),T(pe,{key:3},[t.virtualTableId?(_(),T("section",Rl,[d[8]||(d[8]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Definition"),C("p",{class:"text-xs text-muted-foreground"},"View SQL definition")],-1)),o(ul,{connectionId:t.connectionId,schema:t.schema,viewName:t.tableName,viewId:t.virtualTableId},null,8,["connectionId","schema","viewName","viewId"])])):B("",!0),e(b)?(_(),T("section",Nl,[d[9]||(d[9]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Indexes"),C("p",{class:"text-xs text-muted-foreground"}," Indexes on materialized view ")],-1)),C("div",xl,[o(tl,{schema:t.schema,viewName:t.tableName,connectionId:t.connectionId},null,8,["schema","viewName","connectionId"])])])):B("",!0),C("section",Tl,[d[10]||(d[10]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Dependencies"),C("p",{class:"text-xs text-muted-foreground"}," Objects referenced by this view ")],-1)),C("div",Il,[o(Js,{schema:t.schema,viewName:t.tableName,connectionId:t.connectionId},null,8,["schema","viewName","connectionId"])])])],64)):(_(),T(pe,{key:2},[C("section",vl,[d[3]||(d[3]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Indexes"),C("p",{class:"text-xs text-muted-foreground"}," Available indexes and definitions ")],-1)),C("div",yl,[o(xs,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])]),C("section",gl,[C("div",null,[C("div",_l,[d[4]||(d[4]=C("h3",{class:"text-sm font-medium"},"RLS",-1)),e(f)?(_(),D(e(it),{key:0,variant:e(f).enabled?"default":"secondary",class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(f).enabled?"Enabled":"Disabled"),1)]),_:1},8,["variant"])):B("",!0)]),d[5]||(d[5]=C("p",{class:"text-xs text-muted-foreground"}," Row-level security status and policies ",-1))]),C("div",hl,[o($s,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])]),C("section",bl,[d[6]||(d[6]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Rules"),C("p",{class:"text-xs text-muted-foreground"}," Rewrite rules configured on this table ")],-1)),C("div",wl,[o(Es,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])]),C("section",Cl,[d[7]||(d[7]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Triggers"),C("p",{class:"text-xs text-muted-foreground"}," Trigger status and trigger definitions ")],-1)),C("div",Sl,[o(Ws,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])])],64))])])}}}),$l={class:"px-2"},Ol={class:"px-2"},Dl={class:"flex-1 overflow-hidden px-2 mb-0.5"},Ml={key:1,class:"h-full"},Cn=L({__name:"ReferencedTable",props:{tableName:{},schemaName:{},initFilters:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(i,{emit:a}){const l=i,n=E(),s=a,{quickQueryFilterRef:m,quickQueryTableRef:v,selectedRows:u,focusedCell:p}=vo(),r=mt(),w=Se(),{onRequestSafeModeConfirm:y,onSafeModeCancel:f,onSafeModeConfirm:S,safeModeDialogOpen:b,safeModeDialogSql:R,safeModeDialogType:t}=qo(),d=h(()=>w.connections.find(ae=>ae.id===l.connectionId)),g=h(()=>{var ae;return((ae=d.value)==null?void 0:ae.type)||Ne.POSTGRES}),{columnNames:O,foreignKeys:M,primaryKeyColumns:z,tableMetaData:ne,columnTypes:q,foreignKeyColumns:Y}=Bo({tableName:l.tableName,schemaName:l.schemaName,connectionId:l.connectionId,tabViewType:st.TableDetail}),{onApplyNewFilter:ge,data:_e,baseQueryString:he,refreshTableData:G,refreshCount:fe,isAllowNextPage:He,isAllowPreviousPage:Ae,onNextPage:x,onPreviousPage:k,onUpdatePagination:N,totalRows:A,pagination:Q,errorMessage:K,openErrorModal:H,orderBy:U,onUpdateOrderBy:be,addHistoryLog:X,filters:we,isShowFilters:j,composeWith:Z,onChangeComposeWith:I,isFetchingTableData:P}=Uo({connection:d,primaryKeys:z,columns:O,connectionId:h(()=>l.connectionId),workspaceId:h(()=>l.workspaceId),tableName:l.tableName,schemaName:l.schemaName,isPersist:!1,initFilters:(l==null?void 0:l.initFilters)||[],initComposeWith:rt.OR});Ye(ne,ae=>{ae&&(we.value=(l==null?void 0:l.initFilters)||[],fe(),G())},{deep:!0,immediate:!0});const{isMutating:W,onAddEmptyRow:ee,onDiscardChanges:se,onDeleteRows:de,onSaveData:Pe,hasEditedRows:Fe,pendingChangesCount:Sn,onCopyRows:Rn,onPasteRows:Ot,onRefresh:Dt,onSelectedRowsChange:Nn,onCopySelectedCell:Mt,onFocusedCellChange:xn,onDeselectAll:Tn}=Ao({tableName:l.tableName,schemaName:l.schemaName,primaryKeys:z,refreshTableData:G,columnNames:O,data:_e,addHistoryLog:X,errorMessage:K,openErrorModal:H,selectedRows:u,pagination:Q,quickQueryTableRef:v,refreshCount:fe,focusedCell:p,connection:d,safeModeEnabled:oe(r,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:y}),{quickQueryTabView:Be,openedQuickQueryTab:Et}=Lo(),{onAddFilterByContextCell:In}=_o({quickQueryFilterRef:m,quickQueryTableRef:v,columnTypes:q,filters:we,onApplyNewFilter:ge}),{isHaveRelationByFieldName:kn}=wn({schemaName:l.schemaName,tableName:l.tableName});return St([{key:"meta+a",callback:()=>{var ae,J;(J=(ae=v.value)==null?void 0:ae.gridApi)==null||J.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{Mt()},excludeInput:!0},{key:"meta+v",callback:()=>Ot(),excludeInput:!0},{key:"meta+s",callback:()=>Pe(),isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{de()},isPreventDefault:!0}],{target:n}),(ae,J)=>{var At,Pt;return _(),T(pe,null,[o(Ra,{open:e(H),"onUpdate:open":J[0]||(J[0]=le=>Ge(H)?H.value=le:null),message:e(K)||""},null,8,["open","message"]),o(Ta,{open:e(b),"onUpdate:open":J[1]||(J[1]=le=>Ge(b)?b.value=le:null),sql:e(R),type:e(t),onConfirm:e(S),onCancel:e(f)},null,8,["open","sql","type","onConfirm","onCancel"]),C("div",{ref_key:"containerRef",ref:n,class:"flex flex-col h-full w-full relative",tabindex:"0"},[o(e(Re),{visible:e(W)||e(P)},null,8,["visible"]),C("div",$l,[o(ls,{"total-selected-rows":(At=e(u))==null?void 0:At.length,isAllowNextPage:e(He),isAllowPreviousPage:e(Ae),totalRows:e(A),limit:e(Q).limit,currentTotalRows:((Pt=e(_e))==null?void 0:Pt.length)||0,offset:e(Q).offset,"has-edited-rows":e(Fe),"pending-changes-count":e(Sn),onOnPaginate:e(N),onOnNextPage:e(x),onOnPreviousPage:e(k),onOnRefresh:e(Dt),onOnDiscardChanges:e(se),onOnSaveData:e(Pe),onOnDeleteRows:e(de),onOnAddEmptyRow:e(ee),onOnShowFilter:J[2]||(J[2]=async()=>{var le;await((le=e(m))==null?void 0:le.onShowSearch())}),tabView:e(Be),"onUpdate:tabView":J[3]||(J[3]=le=>Ge(Be)?Be.value=le:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","pending-changes-count","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnDiscardChanges","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","tabView"])]),C("div",Ol,[e(Be)===e(ve).Data?(_(),D(hs,{key:0,ref_key:"quickQueryFilterRef",ref:m,onOnSearch:J[4]||(J[4]=()=>{e(ge)()}),onOnUpdateFilters:J[5]||(J[5]=le=>{we.value=le}),isShowFilters:e(j),"onUpdate:isShowFilters":J[6]||(J[6]=le=>Ge(j)?j.value=le:null),initFilters:e(we),baseQuery:e(he),columns:e(O),dbType:e(g),composeWith:e(Z),onOnChangeComposeWith:e(I)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):B("",!0)]),C("div",Dl,[e(Et)[e(ve).Erd]?lt((_(),D(Ca,{key:0,tableId:e(ta)({tableName:ae.tableName,schemaName:ae.schemaName})},null,8,["tableId"])),[[ft,e(Be)===e(ve).Erd]]):B("",!0),e(Et)[e(ve).Structure]?lt((_(),T("div",Ml,[o(kl,{schema:ae.schemaName,tableName:ae.tableName,connectionId:ae.connectionId},null,8,["schema","tableName","connectionId"])],512)),[[ft,e(Be)===e(ve).Structure]]):B("",!0),lt(o(bs,{"total-selected-rows":e(u).length,"has-edited-rows":e(Fe),selectedRows:e(u),"table-name":ae.tableName,"schema-name":ae.schemaName,isReferencedTable:"",onOnPaginate:e(N),onOnNextPage:e(x),onOnPreviousPage:e(k),onOnRefresh:e(Dt),onOnSaveData:e(Pe),onOnDeleteRows:e(de),onOnAddEmptyRow:e(ee),onOnFilterByValue:e(In),onOnCopyRows:e(Rn),onOnPasteRows:e(Ot),onOnCopySelectedCell:e(Mt)},{default:c(()=>[o(ws,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:v,"selected-rows":e(u),data:e(_e)||[],orderBy:e(U),onOnSelectedRows:e(Nn),"onUpdate:orderBy":e(be),onOnOpenBackReferencedTableModal:J[7]||(J[7]=le=>s("onOpenBackReferencedTableModal",le)),onOnOpenForwardReferencedTableModal:J[8]||(J[8]=le=>s("onOpenForwardReferencedTableModal",le)),isHaveRelationByFieldName:e(kn),foreignKeyColumns:e(Y),foreignKeys:e(M),primaryKeyColumns:e(z),columnTypes:e(q),defaultPageSize:e(Ct),offset:e(Q).offset,onOnFocusCell:e(xn),"current-schema-name":ae.schemaName,"current-table-name":ae.tableName,onOnClickOutSide:e(Tn)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","current-schema-name","current-table-name","onOnClickOutSide"])]),_:1},8,["total-selected-rows","has-edited-rows","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnFilterByValue","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[ft,e(Be)===e(ve).Data]])])],512)],64)}}}),El={class:"flex justify-between items-center gap-2 w-full"},Al={class:"relative w-full"},Pl={class:"flex flex-1"},Fl=L({__name:"BackReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},selectedTab:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal","update:selectedTab"],setup(i,{emit:a}){const l=i,n=a,{reverseTables:s}=wn({schemaName:l.schemaName,tableName:l.tableName}),m=E(""),v=h(()=>{var R;const f=new Map,S=jt((R=s.value)==null?void 0:R.used_by)||[];for(const t of S)t.referenced_column===l.columnName&&f.set(t.referencing_table,{table:t.referencing_table,schema:t.referencing_schema});let b=[...f.values()].sort((t,d)=>t.table.localeCompare(d.table));if(m.value){const t=m.value.toLowerCase();b=b.filter(d=>d.table.toLowerCase().includes(t))}return b});na(()=>{!l.selectedTab&&v.value.length>0&&n("update:selectedTab",v.value[0].table,v.value[0].schema)});const u=f=>{var R;if(!f)return[];const S=[],b=jt((R=s.value)==null?void 0:R.used_by)||[];for(const t of b)if(t.referencing_table===f){const d={fieldName:t.fk_column,operator:et.EQUAL,search:l.recordId,isSelect:!0};S.push(d)}return S},p=f=>{const{schemaName:S,tableName:b}=y(f);n("update:selectedTab",b,S)},r=f=>{const S=f.target;S instanceof HTMLElement&&S.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},w=f=>`${f.schema}.${f.table}`,y=f=>{const[S,b]=f.split(".");return{schemaName:S,tableName:b}};return(f,S)=>{const b=un,R=rn,t=te,d=ln;return _(),D(d,{"model-value":w({table:f.selectedTab||"",schema:f.schemaName}),"onUpdate:modelValue":S[4]||(S[4]=g=>p(g)),class:"flex-1 flex-wrap h-full w-full"},{default:c(()=>[C("div",El,[o(R,{class:"overflow-x-auto w-full justify-start!"},{default:c(()=>[(_(!0),T(pe,null,Te(e(v),g=>(_(),D(b,{class:"cursor-pointer font-normal! flex-none!",onClick:r,value:w(g),key:w(g)},{default:c(()=>[$(V(f.rootSchemaName===g.schema?null:`${g.schema}.`)+V(g.table),1)]),_:2},1032,["value"]))),128))]),_:1}),C("div",null,[C("div",Al,[o(e(tt),{type:"text",placeholder:"Search tables",class:"pr-6 w-48 h-8",modelValue:e(m),"onUpdate:modelValue":S[0]||(S[0]=g=>Ge(m)?m.value=g:null)},null,8,["modelValue"]),e(m)?(_(),T("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:S[1]||(S[1]=g=>m.value="")},[o(t,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):B("",!0)])])]),C("div",Pl,[(_(),D(dn,null,[(_(),D(Cn,{key:f.selectedTab,tableName:f.selectedTab||"","schema-name":f.schemaName,"init-filters":u(f.selectedTab),connectionId:l.connectionId,workspaceId:l.workspaceId,onOnOpenBackReferencedTableModal:S[2]||(S[2]=g=>n("onOpenBackReferencedTableModal",g)),onOnOpenForwardReferencedTableModal:S[3]||(S[3]=g=>n("onOpenForwardReferencedTableModal",g))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))],1024))])]),_:1},8,["model-value"])}}}),Bl={class:"flex flex-1"},Vl=L({__name:"ForwardReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(i,{emit:a}){const l=i,n=a,s=()=>[{fieldName:l.columnName,operator:et.EQUAL,search:l.recordId,isSelect:!0}];return(m,v)=>(_(),T("div",Bl,[(_(),D(Cn,{key:e(_t)(),tableName:m.tableName,"schema-name":m.schemaName,"init-filters":s(),connectionId:l.connectionId,workspaceId:l.workspaceId,onOnOpenBackReferencedTableModal:v[0]||(v[0]=u=>n("onOpenBackReferencedTableModal",u)),onOnOpenForwardReferencedTableModal:v[1]||(v[1]=u=>n("onOpenForwardReferencedTableModal",u))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))]))}}),Ll={class:"flex items-center"},lr=L({__name:"PreviewRelationTable",props:{open:{type:Boolean},breadcrumbs:{},currentTableName:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onBackPreviousBreadcrumbByIndex","onBackPreviousBreadcrumb","clearBreadcrumb","onUpdateSelectedTabInBreadcrumb","onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(i,{emit:a}){const l=a,n=i,s=h(()=>n.breadcrumbs.length?n.breadcrumbs[n.breadcrumbs.length-1]:null),m=(u,p)=>{l("onUpdateSelectedTabInBreadcrumb",n.breadcrumbs.length-1,u,p)},v=u=>u.type==="backReferenced"?n.rootSchemaName===u.schemaName?u.selectedTab:`${u.schemaName}.${u.selectedTab}`:`${u.schemaName}.${u.tableName}`;return(u,p)=>{const r=te,w=me,y=ia,f=ra,S=la,b=sa,R=oa;return _(),D(e(aa),{open:u.open,"onUpdate:open":p[4]||(p[4]=t=>u.$emit("clearBreadcrumb"))},{default:c(()=>[o(e(da),{class:"w-[98dvw]! max-w-[98dvw]! max-h-[95dvh] h-[95dvh] gap-1 p-3 flex flex-col flex-1 flex-wrap overflow-hidden"},{default:c(()=>{var t;return[o(R,null,{default:c(()=>[o(b,null,{default:c(()=>[C("div",Ll,[o(w,{onClick:p[0]||(p[0]=d=>u.$emit("onBackPreviousBreadcrumb")),size:"iconMd",variant:"secondary"},{default:c(()=>[o(r,{name:"hugeicons:arrow-left-02",class:"size-4!"})]),_:1}),o(S,null,{default:c(()=>[o(f,{class:"gap-0.5!"},{default:c(()=>[o(e(Wt),{class:"hover:cursor-pointer"},{default:c(()=>[o(e(Xt),{onClick:p[1]||(p[1]=d=>l("clearBreadcrumb"))},{default:c(()=>[$(V(u.currentTableName),1)]),_:1})]),_:1}),o(y),(_(!0),T(pe,null,Te(u.breadcrumbs,(d,g)=>(_(),T(pe,null,[o(e(Wt),{class:xe([g!==u.breadcrumbs.length-1&&"hover:cursor-pointer"])},{default:c(()=>[g===u.breadcrumbs.length-1?(_(),D(e(ua),{key:0},{default:c(()=>[$(V(v(d)),1)]),_:2},1024)):(_(),D(e(Xt),{key:1,onClick:O=>l("onBackPreviousBreadcrumbByIndex",g)},{default:c(()=>[$(V(v(d)),1)]),_:2},1032,["onClick"]))]),_:2},1032,["class"]),g<u.breadcrumbs.length-1?(_(),D(y,{key:0})):B("",!0)],64))),256))]),_:1})]),_:1})])]),_:1})]),_:1}),(_(),D(dn,null,[e(s)?(_(),D(ca(((t=e(s))==null?void 0:t.type)==="backReferenced"?Fl:Vl),at({key:e(s).id},{columnName:e(s).columnName,recordId:e(s).recordId,schemaName:e(s).schemaName,tableName:e(s).tableName,selectedTab:e(s).selectedTab,connectionId:n.connectionId,workspaceId:n.workspaceId,rootSchemaName:n.rootSchemaName},{onOnOpenBackReferencedTableModal:p[2]||(p[2]=d=>l("onOpenBackReferencedTableModal",d)),onOnOpenForwardReferencedTableModal:p[3]||(p[3]=d=>l("onOpenForwardReferencedTableModal",d)),"onUpdate:selectedTab":m}),null,16)):B("",!0)],1024))]}),_:1})]),_:1},8,["open"])}}});export{ro as D,lr as _,sr as a,qo as b,vo as c,Bo as d,Uo as e,Ao as f,Lo as g,wn as h,ls as i,hs as j,kl as k,ws as l,_o as m,bs as n,po as o,Ga as p,fo as q,Xt as r,bn as s,za as t,Wa as u,Ka as v,wo as w,hn as x};
|
|
4
|
+
-- Error: ${r.errorMessage}`);const y={...r,logs:w,connectionId:l.value,workspaceId:a.value,createdAt:Dn().toISOString(),id:_t()};await i.quickQueryLogStorage.create(y),n.value.push(y)},v=async({tableName:r,schemaName:w})=>{if(!l.value){console.error("connectionId or schemaId not found");return}await i.quickQueryLogStorage.delete({connectionId:l.value,tableName:r,schemaName:w}),await p(l.value)},u=async()=>{if(!l.value){console.error("connectionId not found");return}await i.quickQueryLogStorage.delete({connectionId:l.value}),await p(l.value)},p=async r=>{const w=await i.quickQueryLogStorage.getByContext({connectionId:r});n.value=w};return Ye(()=>[l.value],async()=>{if(!l.value){console.error("connectionId not found");return}await p(l.value)},{deep:!0,immediate:!0}),{qqLogs:n,getLogsByTableId:s,deleteAllLogs:u,deleteLogsOfTable:v,createLog:m}},{persist:!1}),[Wa,Ga]=tn(["MenuCheckboxItem","MenuRadioItem"],"MenuItemIndicatorContext");var Ya=L({__name:"MenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const a=Wa({modelValue:E(!1)});return(l,n)=>(_(),D(e(An),{present:l.forceMount||e(En)(e(a).modelValue.value)||e(a).modelValue.value===!0},{default:c(()=>[o(e(ht),{as:l.as,"as-child":l.asChild,"data-state":e(nn)(e(a).modelValue.value)},{default:c(()=>[Ce(l.$slots,"default")]),_:3},8,["as","as-child","data-state"])]),_:3},8,["present"]))}}),Ja=Ya,Xa=L({__name:"MenuGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=i;return(l,n)=>(_(),D(e(ht),at({role:"group"},a),{default:c(()=>[Ce(l.$slots,"default")]),_:3},16))}}),Za=Xa;const[eo,to]=tn("MenuRadioGroup");var no=L({__name:"MenuRadioGroup",props:{modelValue:{type:null,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(i,{emit:a}){const l=i,n=a,s=an(l,["modelValue"]),m=on(s),v=Pn(l,"modelValue",n);return to({modelValue:v,onValueChange:u=>{v.value=u}}),(u,p)=>(_(),D(Za,ct(dt(e(m))),{default:c(()=>[Ce(u.$slots,"default",{modelValue:e(v)})]),_:3},16))}}),ao=no,oo=L({__name:"MenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:a}){const l=i,n=a,s=an(l,["value"]),m=on(s),{value:v}=Fn(l),u=eo(),p=h(()=>u.modelValue.value===(v==null?void 0:v.value));return Ga({modelValue:p}),(r,w)=>(_(),D(Fa,at({role:"menuitemradio"},e(m),{"aria-checked":p.value,"data-state":e(nn)(p.value),onSelect:w[0]||(w[0]=async y=>{n("select",y),e(u).onValueChange(e(v))})}),{default:c(()=>[Ce(r.$slots,"default")]),_:3},16,["aria-checked","data-state"]))}}),so=oo,lo=L({__name:"DropdownMenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=i;return bt(),(l,n)=>(_(),D(e(Ja),ct(dt(a)),{default:c(()=>[Ce(l.$slots,"default")]),_:3},16))}}),ro=lo,io=L({__name:"DropdownMenuRadioGroup",props:{modelValue:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(i,{emit:a}){const l=i,s=Bn(a);return bt(),(m,v)=>(_(),D(e(ao),ct(dt({...l,...e(s)})),{default:c(()=>[Ce(m.$slots,"default")]),_:3},16))}}),uo=io,co=L({__name:"DropdownMenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:a}){const s=wt(i,a);return bt(),(m,v)=>(_(),D(e(so),ct(dt(e(s))),{default:c(()=>[Ce(m.$slots,"default")]),_:3},16))}}),mo=co;const Xt=L({__name:"BreadcrumbLink",props:{asChild:{type:Boolean},as:{default:"a"},class:{}},setup(i){const a=i;return(l,n)=>(_(),D(e(ht),{"data-slot":"breadcrumb-link",as:l.as,"as-child":l.asChild,class:xe(e(ot)("hover:text-foreground transition-colors",a.class))},{default:c(()=>[Ce(l.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),po=L({__name:"DropdownMenuRadioGroup",props:{modelValue:{},asChild:{type:Boolean},as:{}},emits:["update:modelValue"],setup(i,{emit:a}){const s=wt(i,a);return(m,v)=>(_(),D(e(uo),at({"data-slot":"dropdown-menu-radio-group"},e(s)),{default:c(()=>[Ce(m.$slots,"default")]),_:3},16))}}),fo=L({__name:"DropdownMenuRadioItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},emits:["select"],setup(i,{emit:a}){const l=i,n=a,s=h(()=>{const{class:u,...p}=l;return p}),m=wt(s,n),v=Vn($a,h(()=>"default"));return(u,p)=>(_(),D(e(mo),at({"data-slot":"dropdown-menu-radio-item","data-size":e(v)},e(m),{class:e(ot)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e(Oa)[e(v)],l.class)}),{default:c(()=>[C("span",{class:xe(e(ot)("pointer-events-none absolute flex items-center justify-center",e(Da)[e(v)]))},[o(e(ro),null,{default:c(()=>[o(e(Ba),{class:xe(e(ot)("fill-current",e(Ma)[e(v)]))},null,8,["class"])]),_:1})],2),Ce(u.$slots,"default")]),_:3},16,["data-size","class"]))}}),vo=()=>{const i=E(),a=E(),l=E([]),n=E(void 0),s=E(!1);return{quickQueryFilterRef:i,quickQueryTableRef:a,selectedRows:l,isMutating:s,focusedCell:n}},yo=i=>!!(i!=null&&i.trim().endsWith("[]")),go=({columnName:i,columnType:a,cellValue:l})=>{if(!i)return null;const n=Array.isArray(l)&&yo(a);return{fieldName:i,isSelect:!0,operator:et.EQUAL,valueType:n?qn.POSTGRES_ARRAY:void 0,search:Ln(l,{preserveArray:n})}},_o=({quickQueryFilterRef:i,quickQueryTableRef:a,columnTypes:l,filters:n,onApplyNewFilter:s})=>{const m=u=>{n.value=[...n.value,u]};return{appendFilter:m,onAddFilterByContextCell:async()=>{var r,w,y;const u=(r=a.value)==null?void 0:r.cellContextMenu;if(!u)return;const p=go({columnName:u.colDef.field,columnType:(w=l==null?void 0:l.value.find(f=>f.name===u.colDef.field))==null?void 0:w.type,cellValue:u.value});p&&(m(p),await Ze(),(y=i.value)==null||y.onShowSearch(),s())}}},ho={class:"flex items-center justify-between"},bo={class:"truncate"},wo=L({__name:"DataGridRelationCell",props:{params:{}},setup(i){return(a,l)=>{var n,s;return _(),T("div",ho,[C("span",bo,V(((s=(n=a.params)==null?void 0:n.formatValue)==null?void 0:s.call(n,a.params.value))||a.params.value),1),a.params.isPrimaryKey&&a.params.value?(_(),D(e(te),{key:0,onClick:l[0]||(l[0]=()=>{a.params.onOpenPreviewReverseTableModal(a.params.value)}),name:"hugeicons:view",class:"min-w-4 w-4! cursor-pointer hover:bg-amber-500"})):B("",!0)])}}}),hn=i=>["object","json","jsonb"].includes(i.trim().toLowerCase()),Co=i=>i.trim().endsWith("[]"),bn=i=>hn(i)||Co(i),So=(i,a)=>(i??[]).map((l,n)=>({[nt]:n+a+1,...l}));function Ro(i){const a=i.event.key;return["Backspace","Delete"].some(n=>n===a||a.toUpperCase()===n)}const No=({columnTypes:i,primaryKeyColumns:a,foreignKeyColumns:l,foreignKeys:n,orderBy:s,isViewOnly:m,currentTableName:v,currentSchemaName:u,isHaveRelationByFieldName:p,onUpdateOrderBy:r,onOpenBackReferencedTableModal:w,onOpenForwardReferencedTableModal:y})=>({columnDefs:h(()=>{var d;if(!((d=i.value)!=null&&d.length))return[];const S=[{colId:nt,headerName:ka,field:nt,filter:!1,resizable:!0,editable:!1,sortable:!1,type:"indexColumn",headerComponentParams:{allowSorting:!1},pinned:"left",width:Ia}],b=new Set(a.value),R=new Set(l.value),t=new Map(n.value.map(g=>[g.column,g]));return i.value.forEach(({name:g,type:O})=>{const M=g,z=s.value.columnName===M?s.value.order:void 0,ne=b.has(M),q=R.has(M),Y=t.get(M),ge=p(M),_e=ne&&ge||q&&Y,he=bn(O);S.push({headerName:M,field:M,colId:M,filter:!1,resizable:!0,editable:!0,sortable:!1,type:"editableColumn",headerComponentParams:{allowSorting:!0,sort:z,onUpdateSort:r,fieldId:M,isPrimaryKey:ne,isForeignKey:q},cellRenderer:_e?wo:void 0,cellRendererParams:{isPrimaryKey:_e,onOpenPreviewReverseTableModal:G=>{if(q&&Y){y({id:G,tableName:Y.referenced_table,columnName:Y.referenced_column,schemaName:Y.referenced_table_schema});return}w({id:G,columnName:M,tableName:v.value,schemaName:u.value})}},cellEditorSelector:G=>{if(he)return{component:"AgJsonCellEditor",popup:!0,popupPosition:"under"}},valueFormatter:G=>pa(G,he),valueSetter:G=>ma({params:G,fieldId:M,isObjectColumn:he,isViewOnly:m.value})})}),S})}),xo=({data:i,columnTypes:a})=>{const l=E([]),n=h(()=>new Map(a.value.map(u=>[u.name,u]))),s=u=>{var r;const p=((r=n.value.get(u))==null?void 0:r.type)||"";return hn(p)},m=u=>{var r;const p=((r=n.value.get(u))==null?void 0:r.type)||"";return bn(p)};return{editedCells:l,isJSONColumn:s,mapColumnDef:n,onCellValueChanged:u=>{var O,M,z,ne;const{colDef:p,newValue:r}=u,w=u.node.rowIndex,y=p.field;if(w==null||!y)return;const f=m(y),S=((O=n.value.get(y))==null?void 0:O.type)||"",b=!!((M=u.node.data)!=null&&M[pn]),R=b||(ne=(z=i.value)==null?void 0:z[w])==null?void 0:ne[y],{hasChanged:t,normalizedValue:d}=fa({fieldType:S,isObjectColumn:f,oldValue:R,newValue:r}),g=l.value.some(q=>q.rowId===w);if(t&&!g){l.value.push({rowId:w,changedData:{[y]:d},isNewRow:b});return}if(t){l.value=l.value.map(q=>q.rowId===w?{...q,changedData:{...q.changedData,[y]:d}}:q);return}l.value=l.value.map(q=>{if(q.rowId!==w)return q;const Y={...q.changedData};return delete Y[y],{...q,changedData:Y}}).filter(q=>q.isNewRow||Object.keys(q.changedData).length>0)}}},To={class:"ag-header-cell-text items-center flex gap-0.5","data-ref":"eText"},Io={class:"text-xxs!"},ko={key:0,class:"ag-sort-indicator-container","data-ref":"eSortIndicator"},$o={key:0,class:"ag-sort-indicator-icon ag-sort-ascending-icon","data-ref":"eSortAsc","aria-hidden":"true"},Oo={key:1,class:"ag-sort-indicator-icon ag-sort-descending-icon","data-ref":"eSortDesc","aria-hidden":"true"},Do=L({__name:"CustomHeaderTable",props:{params:{}},setup(i){const a=i,l=()=>{if(!a.params.allowSorting)return;const n=a.params.sort,s=a.params.onUpdateSort;s(n==="ASC"?{order:"DESC",columnName:a.params.displayName}:n==="DESC"?{}:{order:"ASC",columnName:a.params.displayName})};return(n,s)=>(_(),T("div",{class:"ag-header-cell-label cursor-pointer","data-ref":"eLabel",role:"presentation",onClick:l},[C("span",To,[a.params.isPrimaryKey?(_(),D(e(te),{key:0,name:"lucide:key-round",class:"min-w-3! text-yellow-500"})):B("",!0),a.params.isForeignKey?(_(),D(e(te),{key:1,name:"lucide:key-round",class:"min-w-3!"})):B("",!0),$(" "+V(a.params.displayName)+" ",1),C("p",Io,V(a.params.dataType),1)]),n.params.sort?(_(),T("span",ko,[n.params.sort==="ASC"?(_(),T("span",$o,s[0]||(s[0]=[C("span",{class:"ag-icon ag-icon-asc",role:"presentation",unselectable:"on"},null,-1)]))):(_(),T("span",Oo,s[1]||(s[1]=[C("span",{class:"ag-icon ag-icon-desc",role:"presentation",unselectable:"on"},null,-1)])))])):B("",!0)]))}}),Mo=({defaultPageSize:i,data:a,selectedColumnFieldId:l,isJSONColumn:n,gridApi:s,onCellMouseDown:m,onCellMouseOver:v})=>{const u=E(i??Ct),p=E({headerComponent:Do,suppressKeyboardEvent:Ro}),r=E({editableColumn:{cellStyle:f=>{const S=f.colDef.colId??"";if(!S||!a.value)return;const b=Number(f.node.id??f.node.rowIndex),R=a.value[b];if(R===void 0)return{backgroundColor:"var(--color-green-100)"};const t={},d=R[S],g=f.value;return(d===null||g===null)&&(t.color="var(--muted-foreground)"),va({oldValue:d,newValue:g,isObjectColumn:n(S)})?(t.backgroundColor="var(--color-orange-200)",delete t.color):t.backgroundColor="unset",t},cellClass:f=>f.column.getColId()===l.value?"col-highlight-cell cellCenter":"cellCenter"}}),w=ya();Ye(w,f=>{var S;(S=s.value)==null||S.updateGridOptions({theme:f})});const y=h(()=>{const f={components:{AgJsonCellEditor:ga},paginationPageSize:u.value,rowBuffer:Un,rowClass:"class-row-border-none",getRowStyle:S=>{if((S.node.rowIndex||0)%2===0)return{background:"var(--muted)"}},rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableSelectionWithoutKeys:!1,enableClickSelection:"enableSelection",copySelectedRows:!1},theme:w.value,pagination:!1,undoRedoCellEditing:!0,undoRedoCellEditingLimit:25,animateRows:!0,defaultColDef:p.value,columnTypes:r.value};return m&&(f.onCellMouseDown=m),v&&(f.onCellMouseOver=v),f});return{pageSize:u,defaultColDef:p,columnTypes:r,tableTheme:w,gridOptions:y}},Eo=({gridApi:i,data:a,primaryKeyColumns:l,foreignKeyColumns:n,selectedColumnFieldId:s})=>{Ye(s,async()=>{var v;await Ze(),(v=i.value)==null||v.refreshCells({force:!0})},{flush:"post"});const m=()=>{if(!i.value)return;const v=i.value.getAllGridColumns()||[],u=(a.value||[]).slice(0,10),p=_a({columns:v,rows:u}),r=new Set(l.value),w=new Set(n.value);i.value.updateGridOptions({columnDefs:v.map(y=>{const f=y.getColDef().field,S=r.has(f),b=w.has(f),t=S||b?ha:0;return{...y.getColDef(),width:f===nt?y.getActualWidth():p[f]+t}})})};return Qn(async()=>{var w,y,f;if(!i.value)return;await Ze();const v=i.value.getState(),u=document.querySelector(".ag-body-viewport");u&&(u.scrollTop=((w=v.scroll)==null?void 0:w.top)||0);const p=((y=i.value)==null?void 0:y.getAllGridColumns())||[];let r=0;for(const S of p){if(r>=(((f=v.scroll)==null?void 0:f.left)||0)){i.value.ensureColumnVisible(S.getColId(),"start");break}r+=S.getActualWidth()}}),{onRowDataUpdated:m}};function Ao(i){const{tableName:a,schemaName:l,primaryKeys:n,columnNames:s,data:m,selectedRows:v,pagination:u,addHistoryLog:p,refreshTableData:r,refreshCount:w,openErrorModal:y,errorMessage:f,quickQueryTableRef:S,focusedCell:b,safeModeEnabled:R,onRequestSafeModeConfirm:t,connection:d}=i,g=E(!1),O=async()=>{var A;const N=(A=S.value)==null?void 0:A.gridApi;N&&(N==null||N.deselectAll(),N==null||N.clearFocusedCell(),w(),r())},M=N=>{v.value=N},z=N=>{b&&(b.value=N)},ne=()=>{var N;return((N=S.value)==null?void 0:N.editedCells)??[]},q=()=>ne().filter(N=>N.isNewRow||Object.keys(N.changedData).length>0),Y=async()=>{var we;const N=q();if(!m.value||!N.length){Ve.info("No changes to save.");return}const A=[],Q=[],K=[];let W=!1;if(N.forEach(j=>{var ee,se,de;const Z=!!Object.keys(j.changedData).length,I=(ee=m.value)==null?void 0:ee[j.rowId],P=Z&&I&&!j.isNewRow,H=j.isNewRow||!I&&Z;if(P){const{sql:Pe,noPkWarning:Fe}=za({tableName:a,schemaName:l,update:j.changedData,pKeys:n.value,pKeyValue:I,dbType:(se=d.value)==null?void 0:se.type});Fe&&(W=!0),A.push({pKeyValue:I,update:j.changedData}),K.push(Pe)}else H&&(Q.push(j.changedData),K.push(ja({tableName:a,schemaName:l,insertData:j.changedData,dbType:(de=d.value)==null?void 0:de.type})))}),!A.length&&!Q.length){Ve.info("No valid changes to save.");return}if(W&&t&&!await t(K.join(`
|
|
5
|
+
`),Je.Save,!0)||!W&&(R!=null&&R.value)&&t&&!await t(K.join(`
|
|
6
|
+
`),Je.Save))return;g.value=!0;const U=ce(d.value),be={tableName:a,schemaName:l,...U},X=j=>({onResponseError({response:Z}){var H,ee,se;const I=(ee=(H=Z==null?void 0:Z._data)==null?void 0:H.data)==null?void 0:ee.driverError,P=(se=Z==null?void 0:Z._data)==null?void 0:se.message;y.value=!0,console.error(`Error during ${j}:`,Z==null?void 0:Z._data),f.value=P||`An unknown error occurred during ${j}.`,p(K.join(`
|
|
7
|
+
`),0,I,P)}});try{const j=[];A.length&&j.push($fetch("/api/tables/bulk-update",{method:"POST",body:{...be,pKeys:n.value,updates:A},...X("bulk update")})),Q.length&&j.push($fetch("/api/tables/bulk-insert",{method:"POST",body:{...be,insertItems:Q},...X("bulk insert")}));const I=(await Promise.all(j)).reduce((P,H)=>P+(H.queryTime??0),0);(we=S.value)!=null&&we.editedCells&&(S.value.editedCells=[]),p(K.join(`
|
|
8
|
+
`),I),w(),r(),Ve.success("Data saved successfully!")}catch(j){console.error("Fetch error in onSaveData:",j)}finally{g.value=!1}},ge=async()=>{var K,W;if(!v.value.length){Ve.info("No rows selected for deletion.");return}const N=v.value.map(U=>{var be;return Ka({schemaName:l,tableName:a,pKeys:n.value,pKeyValue:U,dbType:(be=d.value)==null?void 0:be.type})}),A=N.some(U=>U.noPkWarning),Q=N.map(U=>U.sql).join(`
|
|
9
|
+
`);if(!(A&&t&&!await t(Q,Je.Delete,!0))&&!(!A&&(R!=null&&R.value)&&t&&!await t(Q,Je.Delete))){g.value=!0;try{const{queryTime:U}=await $fetch("/api/tables/bulk-delete",{method:"POST",body:{tableName:a,schemaName:l,pKeys:n.value,pKeyValues:v.value,...ce(d.value)},onResponseError({response:X}){var Z,I,P;const we=(I=(Z=X==null?void 0:X._data)==null?void 0:Z.data)==null?void 0:I.driverError,j=(P=X==null?void 0:X._data)==null?void 0:P.message;y.value=!0,f.value=j||"An unknown error occurred during deletion.",p(Q,0,we,j)}});if(((K=v.value)==null?void 0:K.length)===((W=m.value)==null?void 0:W.length)&&u.offset>0){const X=u.offset-u.limit;u.offset=X>0?X:0}p(Q,U||0),w(),r(),Ve.success("Rows deleted successfully!")}catch(U){console.error("Fetch error in onDeleteRows:",U)}finally{g.value=!1}}},_e=()=>{var X,we;const N=(X=S.value)==null?void 0:X.gridApi;if(!N){Ve.error("Table grid API not available to add row.");return}let A=0;N.forEachNode(()=>A++);const Q=A,K=Q,W={[nt]:Q+1,[pn]:!0,...Object.fromEntries(s.value.map(j=>[j,void 0]))};N.applyTransaction({add:[W],addIndex:Q});const U=ne();if(!((we=S.value)!=null&&we.editedCells))return;S.value.editedCells=[...U,{rowId:K,changedData:{},isNewRow:!0}],N.setFocusedCell(Q,s.value[0]);const be=N.getDisplayedRowAtIndex(Q);be&&(N.deselectAll(),be.setSelected(!0))},he=()=>{!S.value||!q().length||(S.value.editedCells=[],O(),Ve.info("Changes discarded."))},G=h(()=>q().length),fe=h(()=>G.value>0);return{onAddEmptyRow:_e,onDiscardChanges:he,onDeleteRows:ge,onSaveData:Y,isMutating:g,hasEditedRows:fe,pendingChangesCount:G,onCopyRows:()=>{const N=v.value;if(!N)return;const A=N.filter(Boolean);qa(A)},onPasteRows:async()=>{var Q,K;const N=(Q=S.value)==null?void 0:Q.gridApi;if(!N)return;const A=N.getFocusedCell();A&&(A==null||A.rowIndex,(K=A==null?void 0:A.column)==null||K.getColId(),await navigator.clipboard.readText())},onRefresh:O,onSelectedRowsChange:M,onCopySelectedCell:async()=>{b!=null&&b.value&&await navigator.clipboard.writeText(ba(b.value)||"")},onFocusedCellChange:z,onDeselectAll:()=>{var A;const N=(A=S.value)==null?void 0:A.gridApi;N&&N.deselectAll()}}}const Zt=(i,a)=>({id:_t(),type:a,schemaName:i.schemaName,tableName:i.tableName,columnName:i.columnName,recordId:i.id}),Po=(i,a,l)=>({...i,selectedTab:a,schemaName:l}),Fo=(i,a)=>i.filter((l,n)=>n<=a);function sr(){const i=E([]);return{previewRelationBreadcrumbs:i,onOpenBackReferencedTableModal:u=>{i.value.push(Zt(u,"backReferenced"))},onOpenForwardReferencedTableModal:u=>{i.value.push(Zt(u,"forwardReferenced"))},onUpdateSelectedTabInBreadcrumb:(u,p,r)=>{const w=i.value[u];w&&(i.value[u]=Po(w,p,r))},onClearBreadcrumbs:()=>{i.value=[]},onBackPreviousBreadcrumb:()=>{i.value.pop()},onBackPreviousBreadcrumbByIndex:u=>{i.value=Fo(i.value,u)}}}const Bo=({tableName:i,schemaName:a,connectionId:l,tabViewType:n})=>{const s=Ie(),{schemas:m}=sn(s),v=h(()=>{const b=m.value[l];if(b)return b.find(R=>R.name===a)}),u=h(()=>{var b,R,t,d;switch(n){case st.TableDetail:return(R=(b=v.value)==null?void 0:b.tableDetails)==null?void 0:R[i];case st.ViewDetail:{const g=(d=(t=v.value)==null?void 0:t.viewDetails)==null?void 0:d[i];return{columns:g==null?void 0:g.columns,foreign_keys:[],primary_keys:[],table_id:g==null?void 0:g.view_id}}default:return null}}),p=h(()=>n===st.ViewDetail),r=h(()=>{var b,R;return((R=(b=u.value)==null?void 0:b.columns)==null?void 0:R.map(t=>t.name))||[]}),w=h(()=>{var b;return(((b=u.value)==null?void 0:b.foreign_keys)||[]).map(R=>R.column)}),y=h(()=>{var b;return((b=u.value)==null?void 0:b.foreign_keys)||[]}),f=h(()=>{var b;return(((b=u.value)==null?void 0:b.primary_keys)||[]).map(R=>R.column)}),S=h(()=>{var b,R;return((R=(b=u.value)==null?void 0:b.columns)==null?void 0:R.map(t=>({name:t.name,type:t.short_type_name})))||[]});return{primaryKeyColumns:f,foreignKeys:y,columnNames:r,tableMetaData:u,columnTypes:S,foreignKeyColumns:w,isVirtualTable:p}},Vo=()=>({[ve.Data]:!0,[ve.Structure]:!1,[ve.Erd]:!1}),Lo=({initialTab:i=ve.Data,onTabChanged:a}={})=>{const l=E(i),n=E(Vo());return Ye(l,s=>{n.value[s]=!0,a==null||a(s)}),{quickQueryTabView:l,openedQuickQueryTab:n}},wn=({schemaName:i,tableName:a})=>{const l=Ie(),{activeReservedSchemas:n}=sn(l),s=h(()=>(n.value||[]).find(p=>p.table===a&&p.schema===i)),m=h(()=>{var p,r;const u=new Map;return(r=(p=s.value)==null?void 0:p.used_by)==null||r.forEach(w=>{u.set(w.referenced_column,!0)}),u});return{activeReservedSchemas:n,reverseTables:s,isHaveRelationByFieldName:u=>m.value.has(u)}};function qo(){const i=E(!1),a=E(""),l=E(Je.Save),n=E(!1);let s=null;return{safeModeDialogOpen:i,safeModeDialogSql:a,safeModeDialogType:l,isDangerous:n,onRequestSafeModeConfirm:(p,r,w=!1)=>new Promise(y=>{a.value=p,l.value=r,n.value=w,i.value=!0,s=y}),onSafeModeConfirm:()=>{s&&(s(!0),s=null),i.value=!1},onSafeModeCancel:()=>{s&&(s(!1),s=null),i.value=!1}}}const Uo=({tableName:i,connection:a,primaryKeys:l,columns:n,isPersist:s=!0,schemaName:m,workspaceId:v,connectionId:u,initFilters:p,initComposeWith:r})=>{const w=mt(),y=Ha(),f=E(!1),S=E(""),b=Ft({limit:Ct,offset:0}),R=E([]),t=Ft({}),d=E(!1),g=E(rt.AND),O=h(()=>{var H;const I=w.tableAppearanceConfigs.nullOrderPreference,P=(H=a.value)==null?void 0:H.type;return I===Bt.Unset||P!==Ne.POSTGRES&&P!==Ne.ORACLE?"":I===Bt.NullsFirst?"NULLS FIRST":"NULLS LAST"}),M=h(()=>{var P;const I=(P=a.value)==null?void 0:P.type;return I===Ne.MYSQL||I===Ne.MYSQL2||I===Ne.MARIADB?H=>`\`${H}\``:H=>`"${H}"`}),z=h(()=>{const I=M.value;return`${Vt} ${I(m)}.${I(i)}`}),ne=h(()=>{var I;return d.value?yt({columns:n.value,db:((I=a.value)==null?void 0:I.type)||Ne.POSTGRES,filters:R.value,composeWith:g.value}):""}),q=h(()=>{let I="";const P=(t==null?void 0:t.order)||"ASC",H=(t==null?void 0:t.columnName)||l.value[0]||n.value[0],ee=M.value;H&&(I=`ORDER BY ${ee(H)} ${P}`,O.value&&(I=`${I} ${O.value}`));const se=`LIMIT ${b.limit}`,de=`OFFSET ${b.offset}`;return`${Vt} ${ee(m)}.${ee(i)} ${ne.value||""} ${I} ${se} ${de}`}),Y=h(()=>{const I=M.value;return`${Kn} ${I(m)}.${I(i)} ${ne.value||""}`}),ge=(I,P=0,H,ee)=>{y.createLog({tableName:i,schemaName:m,logs:I,queryTime:P,error:H,errorMessage:ee})},{data:_e,status:he,refresh:G}=ye("/api/query/execute",{method:"POST",body:{query:q,...ce(a.value)},watch:!1,immediate:!1,key:i,cache:"default",onResponseError:I=>{var H,ee,se,de;const P=(ee=(H=I.response)==null?void 0:H._data)==null?void 0:ee.data;f.value=!0,S.value=((de=(se=I.response)==null?void 0:se._data)==null?void 0:de.message)||"",ge(q.value,0,P,S.value)},onResponse:({response:I})=>{var P;I.ok&&ge(q.value,(P=I._data)==null?void 0:P.queryTime)}},"$CR5sijiGqB"),{refresh:fe,data:We,status:Ae}=ye("/api/query/execute",{method:"POST",body:{query:Y,...ce(a.value)},watch:!1,immediate:!1,key:`${i}-count`,cache:"default",onResponse:({response:I})=>{var P;I.ok&&ge(Y.value,(P=I._data)==null?void 0:P.queryTime)}},"$2oQhQUxDSL"),x=h(()=>{var I,P,H;return Number(((H=(P=(I=We.value)==null?void 0:I.result)==null?void 0:P[0])==null?void 0:H.count)||0)}),k=h(()=>b.offset+b.limit<x.value),N=h(()=>b.offset>0),A=({limit:I,offset:P})=>{I<=0||P<0||(b.limit=I,b.offset=P,G())},Q=({columnName:I,order:P})=>{t.columnName=I,t.order=P,G()},K=()=>{k&&(b.offset+=b.limit,G())},W=()=>{if(!N)return;const I=b.offset-b.limit;I<0?b.offset=0:b.offset=I,G()},U=I=>{g.value=I,b.offset=0,G(),fe()},be=()=>{b.offset=0,G(),fe()},X=()=>jn.queryBuilderKey((v==null?void 0:v.value)??"",(u==null?void 0:u.value)??"",m,i);Ye([R,b,t,d,g],wa(()=>{if(!s)return;const I=X();localStorage.setItem(I,JSON.stringify({filters:R.value,pagination:{...b},orderBy:{...t},isShowFilters:d.value,composeWith:g.value}))},zn),{deep:!0}),(()=>{if(!s){p&&(R.value=p,d.value=!0),r&&(g.value=r);return}const I=X(),P=localStorage.getItem(I),H=P?JSON.parse(P):null;if(H){const{filters:ee,pagination:se,orderBy:de,isShowFilters:Pe,composeWith:Fe}=H;de&&(t.columnName=de.columnName,t.order=de.order),se&&(b.limit=se.limit,b.offset=se.offset),ee&&(R.value=ee),Fe&&(g.value=Fe),d.value=!!Pe}})();const j=h(()=>he.value==="pending"),Z=h(()=>{var I;return((I=_e.value)==null?void 0:I.result)||[]});return{whereClauses:ne,pagination:b,queryString:q,onUpdatePagination:A,isAllowNextPage:k,isAllowPreviousPage:N,onNextPage:K,onPreviousPage:W,queryCountString:Y,data:Z,isFetchingTableData:j,refreshTableData:G,refreshCount:fe,totalRows:x,onApplyNewFilter:be,baseQueryString:z,openErrorModal:f,onUpdateOrderBy:Q,orderBy:t,errorMessage:S,filters:R,addHistoryLog:ge,isShowFilters:d,onChangeComposeWith:U,composeWith:g}},Qo={class:"grid gap-3"},Ko={class:"grid gap-2"},zo={class:"grid grid-cols-3 items-center gap-4"},jo={class:"grid grid-cols-3 items-center gap-4"},Ho={class:"flex justify-center"},Wo=L({__name:"QuickPagination",props:{limit:{},offset:{},totalRows:{}},emits:["onPaginate"],setup(i,{emit:a}){const l=i,n=a,s=E(0),m=E(0),v=E(!1),u=()=>{s.value=l.limit,m.value=l.offset},p=()=>{if(m.value>l.totalRows){m.value=l.totalRows-1;return}m.value<0&&(m.value=l.offset)},r=()=>{if(s.value>l.totalRows){s.value=l.totalRows;return}s.value<0&&(s.value=l.limit)},w=()=>{p(),r(),n("onPaginate",{limit:s.value,offset:m.value}),v.value=!1};return(y,f)=>(_(),D(e(re),null,{default:c(()=>[o(e(fn),{open:v.value,"onUpdate:open":f[2]||(f[2]=S=>v.value=S)},{default:c(()=>[o(e(vn),{"as-child":""},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(e(me),{onClick:u,variant:"outline",size:"xxs"},{default:c(()=>[$(V(y.limit),1)]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>f[3]||(f[3]=[C("p",null,"Pagination settings",-1)])),_:1})]),_:1}),o(e(yn),{class:"w-64"},{default:c(()=>[C("div",Qo,[f[7]||(f[7]=C("div",{class:"space-y-2"},[C("h4",{class:"font-medium leading-none"},"Pagination"),C("p",{class:"text-sm text-muted-foreground"},"Set limit and offset")],-1)),C("div",Ko,[C("div",zo,[o(e(Lt),{for:"limit"},{default:c(()=>f[4]||(f[4]=[$("Limit")])),_:1}),o(e(tt),{id:"limit",type:"number",modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=S=>s.value=S),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"1",onBlur:r,onKeyup:Xe(w,["enter"])},null,8,["modelValue"])]),C("div",jo,[o(e(Lt),{for:"offset"},{default:c(()=>f[5]||(f[5]=[$("Offset")])),_:1}),o(e(tt),{id:"offset",type:"number",modelValue:m.value,"onUpdate:modelValue":f[1]||(f[1]=S=>m.value=S),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"0",onBlur:p,onKeyup:Xe(w,["enter"])},null,8,["modelValue"])])]),C("div",Ho,[o(e(me),{size:"xs",class:"px-6",onClick:w},{default:c(()=>f[6]||(f[6]=[$("Go")])),_:1})])])]),_:1})]),_:1},8,["open"])]),_:1}))}}),Go=L({__name:"RefreshButton",emits:["onRefresh"],setup(i,{emit:a}){const l=a,n=E(0),s=()=>{n.value+=360,l("onRefresh")};return St([{key:"meta+r",callback:()=>{s()}}],{isPreventDefault:!0}),(m,v)=>(_(),D(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(e(me),{variant:"outline",size:"xxs",onClick:s,"aria-label":"Refresh table"},{default:c(()=>[o(e(te),{name:"hugeicons:refresh",style:ke({transform:`rotate(${n.value}deg)`}),class:"icon-transition"},null,8,["style"]),o(e($t),null,{default:c(()=>v[0]||(v[0]=[$("⌘R")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>v[1]||(v[1]=[C("p",null,"Refresh data",-1)])),_:1})]),_:1}))}}),Yo=Hn(Go,[["__scopeId","data-v-d56d89e4"]]),Jo={key:0,class:"flex items-center gap-1"},Xo={key:0,class:"absolute -right-1.5 -top-1.5 min-w-4 rounded-full bg-green-700 px-1 text-xxs font-medium leading-4 text-white"},Zo={key:4,class:"font-normal text-xs text-primary/60"},es={key:5,class:"font-normal text-sm text-primary"},ts={key:1},ns={key:2,class:"flex items-center gap-2"},as={class:"font-normal text-sm text-primary/80"},os={key:3},ss={class:"flex items-center gap-1"},ls=L({__name:"QuickQueryControlBar",props:{isAllowNextPage:{type:Boolean},isAllowPreviousPage:{type:Boolean},totalRows:{},limit:{},offset:{},currentTotalRows:{},totalSelectedRows:{},hasEditedRows:{type:Boolean},pendingChangesCount:{},tabView:{},isViewVirtualTable:{type:Boolean}},emits:["onRefresh","onPaginate","onNextPage","onPreviousPage","onShowFilter","onSaveData","onAddEmptyRow","onDiscardChanges","onDeleteRows","onToggleHistoryPanel","update:tabView"],setup(i,{emit:a}){const l=mt(),{openSettings:n}=Wn(),s=i,m=a,v=E(),u=h(()=>s.tabView===ve.Data);return h(()=>{var p;return((p=qt.find(r=>r.value===l.tableAppearanceConfigs.nullOrderPreference))==null?void 0:p.label)||"Unset"}),(p,r)=>{const w=$t,y=me,f=un,S=rn,b=ln,R=Gn("auto-animate");return _(),T("div",{ref_key:"quickQueryControlBarRef",ref:v,class:xe(["w-full select-none h-9 flex items-center justify-between"])},[e(u)?lt((_(),T("div",Jo,[o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",onClick:r[0]||(r[0]=t=>m("onShowFilter"))},{default:c(()=>[o(e(te),{name:"lucide:filter"}),o(w,null,{default:c(()=>r[14]||(r[14]=[$("⌘F")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[15]||(r[15]=[C("p",null,"Filter data",-1)])),_:1})]),_:1}),o(Yo,{onOnRefresh:r[1]||(r[1]=t=>m("onRefresh"))}),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",onClick:r[2]||(r[2]=t=>m("onToggleHistoryPanel"))},{default:c(()=>[o(e(te),{name:"lucide:terminal"}),o(w,null,{default:c(()=>r[16]||(r[16]=[$("⌘j")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[17]||(r[17]=[C("p",null,"History logs",-1)])),_:1})]),_:1}),p.isViewVirtualTable?B("",!0):(_(),D(e(re),{key:0},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",class:"font-normal",size:"xxs",onClick:r[3]||(r[3]=t=>m("onAddEmptyRow"))},{default:c(()=>[o(e(te),{name:"hugeicons:plus-sign"}),r[18]||(r[18]=$(" Row "))]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[19]||(r[19]=[C("p",null,"Add new record",-1)])),_:1})]),_:1})),p.hasEditedRows&&!p.isViewVirtualTable?(_(),D(e(re),{key:1},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",class:"relative overflow-visible",onClick:r[4]||(r[4]=t=>m("onSaveData"))},{default:c(()=>[o(e(te),{name:"lucide:save"}),p.pendingChangesCount?(_(),T("span",Xo,V(p.pendingChangesCount),1)):B("",!0),o(w,null,{default:c(()=>r[20]||(r[20]=[$("⌘S")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[21]||(r[21]=[C("p",null,"Save changes",-1)])),_:1})]),_:1})):B("",!0),p.hasEditedRows&&!p.isViewVirtualTable?(_(),D(e(re),{key:2},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",class:"font-normal",onClick:r[5]||(r[5]=t=>m("onDiscardChanges"))},{default:c(()=>[o(e(te),{name:"hugeicons:undo-02"}),r[22]||(r[22]=$(" Discard "))]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[23]||(r[23]=[C("p",null,"Discard changes",-1)])),_:1})]),_:1})):B("",!0),p.totalSelectedRows&&!p.isViewVirtualTable?(_(),D(e(re),{key:3},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"xxs",onClick:r[6]||(r[6]=t=>m("onDeleteRows"))},{default:c(()=>[o(e(te),{name:"lucide:trash"}),o(w,null,{default:c(()=>r[24]||(r[24]=[$("⌥⌘⌫")])),_:1})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>[C("p",null,"Delete "+V(p.totalSelectedRows)+" selected rows",1)]),_:1})]),_:1})):B("",!0),p.totalSelectedRows?(_(),T("p",Zo," Selected ")):B("",!0),p.totalSelectedRows?(_(),T("p",es,V(p.totalSelectedRows),1)):B("",!0)])),[[R]]):(_(),T("div",ts)),e(u)?(_(),T("div",ns,[o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"iconSm",disabled:!p.isAllowPreviousPage,onClick:r[7]||(r[7]=t=>m("onPreviousPage"))},{default:c(()=>[o(e(te),{name:"lucide:chevron-left"})]),_:1},8,["disabled"])]),_:1}),o(e(ue),null,{default:c(()=>r[25]||(r[25]=[C("p",null,"Previous page",-1)])),_:1})]),_:1}),C("div",as,[$(V(p.offset+1)+"-"+V(p.offset+p.currentTotalRows)+" ",1),r[26]||(r[26]=C("p",{class:"font-normal text-xs text-primary/60 inline"},"of",-1)),$(" "+V(p.totalRows)+" ",1),r[27]||(r[27]=C("p",{class:"font-normal text-xs text-primary/60 inline"},"rows",-1))]),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"outline",size:"iconSm",disabled:!p.isAllowNextPage,onClick:r[8]||(r[8]=t=>m("onNextPage"))},{default:c(()=>[o(e(te),{name:"lucide:chevron-right"})]),_:1},8,["disabled"])]),_:1}),o(e(ue),null,{default:c(()=>r[28]||(r[28]=[C("p",null,"Next page",-1)])),_:1})]),_:1}),o(Wo,{limit:p.limit,offset:p.offset,totalRows:p.totalRows,onOnPaginate:r[9]||(r[9]=t=>m("onPaginate",t))},null,8,["limit","offset","totalRows"])])):(_(),T("div",os)),C("div",ss,[o(b,{"model-value":p.tabView,"onUpdate:modelValue":r[10]||(r[10]=t=>p.$emit("update:tabView",t))},{default:c(()=>[o(S,{size:"xxs",class:"grid w-full grid-cols-3"},{default:c(()=>[o(f,{size:"xxs",value:e(ve).Data,class:"font-medium cursor-pointer text-primary/80"},{default:c(()=>r[29]||(r[29]=[$(" Data ")])),_:1},8,["value"]),o(f,{size:"xxs",value:e(ve).Structure,class:"font-medium cursor-pointer text-primary/80"},{default:c(()=>r[30]||(r[30]=[$(" Structure ")])),_:1},8,["value"]),o(f,{size:"xxs",value:e(ve).Erd,class:"font-medium cursor-pointer text-primary/80",disabled:p.isViewVirtualTable},{default:c(()=>r[31]||(r[31]=[$(" ERD ")])),_:1},8,["value","disabled"])]),_:1})]),_:1},8,["model-value"]),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"ghost",size:"iconSm",onClick:r[11]||(r[11]=t=>e(n)("Quick Query"))},{default:c(()=>[e(l).quickQuerySafeModeEnabled?(_(),D(e(te),{key:0,name:"hugeicons:security-check",class:"size-4!"})):(_(),D(e(te),{key:1,name:"lucide:shield-minus",class:"size-4! text-muted-foreground"}))]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>[C("p",null," Safe Mode: "+V(e(l).quickQuerySafeModeEnabled?"Enabled":"Disabled"),1),r[32]||(r[32]=C("p",{class:"text-xs text-muted-foreground"},"Click to configure",-1))]),_:1})]),_:1}),o(e(Ea),null,{default:c(()=>[o(e(Aa),{"as-child":""},{default:c(()=>[o(y,{variant:"ghost",size:"xxs"},{default:c(()=>[o(e(te),{name:"hugeicons:arrow-up-down",class:"size-4!"})]),_:1})]),_:1}),o(e(Pa),{align:"end",class:"min-w-44"},{default:c(()=>[o(e(Na),{class:"py-0"},{default:c(()=>r[33]||(r[33]=[$("Null ordering")])),_:1}),o(e(xa)),o(e(po),{"model-value":e(l).tableAppearanceConfigs.nullOrderPreference,"onUpdate:modelValue":r[12]||(r[12]=t=>e(l).tableAppearanceConfigs.nullOrderPreference=t)},{default:c(()=>[(_(!0),T(pe,null,Te(e(qt),t=>(_(),D(e(fo),{key:t.value,value:t.value,class:"h-7 cursor-pointer"},{default:c(()=>[$(V(t.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value"])]),_:1})]),_:1}),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(y,{variant:"ghost",size:"iconSm",onClick:r[13]||(r[13]=t=>e(n)("Appearance"))},{default:c(()=>[o(e(te),{name:"hugeicons:settings-04",class:"size-4!"})]),_:1})]),_:1}),o(e(ue),null,{default:c(()=>r[34]||(r[34]=[C("p",null,"Table appearance settings",-1)])),_:1})]),_:1})])],512)}}}),rs={class:"sticky top-0 z-10 bg-popover"},is={class:"p-1"},us={key:3,class:"px-2 py-1 text-sm text-muted-foreground"},cs=L({__name:"ColumnSelector",props:{columns:{},value:{}},emits:["update:value","update:open"],setup(i,{emit:a}){const l=i,n=a,s=E(""),m=h(()=>s.value.trim().toLowerCase()),v=h(()=>new Ut(l.columns,{threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),u=h(()=>new Ut(Qt,{keys:["label","value"],threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),p=h(()=>{const y=m.value;return y?v.value.search(y).map(f=>f.item):l.columns}),r=h(()=>{const y=m.value;return y?u.value.search(y).map(f=>f.item):Qt}),w=y=>{n("update:open",y),y||(s.value="")};return(y,f)=>{const S=xt,b=Nt,R=tt,t=cn,d=kt,g=It,O=Tt,M=Rt;return _(),D(M,{size:"xxs","model-value":y.value,"onUpdate:modelValue":f[4]||(f[4]=z=>n("update:value",z)),"onUpdate:open":w},{default:c(()=>[o(b,{class:"w-36 min-w-36 cursor-pointer"},{default:c(()=>[o(S,{placeholder:"Select field"})]),_:1}),o(O,null,{default:c(()=>[o(g,null,{default:c(()=>[C("div",rs,[C("div",is,[o(R,{"model-value":e(s),"onUpdate:modelValue":f[0]||(f[0]=z=>Ge(s)?s.value=z:null),type:"text",placeholder:"Search fields",class:"h-7 text-sm",autocomplete:"off",onClick:f[1]||(f[1]=Le(()=>{},["stop"])),onMousedown:f[2]||(f[2]=Le(()=>{},["stop"])),onKeydown:f[3]||(f[3]=Le(()=>{},["stop"]))},null,8,["model-value"])]),o(t)]),e(p).length?(_(!0),T(pe,{key:0},Te(e(p),z=>(_(),D(d,{key:z,class:"cursor-pointer",value:z},{default:c(()=>[$(V(z),1)]),_:2},1032,["value"]))),128)):B("",!0),e(p).length&&e(r).length?(_(),D(t,{key:1})):B("",!0),e(r).length?(_(!0),T(pe,{key:2},Te(e(r),z=>(_(),D(d,{key:z.value,class:"cursor-pointer",value:z.value},{default:c(()=>[$(V(z.label),1)]),_:2},1032,["value"]))),128)):B("",!0),!e(p).length&&!e(r).length?(_(),T("div",us," No fields found ")):B("",!0)]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),ds=L({__name:"OperatorSelector",props:{dbType:{},value:{}},emits:["update:value","update:open"],setup(i){const a=i,l=h(()=>Kt[a.dbType]??Kt[Ne.MYSQL]??[]);return(n,s)=>{const m=xt,v=Nt,u=kt,p=It,r=Tt,w=Rt;return _(),D(w,{size:"xxs","model-value":n.value,"onUpdate:modelValue":s[0]||(s[0]=y=>n.$emit("update:value",y)),"onUpdate:open":s[1]||(s[1]=y=>n.$emit("update:open",y))},{default:c(()=>[o(v,{class:"w-36 min-w-36 cursor-pointer"},{default:c(()=>[o(m,{placeholder:"Select operator"})]),_:1}),o(r,null,{default:c(()=>[o(p,null,{default:c(()=>[(_(!0),T(pe,null,Te(e(l),y=>(_(),T(pe,null,[y.value===e(Yn).value?(_(),D(e(cn),{key:0})):(_(),D(u,{key:1,class:"cursor-pointer",value:y.value},{default:c(()=>[$(V(y.label),1)]),_:2},1032,["value"]))],64))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),ms={class:"text-xs font-medium"},ps={class:"text-xs font-medium"},fs=L({__name:"ViewParserFilterApply",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function}},setup(i){const a=i,l=E(""),n=E(""),s=()=>{l.value=Wt(a.getParserApplyFilter(),{language:"postgresql",keywordCase:"upper"}),n.value=Wt(a.getParserAllFilter(),{language:"postgresql",keywordCase:"upper"})};return(m,v)=>(_(),D(e(re),null,{default:c(()=>[o(e(fn),null,{default:c(()=>[o(e(vn),{"as-child":""},{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(e(me),{onClick:s,size:"xxs",variant:"outline"},{default:c(()=>v[0]||(v[0]=[$(" SQL ")])),_:1})]),_:1}),o(e(ue),null,{default:c(()=>v[1]||(v[1]=[C("p",null,"View SQL query",-1)])),_:1})]),_:1}),o(e(yn),{class:"w-[40rem] p-2 space-y-2","restore-focus":!0},{default:c(()=>[C("div",ms,[v[2]||(v[2]=$(" Curren filter ")),o(e(gt),{code:e(l),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])]),C("div",ps,[v[3]||(v[3]=$(" Apply all filter ")),o(e(gt),{code:e(n),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])])]),_:1})]),_:1})]),_:1}))}}),vs={class:"flex justify-between"},ys={class:"flex items-center gap-0.5 text-xs"},gs={class:"text-xs flex items-center gap-2"},_s=L({__name:"QuickQueryFilterGuide",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function},composeWith:{}},emits:["onChangeComposeWith"],setup(i,{emit:a}){const l=a;return(n,s)=>{const m=xt,v=Nt,u=kt,p=It,r=Tt,w=Rt,y=$t;return _(),T("div",vs,[C("div",ys,[s[3]||(s[3]=$(" Compose with: ")),o(w,{size:"xxs",modelValue:n.composeWith,"onUpdate:modelValue":s[0]||(s[0]=f=>l("onChangeComposeWith",f))},{default:c(()=>[o(v,{class:"text-xs cursor-pointer px-1 border-none gap-1 shadow-none"},{default:c(()=>[o(m,{placeholder:"Select operator"})]),_:1}),o(r,null,{default:c(()=>[o(p,null,{default:c(()=>[o(u,{class:"h-5 text-xs cursor-pointer",value:e(rt).AND},{default:c(()=>s[1]||(s[1]=[$(" AND ")])),_:1},8,["value"]),o(u,{class:"h-5 text-xs cursor-pointer",value:e(rt).OR},{default:c(()=>s[2]||(s[2]=[$(" OR ")])),_:1},8,["value"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),C("div",gs,[C("div",null,[o(y,null,{default:c(()=>s[4]||(s[4]=[$("⌘F")])),_:1}),s[5]||(s[5]=$(": Show"))]),C("div",null,[o(y,null,{default:c(()=>s[6]||(s[6]=[$("Esc")])),_:1}),s[7]||(s[7]=$(": Exit"))]),o(e(Jn),{orientation:"vertical",class:"h-3/4!"}),C("div",null,[o(y,null,{default:c(()=>s[8]||(s[8]=[$("⌘I")])),_:1}),s[9]||(s[9]=$(": Insert"))]),C("div",null,[o(y,null,{default:c(()=>s[10]||(s[10]=[$("⌘⌫")])),_:1}),s[11]||(s[11]=$(": Delete"))]),C("div",null,[o(y,null,{default:c(()=>s[12]||(s[12]=[$("⌘↵")])),_:1}),s[13]||(s[13]=$(": Apply all"))])]),C("div",null,[o(fs,{getParserApplyFilter:n.getParserApplyFilter,getParserAllFilter:n.getParserAllFilter},null,8,["getParserApplyFilter","getParserAllFilter"])])])}}}),hs=L({__name:"QuickQueryFilter",props:zt({columns:{},dbType:{},baseQuery:{},initFilters:{},composeWith:{}},{isShowFilters:{},isShowFiltersModifiers:{}}),emits:zt(["onSearch","onUpdateFilters","onChangeComposeWith"],["update:isShowFilters"]),setup(i,{expose:a,emit:l}){const n=i,s=Xn(i,"isShowFilters"),m=l,v=E(),u=Zn("filterSearchRefs"),p=h(()=>n.initFilters||[]),r=()=>p.value.map(x=>({...x})),w=x=>{m("onUpdateFilters",x)},y=(x,k)=>{const N=r(),A=N[x];A&&(N[x]={...A,...k},w(N))},f=(x,k)=>{const N=r();N.splice(x,0,{...k}),w(N)},S=()=>n.dbType===Ne.POSTGRES?et.ILIKE_CONTAINS:et.LIKE_CONTAINS,b=x=>{const k=r();k.splice(x,1),w(k)},R=x=>{f(x+1,{isSelect:!0,fieldName:pt.AnyField,operator:S()})},t=(x,k)=>{var K;const N=(K=p.value)==null?void 0:K[x],A=(N==null?void 0:N.fieldName)===pt.RawQuery,Q=!(N!=null&&N.operator);A&&Q?y(x,{...N,fieldName:k,operator:S()}):y(x,{...N,fieldName:k})},d=()=>`${n.baseQuery} ${yt({columns:n.columns,db:n.dbType,filters:p.value,composeWith:n.composeWith})};`,g=()=>`${n.baseQuery} ${yt({columns:n.columns,db:n.dbType,filters:p.value.map(x=>({...x,isSelect:!0})),composeWith:n.composeWith})};`,O=(x=!1)=>{if(x){m("onSearch");return}m("onSearch")},M=x=>{var N;const k=(N=p.value)==null?void 0:N[x];k!=null&&k.isSelect||y(x,{...k,isSelect:!0}),O()},z=()=>{w(p.value.map(x=>({...x,isSelect:!0}))),O()},ne=async x=>{var A;const k=(A=p.value)==null?void 0:A[x],N=!!(k!=null&&k.isSelect);b(x),await Ze(),x!==0&&await fe(x-1),N&&O()},q=x=>x==null?"":String(x),Y=(x,k)=>{y(x,{search:k})},ge=async(x,k)=>{y(x,{isSelect:k}),await O()},_e=x=>{var N;const k=(N=u.value)==null?void 0:N[x];if(!k)return null;if(k.el instanceof HTMLInputElement)return k.el;if(k.$el instanceof HTMLInputElement)return k.$el;if(k.$el instanceof HTMLElement){const A=k.$el.querySelector("input");if(A instanceof HTMLInputElement)return A}return null},he=x=>{if(typeof window<"u"&&typeof window.requestAnimationFrame=="function"){window.requestAnimationFrame(()=>x());return}x()},G=(x,k=2)=>{const N=_e(x);if(!N){k>0&&he(()=>G(x,k-1));return}N.focus(),typeof document<"u"&&document.activeElement!==N&&k>0&&he(()=>G(x,k-1))},fe=async x=>{x<0||(await Ze(),he(()=>G(x)))},We=async()=>{const x=!p.value.length;p.value.length||R(-1),s.value=!0;const k=x?0:p.value.length-1;await fe(k)},Ae=()=>u.value?u.value.findIndex((k,N)=>_e(N)===document.activeElement):void 0;return St([{key:"meta+backspace",callback:async()=>{const x=Ae();x===void 0||x<0||await ne(x)}},{key:"meta+enter",callback:()=>{const x=Ae();x!==void 0&&x>=0&&z()}},{key:"meta+i",callback:async()=>{const x=Ae();x===void 0||x<0||(R(x),await fe(x+1))}},{key:"escape",callback:()=>{s.value=!1,O(!0)}}],{target:v}),a({onShowSearch:We,insert:f}),(x,k)=>{const N=Va,A=tt,Q=me;return s.value?(_(),T("div",{key:0,ref_key:"quickQueryFilterRef",ref:v,class:xe(["h-fit space-y-1",e(p).length&&"pb-2"])},[(_(!0),T(pe,null,Te(e(p),(K,W)=>(_(),T("div",{class:"flex gap-1 items-center",key:W},[o(N,{"model-value":K.isSelect,onClick:k[0]||(k[0]=Le(()=>{},["stop"])),onKeydown:k[1]||(k[1]=Xe(Le(()=>{},["stop","prevent"]),["enter"])),onKeyup:k[2]||(k[2]=Xe(Le(()=>{},["stop"]),["enter"])),"onUpdate:modelValue":U=>ge(W,!!U)},null,8,["model-value","onUpdate:modelValue"]),o(cs,{columns:x.columns,value:K.fieldName,"onUpdate:value":U=>{t(W,U)},"onUpdate:open":U=>{U||fe(W)}},null,8,["columns","value","onUpdate:value","onUpdate:open"]),K.fieldName!==e(pt).RawQuery?(_(),D(ds,{key:0,"db-type":x.dbType,value:K.operator,"onUpdate:value":U=>y(W,{operator:U==null?void 0:String(U)}),"onUpdate:open":U=>{U||fe(W)}},null,8,["db-type","value","onUpdate:value","onUpdate:open"])):B("",!0),o(A,{"model-value":q(K.search),type:"text",placeholder:e(ea)(K.operator||""),class:"w-full h-6 px-2",ref_for:!0,ref_key:"filterSearchRefs",ref:u,onKeyup:k[3]||(k[3]=Xe(Le(()=>O(),["stop"]),["enter"])),"onUpdate:modelValue":U=>Y(W,String(U))},null,8,["model-value","placeholder","onUpdate:modelValue"]),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(Q,{size:"xxs",variant:"outline",onClick:U=>M(W)},{default:c(()=>k[5]||(k[5]=[$(" Apply ")])),_:2},1032,["onClick"])]),_:2},1024),o(e(ue),null,{default:c(()=>k[6]||(k[6]=[C("p",null,"Apply this filter",-1)])),_:1})]),_:2},1024),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(Q,{size:"iconSm",variant:"outline",onClick:U=>ne(W)},{default:c(()=>[o(e(te),{name:"hugeicons:minus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(ue),null,{default:c(()=>k[7]||(k[7]=[C("p",null,"Remove filter (Meta+Backspace)",-1)])),_:1})]),_:2},1024),o(e(re),null,{default:c(()=>[o(e(ie),{"as-child":""},{default:c(()=>[o(Q,{size:"iconSm",variant:"outline",onClick:()=>R(W)},{default:c(()=>[o(e(te),{name:"hugeicons:plus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(ue),null,{default:c(()=>k[8]||(k[8]=[C("p",null,"Add new filter (Meta+I)",-1)])),_:1})]),_:2},1024)]))),128)),e(p).length?(_(),D(_s,{key:0,getParserApplyFilter:d,getParserAllFilter:g,"compose-with":x.composeWith,onOnChangeComposeWith:k[4]||(k[4]=K=>m("onChangeComposeWith",K))},null,8,["compose-with"])):B("",!0)],2)):B("",!0)}}}),bs=L({__name:"QuickQueryContextMenu",props:{totalSelectedRows:{},hasEditedRows:{type:Boolean},isReferencedTable:{type:Boolean},cellContextMenu:{},cellHeaderContextMenu:{},data:{},selectedRows:{},tableName:{},schemaName:{}},emits:["onRefresh","onSaveData","onAddEmptyRow","onDeleteRows","onCopyRows","onPasteRows","onCopySelectedCell","onFilterByValue","onClearContextMenu"],setup(i,{emit:a}){const l=mt(),n=i,s=a,m=h(()=>{var t,d,g,O;return((d=(t=n.cellContextMenu)==null?void 0:t.column)==null?void 0:d.getColId())??((O=(g=n.cellHeaderContextMenu)==null?void 0:g.column)==null?void 0:O.getColId())}),v=h(()=>{var t,d,g;return((t=n.cellContextMenu)==null?void 0:t.column.getColDef().headerName)??((g=(d=n.cellHeaderContextMenu)==null?void 0:d.column)==null?void 0:g.getColDef().headerName)??""}),u=t=>{Gt(n.selectedRows||[],v.value??"",t)},p=t=>{Gt(n.data||[],v.value??"",t)},r=t=>vt(n.selectedRows||[],n.tableName||"table_data",t,n.schemaName),w=t=>vt(n.data||[],n.tableName||"table_data",t,n.schemaName),y=t=>Yt(n.selectedRows||[],n.tableName||"table_data",t,"selected",n.schemaName),f=t=>Yt(n.data||[],n.tableName||"table_data",t,"all",n.schemaName),S=()=>{var d;const t=(d=n.cellContextMenu)==null?void 0:d.value;if(t!==void 0){if(typeof t=="object")return Jt(JSON.stringify(t));Jt(String(t))}},b=()=>{var t;if(n.cellContextMenu){const d=(t=n.cellContextMenu)==null?void 0:t.data;vt([d],n.tableName||"table_data","csv-no-header",n.schemaName)}},R=h(()=>{var Y;const t=!!n.cellContextMenu,d=n.selectedRows.length>0,g=n.selectedRows.length,O=((Y=n.data)==null?void 0:Y.length)||0,M=!!m.value,z=[{type:F.LABEL,title:`${g} selected`,condition:d&&t},{type:F.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>u("list"),condition:d&&t},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>u("json"),condition:d&&t},{type:F.SEPARATOR,condition:d&&t},{type:F.LABEL,title:"All data in column"},{type:F.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>p("list")},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>p("json")}],ne=[{type:F.LABEL,title:`${g} selected row(s)`,condition:d},{type:F.ACTION,title:"Copy as text (TSV)",icon:"hugeicons:file-01",select:()=>r("csv-no-header"),condition:d},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>r("json"),condition:d},{type:F.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>r("sql"),condition:d},{type:F.SEPARATOR,condition:d},{type:F.LABEL,title:"All rows"},{type:F.ACTION,title:"Copy as text (TSV)",icon:"hugeicons:file-01",select:()=>w("csv-no-header")},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>w("json")},{type:F.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>w("sql")}],q=[{type:F.LABEL,title:`${g} selected row${g>1?"s":""}`,condition:d},{type:F.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>y("csv-no-header"),condition:d},{type:F.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>y("csv-with-header"),condition:d},{type:F.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>y("json"),condition:d},{type:F.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>y("sql"),condition:d},{type:F.SEPARATOR,condition:d},{type:F.LABEL,title:`All ${O.toLocaleString()} row${O!==1?"s":""}`},{type:F.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>f("csv-no-header")},{type:F.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>f("csv-with-header")},{type:F.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>f("json")},{type:F.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>f("sql")}];return[{title:"View row detail",icon:"hugeicons:view",type:F.ACTION,select:()=>{l.onShowSecondSidebar()},condition:!n.isReferencedTable&&!!n.cellContextMenu},{title:"Filter by value",icon:"lucide:filter",type:F.ACTION,shortcut:"⌘F",select:()=>{s("onFilterByValue")},condition:!!n.cellContextMenu},{title:"Refresh",icon:"hugeicons:refresh",type:F.ACTION,shortcut:"⌘R",select:()=>{s("onRefresh")}},{type:F.SEPARATOR},{type:F.ACTION,title:"Copy current cell",icon:"hugeicons:copy-02",select:S,condition:t},{type:F.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:b,condition:d&&t},{type:F.SEPARATOR,condition:t},{type:F.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:z,condition:M,desc:v.value||"Select a column"},{type:F.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:ne},{type:F.SEPARATOR},{type:F.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:q}]});return(t,d)=>{const g=La;return _(),D(g,{contextMenuItems:e(R),onOnClearContextMenu:d[0]||(d[0]=O=>s("onClearContextMenu"))},{default:c(()=>[Ce(t.$slots,"default")]),_:3},8,["contextMenuItems"])}}}),ws=L({__name:"QuickQueryTable",props:{data:{},defaultPageSize:{},orderBy:{},foreignKeys:{},foreignKeyColumns:{},primaryKeyColumns:{},columnTypes:{},offset:{},class:{},isHaveRelationByFieldName:{type:Function},selectedColumnFieldId:{},currentTableName:{},currentSchemaName:{},selectedRows:{},isViewOnly:{type:Boolean}},emits:["onClickOutSide","update:orderBy","onSelectedRows","onOpenBackReferencedTableModal","onFocusCell","onOpenForwardReferencedTableModal"],setup(i,{expose:a,emit:l}){const n=i,s=l,m=E(),v=h(()=>{var g;return((g=m.value)==null?void 0:g.gridApi)??null}),u=h(()=>So(n.data,n.offset)),{editedCells:p,isJSONColumn:r,onCellValueChanged:w}=xo({data:oe(n,"data"),columnTypes:oe(n,"columnTypes")}),{columnDefs:y}=No({columnTypes:oe(n,"columnTypes"),primaryKeyColumns:oe(n,"primaryKeyColumns"),foreignKeyColumns:oe(n,"foreignKeyColumns"),foreignKeys:oe(n,"foreignKeys"),orderBy:oe(n,"orderBy"),isViewOnly:oe(n,"isViewOnly"),currentTableName:oe(n,"currentTableName"),currentSchemaName:oe(n,"currentSchemaName"),isHaveRelationByFieldName:n.isHaveRelationByFieldName,onUpdateOrderBy:g=>s("update:orderBy",g),onOpenBackReferencedTableModal:g=>s("onOpenBackReferencedTableModal",g),onOpenForwardReferencedTableModal:g=>s("onOpenForwardReferencedTableModal",g)}),{gridOptions:f}=Mo({defaultPageSize:n.defaultPageSize,data:oe(n,"data"),selectedColumnFieldId:oe(n,"selectedColumnFieldId"),isJSONColumn:r,gridApi:v}),{onRowDataUpdated:S}=Eo({gridApi:v,data:oe(n,"data"),primaryKeyColumns:oe(n,"primaryKeyColumns"),foreignKeyColumns:oe(n,"foreignKeyColumns"),selectedColumnFieldId:oe(n,"selectedColumnFieldId")}),b=h(()=>{var g;return(g=m.value)==null?void 0:g.cellContextMenu}),R=h(()=>{var g;return(g=m.value)==null?void 0:g.cellHeaderContextMenu}),t=()=>{var g;(g=m.value)==null||g.clearCellContextMenu()},d=g=>{s("onFocusCell",void 0),s("onClickOutSide",g)};return a({gridApi:v,editedCells:p,columnDefs:y,cellContextMenu:b,cellHeaderContextMenu:R,clearCellContextMenu:t}),(g,O)=>(_(),D($e,{ref_key:"baseGridRef",ref:m,class:xe(n.class),"column-defs":e(y),"row-data":e(u),"grid-options":e(f),"selected-rows":n.selectedRows,"allow-editing":!n.isViewOnly,"enable-simple-copy-context-menu":!1,"enable-click-outside":"",onSelectionChanged:O[0]||(O[0]=M=>s("onSelectedRows",M)),onCellFocused:O[1]||(O[1]=M=>s("onFocusCell",M)),onCellValueChanged:e(w),onRowDataUpdated:e(S),onClickOutside:d},null,8,["class","column-defs","row-data","grid-options","selected-rows","allow-editing","onCellValueChanged","onRowDataUpdated"]))}}),Ee=320,en=34,Cs=24,He=i=>i<=0?en:Math.min(Ee,en+i*Cs),Ss={class:"relative"},Rs={key:0,class:"p-2"},Ns={key:2,class:"flex items-center justify-center py-6"},xs=L({__name:"IndexesTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["index_name","method","is_unique","is_primary","definition"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(t=>t.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/indexes",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`indexes-${s.value}`,getCachedData:()=>{const t=n.indexesMap[s.value];return t!=null&&t.length?t:void 0},onResponse({response:t}){t._data&&(n.indexesMap[s.value]=t._data)},onResponseError({response:t}){var d;m.value=((d=t._data)==null?void 0:d.message)||"Failed to load indexes"}},"$NyxkuxC1vx"),w=h(()=>(p.value||[]).map(t=>({index_name:t.indexName,method:t.method,is_unique:t.isUnique,is_primary:t.isPrimary,definition:t.definition}))),y=h(()=>w.value.length>0?ze(w.value):je(l)),f=h(()=>Ue({columns:y.value,rows:w.value,columnKeyBy:"field"})),S=h(()=>Qe(w.value)),b=h(()=>`${He(w.value.length)}px`),R=()=>{m.value=null,Oe(`indexes-${s.value}`)};return(t,d)=>{const g=Re,O=$e,M=qe;return _(),T("div",Ss,[o(g,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",Rs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:R},{default:c(()=>d[0]||(d[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(w).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(b)})},[o(O,{"column-defs":e(f),"row-data":e(S),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",Ns,[o(M,{title:"No Indexes",desc:"This table has no indexes."})])):B("",!0)])}}}),Ts={class:"relative"},Is={key:0,class:"p-2"},ks={key:1,class:"flex items-center justify-center py-3"},$s=L({__name:"RlsTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["policy_name","permissive","command","roles","using_expression","with_check_expression"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(d=>d.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/rls",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`rls-${s.value}`,getCachedData:()=>{const d=n.rlsMap[s.value];if(d!=null&&d.length)return{enabled:!0,policies:d}},onResponse({response:d}){var g;(g=d._data)!=null&&g.policies&&(n.rlsMap[s.value]=d._data.policies)},onResponseError({response:d}){var g;m.value=((g=d._data)==null?void 0:g.message)||"Failed to load RLS policies"}},"$EinB8Z7zho"),w=d=>{if(Array.isArray(d))return d.map(M=>String(M));if(typeof d!="string")return[];const g=d.trim();if(!g)return[];const O=g.startsWith("{")&&g.endsWith("}")?g.slice(1,-1):g;return O?O.split(",").map(M=>M.trim().replace(/^"|"$/g,"")).filter(Boolean):[]},y=h(()=>{var d;return(((d=p.value)==null?void 0:d.policies)||[]).map(g=>({policy_name:g.policyName,permissive:g.permissive,command:g.command,roles:w(g.roles).join(", ")||"—",using_expression:g.usingExpression||"—",with_check_expression:g.withCheckExpression||"—"}))}),f=h(()=>y.value.length>0?ze(y.value):je(l)),S=h(()=>Ue({columns:f.value,rows:y.value,columnKeyBy:"field"})),b=h(()=>Qe(y.value)),R=h(()=>`${He(y.value.length)}px`),t=()=>{m.value=null,Oe(`rls-${s.value}`)};return(d,g)=>{const O=Re,M=$e,z=qe;return _(),T("div",Ts,[o(O,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",Is,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:t},{default:c(()=>g[0]||(g[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(p)?(_(),T(pe,{key:1},[e(y).length?(_(),T("div",{key:0,style:ke({maxHeight:`${e(Ee)}px`,height:e(R)})},[o(M,{"column-defs":e(S),"row-data":e(b),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",ks,[o(z,{title:"No Policies",desc:"No RLS policies are defined for this table."})])):B("",!0)],64)):B("",!0)])}}}),Os={class:"relative"},Ds={key:0,class:"p-2"},Ms={key:2,class:"flex items-center justify-center py-3"},Es=L({__name:"RulesTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["rule_name","event","action_type","definition"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(t=>t.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/rules",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`rules-${s.value}`,getCachedData:()=>{const t=n.rulesMap[s.value];return t!=null&&t.length?t:void 0},onResponse({response:t}){t._data&&(n.rulesMap[s.value]=t._data)},onResponseError({response:t}){var d;m.value=((d=t._data)==null?void 0:d.message)||"Failed to load rules"}},"$u5D1mSLK0A"),w=h(()=>(p.value||[]).map(t=>({rule_name:t.ruleName,event:t.event,action_type:t.actionType,definition:t.definition}))),y=h(()=>w.value.length>0?ze(w.value):je(l)),f=h(()=>Ue({columns:y.value,rows:w.value,columnKeyBy:"field"})),S=h(()=>Qe(w.value)),b=h(()=>`${He(w.value.length)}px`),R=()=>{m.value=null,Oe(`rules-${s.value}`)};return(t,d)=>{const g=Re,O=$e,M=qe;return _(),T("div",Os,[o(g,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",Ds,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:R},{default:c(()=>d[0]||(d[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(w).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(b)})},[o(O,{"column-defs":e(f),"row-data":e(S),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",Ms,[o(M,{title:"No Rules",desc:"This table has no rewrite rules."})])):B("",!0)])}}}),As={class:"rounded-md border p-2.5"},Ps={key:0,class:"p-2"},Fs={key:1,class:"space-y-1.5"},Bs={class:"flex items-center gap-1 flex-wrap"},Vs={class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},Ls={class:"text-[11px] font-mono leading-none text-foreground"},qs={class:"flex flex-wrap gap-1"},Us={class:"text-xxs text-muted-foreground"},Qs=L({__name:"TableMetaInfo",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l={table:"Table",partitioned:"Partitioned Table",foreign:"Foreign Table"},n=E(null),s=h(()=>`${a.schema}.${a.tableName}`),m=Se(),v=h(()=>a.connectionId?m.connections.find(f=>f.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/tables/meta",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,tableName:a.tableName})),key:`table-meta-${s.value}`,onResponseError({response:f}){var S;n.value=((S=f._data)==null?void 0:S.message)||"Failed to load table metadata"}},"$AYAykbrhiy"),r=h(()=>{var S;const f=(S=u.value)==null?void 0:S.type;return f?l[f]??f:"Unknown"}),w=h(()=>{var f,S,b,R,t;return[{label:"Rows",value:((S=(f=u.value)==null?void 0:f.rowEstimate)==null?void 0:S.toLocaleString())??"—",mono:!0},{label:"Total",value:((b=u.value)==null?void 0:b.totalSize)||"—"},{label:"Table",value:((R=u.value)==null?void 0:R.tableSize)||"—"},{label:"Index",value:((t=u.value)==null?void 0:t.indexSize)||"—"}]}),y=()=>{n.value=null,Oe(`table-meta-${s.value}`)};return(f,S)=>{const b=Re;return _(),T("div",As,[o(b,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(_(),T("div",Ps,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(n)),1),o(e(me),{variant:"outline",size:"xs",onClick:y},{default:c(()=>S[0]||(S[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(u)?(_(),T("div",Fs,[C("div",Bs,[o(e(it),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(r)),1)]),_:1}),C("span",Vs,[S[1]||(S[1]=C("span",{class:"text-xxs text-muted-foreground"}," Owner ",-1)),C("span",Ls,V(e(u).owner||"—"),1)])]),C("div",qs,[(_(!0),T(pe,null,Te(e(w),R=>(_(),T("div",{key:R.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[C("span",Us,V(R.label),1),C("span",{class:xe(["text-[11px] leading-none text-foreground",R.mono?"font-mono":"font-medium"])},V(R.value),3)]))),128))])])):B("",!0)])}}}),Ks={class:"relative"},zs={key:0,class:"p-2"},js={key:2,class:"flex items-center justify-center py-3"},Hs=L({__name:"TriggersTab",props:{schema:{},tableName:{},connectionId:{}},setup(i){const a=i,l=["trigger_name","enabled","timing","events","orientation","definition"],n=Ie(),s=h(()=>`${a.schema}.${a.tableName}`),m=E(null),v=Se(),u=h(()=>a.connectionId?v.connections.find(t=>t.id===a.connectionId):v.selectedConnection),{data:p,status:r}=ye("/api/tables/triggers",{method:"POST",body:h(()=>({...ce(u.value),schema:a.schema,table:a.tableName})),key:`triggers-${s.value}`,getCachedData:()=>{const t=n.triggersMap[s.value];return t!=null&&t.length?t:void 0},onResponse({response:t}){t._data&&(n.triggersMap[s.value]=t._data)},onResponseError({response:t}){var d;m.value=((d=t._data)==null?void 0:d.message)||"Failed to load triggers"}},"$S3QU21QNI4"),w=h(()=>(p.value||[]).map(t=>{var d;return{trigger_name:t.triggerName,enabled:t.enabled?"Enabled":"Disabled",timing:t.timing,events:((d=t.events)==null?void 0:d.join(", "))||"—",orientation:t.orientation,definition:t.definition}})),y=h(()=>w.value.length>0?ze(w.value):je(l)),f=h(()=>Ue({columns:y.value,rows:w.value,columnKeyBy:"field"})),S=h(()=>Qe(w.value)),b=h(()=>`${He(w.value.length)}px`),R=()=>{m.value=null,Oe(`triggers-${s.value}`)};return(t,d)=>{const g=Re,O=$e,M=qe;return _(),T("div",Ks,[o(g,{visible:e(r)==="pending"},null,8,["visible"]),e(m)?(_(),T("div",zs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(m)),1),o(e(me),{variant:"outline",size:"xs",onClick:R},{default:c(()=>d[0]||(d[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(w).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(b)})},[o(O,{"column-defs":e(f),"row-data":e(S),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(r)!=="pending"?(_(),T("div",js,[o(M,{title:"No Triggers",desc:"This table has no triggers."})])):B("",!0)])}}}),Ws={class:"relative"},Gs={key:0,class:"p-2"},Ys={key:2,class:"flex items-center justify-center py-6"},Js=L({__name:"ViewDependencies",props:{schema:{},viewName:{},connectionId:{}},setup(i){const a=i,l=["depends_on"],n=E(null),s=h(()=>`${a.schema}.${a.viewName}`),m=Se(),v=h(()=>a.connectionId?m.connections.find(R=>R.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/views/dependencies",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,viewName:a.viewName})),key:`view-deps-${s.value}`,onResponseError({response:R}){var t;n.value=((t=R._data)==null?void 0:t.message)||"Failed to load dependencies"}},"$jEYg_hmjWR"),r=h(()=>(u.value||[]).map(R=>({depends_on:R.dependsOn}))),w=h(()=>r.value.length>0?ze(r.value):je(l)),y=h(()=>Ue({columns:w.value,rows:r.value,columnKeyBy:"field"})),f=h(()=>Qe(r.value)),S=h(()=>`${He(r.value.length)}px`),b=()=>{n.value=null,Oe(`view-deps-${s.value}`)};return(R,t)=>{const d=Re,g=$e,O=qe;return _(),T("div",Ws,[o(d,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(_(),T("div",Gs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(n)),1),o(e(me),{variant:"outline",size:"xs",onClick:b},{default:c(()=>t[0]||(t[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(r).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(S)})},[o(g,{"column-defs":e(y),"row-data":e(f),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(p)!=="pending"?(_(),T("div",Ys,[o(O,{title:"No Dependencies",desc:"This view has no upstream dependencies."})])):B("",!0)])}}}),Xs={class:"relative"},Zs={key:0,class:"p-2"},el={key:2,class:"flex items-center justify-center py-6"},tl=L({__name:"ViewIndexesTab",props:{schema:{},viewName:{},connectionId:{}},setup(i){const a=i,l=["index_name","method","is_unique","definition"],n=E(null),s=h(()=>`${a.schema}.${a.viewName}`),m=Se(),v=h(()=>a.connectionId?m.connections.find(R=>R.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/views/indexes",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,viewName:a.viewName})),key:`view-indexes-${s.value}`,onResponseError({response:R}){var t;n.value=((t=R._data)==null?void 0:t.message)||"Failed to load indexes"}},"$44YnrMDjVX"),r=h(()=>(u.value||[]).map(R=>({index_name:R.indexName,method:R.method,is_unique:R.isUnique,definition:R.definition}))),w=h(()=>r.value.length>0?ze(r.value):je(l)),y=h(()=>Ue({columns:w.value,rows:r.value,columnKeyBy:"field"})),f=h(()=>Qe(r.value)),S=h(()=>`${He(r.value.length)}px`),b=()=>{n.value=null,Oe(`view-indexes-${s.value}`)};return(R,t)=>{const d=Re,g=$e,O=qe;return _(),T("div",Xs,[o(d,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(_(),T("div",Zs,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(n)),1),o(e(me),{variant:"outline",size:"xs",onClick:b},{default:c(()=>t[0]||(t[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(r).length?(_(),T("div",{key:1,style:ke({maxHeight:`${e(Ee)}px`,height:e(S)})},[o(g,{"column-defs":e(y),"row-data":e(f),"column-types":e(Ke),class:"h-full"},null,8,["column-defs","row-data","column-types"])],4)):e(p)!=="pending"?(_(),T("div",el,[o(O,{title:"No Indexes",desc:"This materialized view has no indexes."})])):B("",!0)])}}}),nl={class:"rounded-md border p-2.5 relative"},al={key:0,class:"p-2"},ol={key:1,class:"space-y-1.5"},sl={class:"flex items-center gap-1 flex-wrap"},ll={key:0,class:"flex flex-wrap gap-1"},rl={class:"text-xxs text-muted-foreground"},il=L({__name:"ViewMetaInfo",props:{schema:{},viewName:{},connectionId:{}},setup(i){const a=i,l=Ie(),n=h(()=>`${a.schema}.${a.viewName}`),s=E(null),m=Se(),v=h(()=>a.connectionId?m.connections.find(b=>b.id===a.connectionId):m.selectedConnection),{data:u,status:p}=ye("/api/views/meta",{method:"POST",body:h(()=>({...ce(v.value),schema:a.schema,viewName:a.viewName})),key:`view-meta-${n.value}`,getCachedData:()=>l.viewMetaMap[n.value]??void 0,onResponse({response:b}){b._data&&(l.viewMetaMap[n.value]=b._data)},onResponseError({response:b}){var R;s.value=((R=b._data)==null?void 0:R.message)||"Failed to load view metadata"}},"$pLysS3IkaY"),r=h(()=>{var b;return((b=u.value)==null?void 0:b.type)==="materialized"}),w=h(()=>r.value?"Materialized View":"Normal View"),y=h(()=>{var b,R,t,d;return r.value?{variant:(t=u.value)!=null&&t.isPopulated?"default":"destructive",label:`Populated: ${(d=u.value)!=null&&d.isPopulated?"Yes":"No"}`}:{variant:(b=u.value)!=null&&b.isUpdatable?"default":"outline",label:`Updatable: ${(R=u.value)!=null&&R.isUpdatable?"Yes":"No"}`}}),f=h(()=>{var b,R,t,d,g;return r.value?[{label:"Rows",value:((R=(b=u.value)==null?void 0:b.rowEstimate)==null?void 0:R.toLocaleString())??"—",mono:!0},{label:"Total",value:((t=u.value)==null?void 0:t.totalSize)??"—"},{label:"Table",value:((d=u.value)==null?void 0:d.tableSize)??"—"},{label:"Index",value:((g=u.value)==null?void 0:g.indexSize)??"—"}]:[]}),S=()=>{s.value=null,Oe(`view-meta-${n.value}`)};return(b,R)=>{const t=Re;return _(),T("div",nl,[o(t,{visible:e(p)==="pending"},null,8,["visible"]),e(s)?(_(),T("div",al,[o(e(De),{variant:"destructive"},{default:c(()=>[o(e(Me),{class:"flex items-center justify-between gap-2"},{default:c(()=>[C("span",null,V(e(s)),1),o(e(me),{variant:"outline",size:"xs",onClick:S},{default:c(()=>R[0]||(R[0]=[$("Retry")])),_:1})]),_:1})]),_:1})])):e(u)?(_(),T("div",ol,[C("div",sl,[o(e(it),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(w)),1)]),_:1}),o(e(it),{variant:e(y).variant,class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(y).label),1)]),_:1},8,["variant"])]),e(f).length?(_(),T("div",ll,[(_(!0),T(pe,null,Te(e(f),d=>(_(),T("div",{key:d.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[C("span",rl,V(d.label),1),C("span",{class:xe(["text-[11px] leading-none text-foreground",d.mono?"font-mono":"font-medium"])},V(d.value),3)]))),128))])):B("",!0)])):B("",!0)])}}}),ul=L({__name:"VirtualTableDefinition",props:{schema:{},connectionId:{},viewName:{},viewId:{}},setup(i){const a=i,l=Se(),n=h(()=>a.connectionId?l.connections.find(u=>u.id===a.connectionId):l.selectedConnection),{data:s,status:m}=ye("/api/views/definition",{method:"POST",body:h(()=>({...ce(n.value),viewId:a.viewId,schemaName:a.schema,viewName:a.viewName})),key:`${a.schema}.${a.viewId}`},"$ssZRsSgd3z"),v=h(()=>{var u;return(u=s.value)!=null&&u.definition?Sa(s.value.definition):""});return(u,p)=>{const r=Re,w=gt,y=qe;return _(),T("div",{key:`${a.viewId}-${a.viewName}-${a.schema}`,class:"relative"},[o(r,{visible:e(m)==="pending"},null,8,["visible"]),e(v)?(_(),D(w,{key:0,code:e(v),"show-copy-button":"","max-height":"24rem"},null,8,["code"])):e(m)!=="pending"?(_(),D(y,{key:1,title:"No Definition",desc:"No SQL definition is available for this view."})):B("",!0)])}}}),cl={class:"h-full overflow-y-auto p-1.5"},dl={class:"space-y-3 pb-2"},ml={key:0,class:"space-y-1"},pl={key:1,class:"space-y-1"},fl={class:"space-y-1"},vl={class:"space-y-1"},yl={class:"rounded-md border"},gl={class:"space-y-1"},_l={class:"flex items-center gap-2"},hl={class:"rounded-md border"},bl={class:"space-y-1"},wl={class:"rounded-md border"},Cl={class:"space-y-1"},Sl={class:"rounded-md border"},Rl={key:0,class:"space-y-1"},Nl={key:1,class:"space-y-1"},xl={class:"rounded-md border"},Tl={class:"space-y-1"},Il={class:"rounded-md border"},kl=L({__name:"StructureTable",props:{schema:{},tableName:{},connectionId:{},isVirtualTable:{type:Boolean},virtualTableId:{}},setup(i){const a=i,l=["column_name","data_type","is_nullable","default_value","foreign_keys","on_update","on_delete","column_comment"],n=Se(),s=h(()=>a.connectionId?n.connections.find(t=>t.id===a.connectionId):n.selectedConnection),{data:m,status:v}=ye("/api/tables/structure",{method:"POST",body:h(()=>({...ce(s.value),schema:a.schema,tableName:a.tableName})),key:`${a.schema}.${a.tableName}`},"$ALIsatagCk"),u=h(()=>{const t=m.value||[];return t.length>0?ze(t):je(l)}),p=h(()=>Ue({columns:u.value,rows:m.value||[],columnKeyBy:"field"})),r=h(()=>Qe(m.value||[])),w=Ie(),y=h(()=>`${a.schema}.${a.tableName}`),{data:f}=ye("/api/tables/rls",{method:"POST",body:h(()=>({...ce(s.value),schema:a.schema,table:a.tableName})),key:`rls-${y.value}`,immediate:!a.isVirtualTable},"$SfWGG2Nw15"),{data:S}=ye("/api/views/meta",{method:"POST",body:h(()=>({...ce(s.value),schema:a.schema,viewName:a.tableName})),key:`view-meta-struct-${y.value}`,immediate:!!a.isVirtualTable,getCachedData:()=>{if(a.isVirtualTable)return w.viewMetaMap[y.value]},onResponse({response:t}){t._data&&a.isVirtualTable&&(w.viewMetaMap[y.value]=t._data)}},"$Et5thcVWGM"),b=h(()=>{var t;return((t=S.value)==null?void 0:t.type)==="materialized"}),R=h(()=>{const t=(m.value||[]).length;return`${He(t)}px`});return(t,d)=>{const g=Re,O=$e;return _(),T("div",cl,[C("div",dl,[t.isVirtualTable?(_(),T("section",pl,[d[1]||(d[1]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Meta Info"),C("p",{class:"text-xs text-muted-foreground"}," View type and storage metadata ")],-1)),o(il,{connectionId:t.connectionId,schema:t.schema,viewName:t.tableName},null,8,["connectionId","schema","viewName"])])):(_(),T("section",ml,[d[0]||(d[0]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Meta Info"),C("p",{class:"text-xs text-muted-foreground"}," Table type and storage metadata ")],-1)),o(Qs,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])),C("section",fl,[d[2]||(d[2]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Columns"),C("p",{class:"text-xs text-muted-foreground"}," Table column structure and constraints ")],-1)),C("div",{class:"relative",style:ke({maxHeight:`${e(Ee)}px`,height:e(R)})},[o(g,{visible:e(v)==="pending"},null,8,["visible"]),o(O,{"column-defs":e(p),"row-data":e(r),"column-types":e(Ke),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])],4)]),t.isVirtualTable?(_(),T(pe,{key:3},[t.virtualTableId?(_(),T("section",Rl,[d[8]||(d[8]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Definition"),C("p",{class:"text-xs text-muted-foreground"},"View SQL definition")],-1)),o(ul,{connectionId:t.connectionId,schema:t.schema,viewName:t.tableName,viewId:t.virtualTableId},null,8,["connectionId","schema","viewName","viewId"])])):B("",!0),e(b)?(_(),T("section",Nl,[d[9]||(d[9]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Indexes"),C("p",{class:"text-xs text-muted-foreground"}," Indexes on materialized view ")],-1)),C("div",xl,[o(tl,{schema:t.schema,viewName:t.tableName,connectionId:t.connectionId},null,8,["schema","viewName","connectionId"])])])):B("",!0),C("section",Tl,[d[10]||(d[10]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Dependencies"),C("p",{class:"text-xs text-muted-foreground"}," Objects referenced by this view ")],-1)),C("div",Il,[o(Js,{schema:t.schema,viewName:t.tableName,connectionId:t.connectionId},null,8,["schema","viewName","connectionId"])])])],64)):(_(),T(pe,{key:2},[C("section",vl,[d[3]||(d[3]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Indexes"),C("p",{class:"text-xs text-muted-foreground"}," Available indexes and definitions ")],-1)),C("div",yl,[o(xs,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])]),C("section",gl,[C("div",null,[C("div",_l,[d[4]||(d[4]=C("h3",{class:"text-sm font-medium"},"RLS",-1)),e(f)?(_(),D(e(it),{key:0,variant:e(f).enabled?"default":"secondary",class:"h-5 px-1.5 text-xxs"},{default:c(()=>[$(V(e(f).enabled?"Enabled":"Disabled"),1)]),_:1},8,["variant"])):B("",!0)]),d[5]||(d[5]=C("p",{class:"text-xs text-muted-foreground"}," Row-level security status and policies ",-1))]),C("div",hl,[o($s,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])]),C("section",bl,[d[6]||(d[6]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Rules"),C("p",{class:"text-xs text-muted-foreground"}," Rewrite rules configured on this table ")],-1)),C("div",wl,[o(Es,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])]),C("section",Cl,[d[7]||(d[7]=C("div",null,[C("h3",{class:"text-sm font-medium"},"Triggers"),C("p",{class:"text-xs text-muted-foreground"}," Trigger status and trigger definitions ")],-1)),C("div",Sl,[o(Hs,{schema:t.schema,tableName:t.tableName,connectionId:t.connectionId},null,8,["schema","tableName","connectionId"])])])],64))])])}}}),$l={class:"px-2"},Ol={class:"px-2"},Dl={class:"flex-1 overflow-hidden px-2 mb-0.5"},Ml={key:1,class:"h-full"},Cn=L({__name:"ReferencedTable",props:{tableName:{},schemaName:{},initFilters:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(i,{emit:a}){const l=i,n=E(),s=a,{quickQueryFilterRef:m,quickQueryTableRef:v,selectedRows:u,focusedCell:p}=vo(),r=mt(),w=Se(),{onRequestSafeModeConfirm:y,onSafeModeCancel:f,onSafeModeConfirm:S,safeModeDialogOpen:b,safeModeDialogSql:R,safeModeDialogType:t}=qo(),d=h(()=>w.connections.find(ae=>ae.id===l.connectionId)),g=h(()=>{var ae;return((ae=d.value)==null?void 0:ae.type)||Ne.POSTGRES}),{columnNames:O,foreignKeys:M,primaryKeyColumns:z,tableMetaData:ne,columnTypes:q,foreignKeyColumns:Y}=Bo({tableName:l.tableName,schemaName:l.schemaName,connectionId:l.connectionId,tabViewType:st.TableDetail}),{onApplyNewFilter:ge,data:_e,baseQueryString:he,refreshTableData:G,refreshCount:fe,isAllowNextPage:We,isAllowPreviousPage:Ae,onNextPage:x,onPreviousPage:k,onUpdatePagination:N,totalRows:A,pagination:Q,errorMessage:K,openErrorModal:W,orderBy:U,onUpdateOrderBy:be,addHistoryLog:X,filters:we,isShowFilters:j,composeWith:Z,onChangeComposeWith:I,isFetchingTableData:P}=Uo({connection:d,primaryKeys:z,columns:O,connectionId:h(()=>l.connectionId),workspaceId:h(()=>l.workspaceId),tableName:l.tableName,schemaName:l.schemaName,isPersist:!1,initFilters:(l==null?void 0:l.initFilters)||[],initComposeWith:rt.OR});Ye(ne,ae=>{ae&&(we.value=(l==null?void 0:l.initFilters)||[],fe(),G())},{deep:!0,immediate:!0});const{isMutating:H,onAddEmptyRow:ee,onDiscardChanges:se,onDeleteRows:de,onSaveData:Pe,hasEditedRows:Fe,pendingChangesCount:Sn,onCopyRows:Rn,onPasteRows:Ot,onRefresh:Dt,onSelectedRowsChange:Nn,onCopySelectedCell:Mt,onFocusedCellChange:xn,onDeselectAll:Tn}=Ao({tableName:l.tableName,schemaName:l.schemaName,primaryKeys:z,refreshTableData:G,columnNames:O,data:_e,addHistoryLog:X,errorMessage:K,openErrorModal:W,selectedRows:u,pagination:Q,quickQueryTableRef:v,refreshCount:fe,focusedCell:p,connection:d,safeModeEnabled:oe(r,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:y}),{quickQueryTabView:Be,openedQuickQueryTab:Et}=Lo(),{onAddFilterByContextCell:In}=_o({quickQueryFilterRef:m,quickQueryTableRef:v,columnTypes:q,filters:we,onApplyNewFilter:ge}),{isHaveRelationByFieldName:kn}=wn({schemaName:l.schemaName,tableName:l.tableName});return St([{key:"meta+a",callback:()=>{var ae,J;(J=(ae=v.value)==null?void 0:ae.gridApi)==null||J.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{Mt()},excludeInput:!0},{key:"meta+v",callback:()=>Ot(),excludeInput:!0},{key:"meta+s",callback:()=>Pe(),isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{de()},isPreventDefault:!0}],{target:n}),(ae,J)=>{var At,Pt;return _(),T(pe,null,[o(Ra,{open:e(W),"onUpdate:open":J[0]||(J[0]=le=>Ge(W)?W.value=le:null),message:e(K)||""},null,8,["open","message"]),o(Ta,{open:e(b),"onUpdate:open":J[1]||(J[1]=le=>Ge(b)?b.value=le:null),sql:e(R),type:e(t),onConfirm:e(S),onCancel:e(f)},null,8,["open","sql","type","onConfirm","onCancel"]),C("div",{ref_key:"containerRef",ref:n,class:"flex flex-col h-full w-full relative",tabindex:"0"},[o(e(Re),{visible:e(H)||e(P)},null,8,["visible"]),C("div",$l,[o(ls,{"total-selected-rows":(At=e(u))==null?void 0:At.length,isAllowNextPage:e(We),isAllowPreviousPage:e(Ae),totalRows:e(A),limit:e(Q).limit,currentTotalRows:((Pt=e(_e))==null?void 0:Pt.length)||0,offset:e(Q).offset,"has-edited-rows":e(Fe),"pending-changes-count":e(Sn),onOnPaginate:e(N),onOnNextPage:e(x),onOnPreviousPage:e(k),onOnRefresh:e(Dt),onOnDiscardChanges:e(se),onOnSaveData:e(Pe),onOnDeleteRows:e(de),onOnAddEmptyRow:e(ee),onOnShowFilter:J[2]||(J[2]=async()=>{var le;await((le=e(m))==null?void 0:le.onShowSearch())}),tabView:e(Be),"onUpdate:tabView":J[3]||(J[3]=le=>Ge(Be)?Be.value=le:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","pending-changes-count","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnDiscardChanges","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","tabView"])]),C("div",Ol,[e(Be)===e(ve).Data?(_(),D(hs,{key:0,ref_key:"quickQueryFilterRef",ref:m,onOnSearch:J[4]||(J[4]=()=>{e(ge)()}),onOnUpdateFilters:J[5]||(J[5]=le=>{we.value=le}),isShowFilters:e(j),"onUpdate:isShowFilters":J[6]||(J[6]=le=>Ge(j)?j.value=le:null),initFilters:e(we),baseQuery:e(he),columns:e(O),dbType:e(g),composeWith:e(Z),onOnChangeComposeWith:e(I)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):B("",!0)]),C("div",Dl,[e(Et)[e(ve).Erd]?lt((_(),D(Ca,{key:0,tableId:e(ta)({tableName:ae.tableName,schemaName:ae.schemaName})},null,8,["tableId"])),[[ft,e(Be)===e(ve).Erd]]):B("",!0),e(Et)[e(ve).Structure]?lt((_(),T("div",Ml,[o(kl,{schema:ae.schemaName,tableName:ae.tableName,connectionId:ae.connectionId},null,8,["schema","tableName","connectionId"])],512)),[[ft,e(Be)===e(ve).Structure]]):B("",!0),lt(o(bs,{"total-selected-rows":e(u).length,"has-edited-rows":e(Fe),selectedRows:e(u),"table-name":ae.tableName,"schema-name":ae.schemaName,isReferencedTable:"",onOnPaginate:e(N),onOnNextPage:e(x),onOnPreviousPage:e(k),onOnRefresh:e(Dt),onOnSaveData:e(Pe),onOnDeleteRows:e(de),onOnAddEmptyRow:e(ee),onOnFilterByValue:e(In),onOnCopyRows:e(Rn),onOnPasteRows:e(Ot),onOnCopySelectedCell:e(Mt)},{default:c(()=>[o(ws,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:v,"selected-rows":e(u),data:e(_e)||[],orderBy:e(U),onOnSelectedRows:e(Nn),"onUpdate:orderBy":e(be),onOnOpenBackReferencedTableModal:J[7]||(J[7]=le=>s("onOpenBackReferencedTableModal",le)),onOnOpenForwardReferencedTableModal:J[8]||(J[8]=le=>s("onOpenForwardReferencedTableModal",le)),isHaveRelationByFieldName:e(kn),foreignKeyColumns:e(Y),foreignKeys:e(M),primaryKeyColumns:e(z),columnTypes:e(q),defaultPageSize:e(Ct),offset:e(Q).offset,onOnFocusCell:e(xn),"current-schema-name":ae.schemaName,"current-table-name":ae.tableName,onOnClickOutSide:e(Tn)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","current-schema-name","current-table-name","onOnClickOutSide"])]),_:1},8,["total-selected-rows","has-edited-rows","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnFilterByValue","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[ft,e(Be)===e(ve).Data]])])],512)],64)}}}),El={class:"flex justify-between items-center gap-2 w-full"},Al={class:"relative w-full"},Pl={class:"flex flex-1"},Fl=L({__name:"BackReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},selectedTab:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal","update:selectedTab"],setup(i,{emit:a}){const l=i,n=a,{reverseTables:s}=wn({schemaName:l.schemaName,tableName:l.tableName}),m=E(""),v=h(()=>{var R;const f=new Map,S=jt((R=s.value)==null?void 0:R.used_by)||[];for(const t of S)t.referenced_column===l.columnName&&f.set(t.referencing_table,{table:t.referencing_table,schema:t.referencing_schema});let b=[...f.values()].sort((t,d)=>t.table.localeCompare(d.table));if(m.value){const t=m.value.toLowerCase();b=b.filter(d=>d.table.toLowerCase().includes(t))}return b});na(()=>{!l.selectedTab&&v.value.length>0&&n("update:selectedTab",v.value[0].table,v.value[0].schema)});const u=f=>{var R;if(!f)return[];const S=[],b=jt((R=s.value)==null?void 0:R.used_by)||[];for(const t of b)if(t.referencing_table===f){const d={fieldName:t.fk_column,operator:et.EQUAL,search:l.recordId,isSelect:!0};S.push(d)}return S},p=f=>{const{schemaName:S,tableName:b}=y(f);n("update:selectedTab",b,S)},r=f=>{const S=f.target;S instanceof HTMLElement&&S.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},w=f=>`${f.schema}.${f.table}`,y=f=>{const[S,b]=f.split(".");return{schemaName:S,tableName:b}};return(f,S)=>{const b=un,R=rn,t=te,d=ln;return _(),D(d,{"model-value":w({table:f.selectedTab||"",schema:f.schemaName}),"onUpdate:modelValue":S[4]||(S[4]=g=>p(g)),class:"flex-1 flex-wrap h-full w-full"},{default:c(()=>[C("div",El,[o(R,{class:"overflow-x-auto w-full justify-start!"},{default:c(()=>[(_(!0),T(pe,null,Te(e(v),g=>(_(),D(b,{class:"cursor-pointer font-normal! flex-none!",onClick:r,value:w(g),key:w(g)},{default:c(()=>[$(V(f.rootSchemaName===g.schema?null:`${g.schema}.`)+V(g.table),1)]),_:2},1032,["value"]))),128))]),_:1}),C("div",null,[C("div",Al,[o(e(tt),{type:"text",placeholder:"Search tables",class:"pr-6 w-48 h-8",modelValue:e(m),"onUpdate:modelValue":S[0]||(S[0]=g=>Ge(m)?m.value=g:null)},null,8,["modelValue"]),e(m)?(_(),T("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:S[1]||(S[1]=g=>m.value="")},[o(t,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):B("",!0)])])]),C("div",Pl,[(_(),D(dn,null,[(_(),D(Cn,{key:f.selectedTab,tableName:f.selectedTab||"","schema-name":f.schemaName,"init-filters":u(f.selectedTab),connectionId:l.connectionId,workspaceId:l.workspaceId,onOnOpenBackReferencedTableModal:S[2]||(S[2]=g=>n("onOpenBackReferencedTableModal",g)),onOnOpenForwardReferencedTableModal:S[3]||(S[3]=g=>n("onOpenForwardReferencedTableModal",g))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))],1024))])]),_:1},8,["model-value"])}}}),Bl={class:"flex flex-1"},Vl=L({__name:"ForwardReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(i,{emit:a}){const l=i,n=a,s=()=>[{fieldName:l.columnName,operator:et.EQUAL,search:l.recordId,isSelect:!0}];return(m,v)=>(_(),T("div",Bl,[(_(),D(Cn,{key:e(_t)(),tableName:m.tableName,"schema-name":m.schemaName,"init-filters":s(),connectionId:l.connectionId,workspaceId:l.workspaceId,onOnOpenBackReferencedTableModal:v[0]||(v[0]=u=>n("onOpenBackReferencedTableModal",u)),onOnOpenForwardReferencedTableModal:v[1]||(v[1]=u=>n("onOpenForwardReferencedTableModal",u))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))]))}}),Ll={class:"flex items-center"},lr=L({__name:"PreviewRelationTable",props:{open:{type:Boolean},breadcrumbs:{},currentTableName:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onBackPreviousBreadcrumbByIndex","onBackPreviousBreadcrumb","clearBreadcrumb","onUpdateSelectedTabInBreadcrumb","onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(i,{emit:a}){const l=a,n=i,s=h(()=>n.breadcrumbs.length?n.breadcrumbs[n.breadcrumbs.length-1]:null),m=(u,p)=>{l("onUpdateSelectedTabInBreadcrumb",n.breadcrumbs.length-1,u,p)},v=u=>u.type==="backReferenced"?n.rootSchemaName===u.schemaName?u.selectedTab:`${u.schemaName}.${u.selectedTab}`:`${u.schemaName}.${u.tableName}`;return(u,p)=>{const r=te,w=me,y=ia,f=ra,S=la,b=sa,R=oa;return _(),D(e(aa),{open:u.open,"onUpdate:open":p[4]||(p[4]=t=>u.$emit("clearBreadcrumb"))},{default:c(()=>[o(e(da),{class:"w-[98dvw]! max-w-[98dvw]! max-h-[95dvh] h-[95dvh] gap-1 p-3 flex flex-col flex-1 flex-wrap overflow-hidden"},{default:c(()=>{var t;return[o(R,null,{default:c(()=>[o(b,null,{default:c(()=>[C("div",Ll,[o(w,{onClick:p[0]||(p[0]=d=>u.$emit("onBackPreviousBreadcrumb")),size:"iconMd",variant:"secondary"},{default:c(()=>[o(r,{name:"hugeicons:arrow-left-02",class:"size-4!"})]),_:1}),o(S,null,{default:c(()=>[o(f,{class:"gap-0.5!"},{default:c(()=>[o(e(Ht),{class:"hover:cursor-pointer"},{default:c(()=>[o(e(Xt),{onClick:p[1]||(p[1]=d=>l("clearBreadcrumb"))},{default:c(()=>[$(V(u.currentTableName),1)]),_:1})]),_:1}),o(y),(_(!0),T(pe,null,Te(u.breadcrumbs,(d,g)=>(_(),T(pe,null,[o(e(Ht),{class:xe([g!==u.breadcrumbs.length-1&&"hover:cursor-pointer"])},{default:c(()=>[g===u.breadcrumbs.length-1?(_(),D(e(ua),{key:0},{default:c(()=>[$(V(v(d)),1)]),_:2},1024)):(_(),D(e(Xt),{key:1,onClick:O=>l("onBackPreviousBreadcrumbByIndex",g)},{default:c(()=>[$(V(v(d)),1)]),_:2},1032,["onClick"]))]),_:2},1032,["class"]),g<u.breadcrumbs.length-1?(_(),D(y,{key:0})):B("",!0)],64))),256))]),_:1})]),_:1})])]),_:1})]),_:1}),(_(),D(dn,null,[e(s)?(_(),D(ca(((t=e(s))==null?void 0:t.type)==="backReferenced"?Fl:Vl),at({key:e(s).id},{columnName:e(s).columnName,recordId:e(s).recordId,schemaName:e(s).schemaName,tableName:e(s).tableName,selectedTab:e(s).selectedTab,connectionId:n.connectionId,workspaceId:n.workspaceId,rootSchemaName:n.rootSchemaName},{onOnOpenBackReferencedTableModal:p[2]||(p[2]=d=>l("onOpenBackReferencedTableModal",d)),onOnOpenForwardReferencedTableModal:p[3]||(p[3]=d=>l("onOpenForwardReferencedTableModal",d)),"onUpdate:selectedTab":m}),null,16)):B("",!0)],1024))]}),_:1})]),_:1},8,["open"])}}});export{ro as D,lr as _,sr as a,qo as b,vo as c,Bo as d,Uo as e,Ao as f,Lo as g,wn as h,ls as i,hs as j,kl as k,ws as l,_o as m,bs as n,po as o,Ga as p,fo as q,Xt as r,bn as s,za as t,Ha as u,Ka as v,wo as w,hn as x};
|