orcaq 1.1.2 → 1.1.4

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.
Files changed (134) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CDJKw_ak.js → -sZwfgN3.js} +1 -1
  3. package/.output/public/_nuxt/1iqadsOZ.js +1 -0
  4. package/.output/public/_nuxt/2WkPV7Mp.js +22 -0
  5. package/.output/public/_nuxt/{Bq7OeLM1.js → 2XEGje4L.js} +1 -1
  6. package/.output/public/_nuxt/{atdCACH-.js → 5cKDQgbQ.js} +1 -1
  7. package/.output/public/_nuxt/{C3ZBsVV_.js → B8rT4ISg.js} +2 -2
  8. package/.output/public/_nuxt/{C7BQpy74.js → B9Yq_mZo.js} +1 -1
  9. package/.output/public/_nuxt/{Ca0KO9Xq.js → BCFLQ_rL.js} +1 -1
  10. package/.output/public/_nuxt/{BWebIWit.js → BIHJR--x.js} +1 -1
  11. package/.output/public/_nuxt/{DSaBCmOg.js → BN9sUptU.js} +1 -1
  12. package/.output/public/_nuxt/{BjqbQLK3.js → BNkZeak0.js} +1 -1
  13. package/.output/public/_nuxt/{DWqOZJe7.js → BNqd1Zca.js} +1 -1
  14. package/.output/public/_nuxt/BOZgY48g.js +1 -0
  15. package/.output/public/_nuxt/{Ci5B19-c.js → BQFJwqXj.js} +1 -1
  16. package/.output/public/_nuxt/{DAr5YiBT.js → BSBcOKKj.js} +1 -1
  17. package/.output/public/_nuxt/{dNPwafbq.js → BVl8VKr5.js} +1 -1
  18. package/.output/public/_nuxt/{B9uki8o2.js → BWphy0Pi.js} +1 -1
  19. package/.output/public/_nuxt/{DHAL8jJG.js → BXp87mMj.js} +4 -4
  20. package/.output/public/_nuxt/{8tyEaimf.js → BYY9MB0h.js} +1 -1
  21. package/.output/public/_nuxt/{BPACuoI0.js → BYav_5oM.js} +1 -1
  22. package/.output/public/_nuxt/{Bq47tjcm.js → B_J4rjuT.js} +1 -1
  23. package/.output/public/_nuxt/B_U4hCvn.js +7 -0
  24. package/.output/public/_nuxt/{B5WGo5x7.js → BdCzQG_z.js} +1 -1
  25. package/.output/public/_nuxt/{DsmBazLf.js → BdX6JvdH.js} +1 -1
  26. package/.output/public/_nuxt/{S1qa1a4x.js → BdaSWOzD.js} +1 -1
  27. package/.output/public/_nuxt/{BcsKoAPU.js → BfSmOVMj.js} +119 -119
  28. package/.output/public/_nuxt/{xp7rFxcm.js → BiMJOLHR.js} +1 -1
  29. package/.output/public/_nuxt/{BJCrbji-.js → BlRPNODF.js} +1 -1
  30. package/.output/public/_nuxt/BmREJclf.js +1 -0
  31. package/.output/public/_nuxt/{BoMjapT5.js → Bp1mKnR0.js} +1 -1
  32. package/.output/public/_nuxt/{Cnfx1zWl.js → BqZGP9WI.js} +1 -1
  33. package/.output/public/_nuxt/{BTYBVtfa.js → BqjMHuu8.js} +1 -1
  34. package/.output/public/_nuxt/{DuCDilAk.js → Brupmvos.js} +1 -1
  35. package/.output/public/_nuxt/{B6MkNyZd.js → BsA8eQHh.js} +1 -1
  36. package/.output/public/_nuxt/Bwe8I9vL.js +1 -0
  37. package/.output/public/_nuxt/{CrNLwdoE.js → BxdkXfb_.js} +1 -1
  38. package/.output/public/_nuxt/{BoIj4dtd.js → C20WaARR.js} +1 -1
  39. package/.output/public/_nuxt/{D4pAW_0T.js → C2kyA9ZS.js} +1 -1
  40. package/.output/public/_nuxt/C4HRDaS8.js +1 -0
  41. package/.output/public/_nuxt/{FDw04QOj.js → C5zTeLKh.js} +1 -1
  42. package/.output/public/_nuxt/{wRAs0MDn.js → C6r_nDJz.js} +1 -1
  43. package/.output/public/_nuxt/{ioXB9E2w.js → C6yADG7D.js} +1 -1
  44. package/.output/public/_nuxt/{vhkvHdfO.js → CBfQCVFf.js} +1 -1
  45. package/.output/public/_nuxt/{BzvSm28k.js → CDPrFhDR.js} +1 -1
  46. package/.output/public/_nuxt/{D-9vaM6z.js → CFOJLBf2.js} +1 -1
  47. package/.output/public/_nuxt/{63YtjFEq.js → CJhlBUX_.js} +1 -1
  48. package/.output/public/_nuxt/{iNy-Nl0_.js → CLXbv9E5.js} +1 -1
  49. package/.output/public/_nuxt/{DpEV6S2O.js → CMT3TfI0.js} +1 -1
  50. package/.output/public/_nuxt/{COHOh4Oe.js → CRX1CszZ.js} +1 -1
  51. package/.output/public/_nuxt/{Bmgr9uz4.js → CYaqLaPZ.js} +1 -1
  52. package/.output/public/_nuxt/{BEyCol50.js → Cih6uwf6.js} +1 -1
  53. package/.output/public/_nuxt/{BrNfge84.js → CmzTcheK.js} +1 -1
  54. package/.output/public/_nuxt/{DDebxXP-.js → CrNrSEll.js} +1 -1
  55. package/.output/public/_nuxt/{DJH-4SVI.js → CwgI7YXL.js} +1 -1
  56. package/.output/public/_nuxt/{DEZMnZ2r.js → CxSk31iP.js} +1 -1
  57. package/.output/public/_nuxt/CyEWn2V2.js +1 -0
  58. package/.output/public/_nuxt/{xOD4Ev56.js → D-pZQQ02.js} +1 -1
  59. package/.output/public/_nuxt/{BWZ7atse.js → D0mrO5vS.js} +1 -1
  60. package/.output/public/_nuxt/{DcCF9IZB.js → D3ujZRkc.js} +1 -1
  61. package/.output/public/_nuxt/{C2XHqDOf.js → D4PtOV7Y.js} +1 -1
  62. package/.output/public/_nuxt/{BJVPtt2X.js → D65Keo_g.js} +1 -1
  63. package/.output/public/_nuxt/{BtyzMl9p.js → D6c_aTbv.js} +1 -1
  64. package/.output/public/_nuxt/{DNoTlUiY.js → D9SUnmGh.js} +1 -1
  65. package/.output/public/_nuxt/{BpUSbMUb.js → DDIVwUV6.js} +1 -1
  66. package/.output/public/_nuxt/{C_7gtl40.js → DDS9xPxH.js} +1 -1
  67. package/.output/public/_nuxt/{ByiJDSw8.js → DEsdpKnm.js} +1 -1
  68. package/.output/public/_nuxt/{CMkzSwnO.js → DHnV-0Qj.js} +1 -1
  69. package/.output/public/_nuxt/{COq7mAG7.js → DIoeBtoF.js} +3 -3
  70. package/.output/public/_nuxt/{ByibjLZn.js → DKJfWiWm.js} +1 -1
  71. package/.output/public/_nuxt/{DPIEiNwW.js → DKhuBYhy.js} +1 -1
  72. package/.output/public/_nuxt/DLTvS7Vr.js +2 -0
  73. package/.output/public/_nuxt/{dWu56FdP.js → DNgNuAci.js} +1 -1
  74. package/.output/public/_nuxt/{B8TrrBEb.js → DNpk_jbU.js} +1 -1
  75. package/.output/public/_nuxt/{C6dIAdHr.js → DQCTvlJf.js} +1 -1
  76. package/.output/public/_nuxt/DQf3b-ld.js +1 -0
  77. package/.output/public/_nuxt/{B46blMXm.js → DT4w6IwV.js} +1 -1
  78. package/.output/public/_nuxt/{CS9hqyP3.js → DUqYnCG7.js} +1 -1
  79. package/.output/public/_nuxt/{DkD29_YA.js → DYqNroD1.js} +1 -1
  80. package/.output/public/_nuxt/{Bmx1kTaZ.js → DZ9fd-xA.js} +1 -1
  81. package/.output/public/_nuxt/{qzrMNYut.js → DaiufW99.js} +1 -1
  82. package/.output/public/_nuxt/{Sf02B6Pt.js → DdRczQp2.js} +2 -2
  83. package/.output/public/_nuxt/{L2I3LmpB.js → DdW7QNKl.js} +1 -1
  84. package/.output/public/_nuxt/{B2IKcIj2.js → Ddtv9Dxp.js} +1 -1
  85. package/.output/public/_nuxt/Dfzgj0Oq.js +1 -0
  86. package/.output/public/_nuxt/DgRHzRny.js +1 -0
  87. package/.output/public/_nuxt/{CAnr3OhD.js → DijSUoYv.js} +1 -1
  88. package/.output/public/_nuxt/Dm-rJ5VH.js +1 -0
  89. package/.output/public/_nuxt/{sk7V7xQl.js → DmpCN34M.js} +1 -1
  90. package/.output/public/_nuxt/{CHEpbbGc.js → DoB1FFC2.js} +1 -1
  91. package/.output/public/_nuxt/Dp2UQPgO.js +1 -0
  92. package/.output/public/_nuxt/{CycELG5y.js → DryPPXlb.js} +1 -1
  93. package/.output/public/_nuxt/{BogEzQi9.js → DyCQWd5B.js} +3 -3
  94. package/.output/public/_nuxt/{AymhMj9v.js → Ef-1UUMy.js} +1 -1
  95. package/.output/public/_nuxt/{MW5K_zef.js → HP3PGEjt.js} +1 -1
  96. package/.output/public/_nuxt/{B73IHAoF.js → KK3goksi.js} +1 -1
  97. package/.output/public/_nuxt/{kvtnkChG.js → MC96ynYQ.js} +1 -1
  98. package/.output/public/_nuxt/{BpvGVfME.js → N6_KTIJr.js} +1 -1
  99. package/.output/public/_nuxt/{Dq1JM9WZ.js → TKeZJpIw.js} +1 -1
  100. package/.output/public/_nuxt/{DVnDb6ua.js → UHOKyE8O.js} +1 -1
  101. package/.output/public/_nuxt/{Y1gXUmjt.js → Z42SRPvO.js} +1 -1
  102. package/.output/public/_nuxt/{DpT8FO1Q.js → _Od8x2z5.js} +1 -1
  103. package/.output/public/_nuxt/{DMmjWR_K.js → bpGjU0QQ.js} +1 -1
  104. package/.output/public/_nuxt/builds/latest.json +1 -1
  105. package/.output/public/_nuxt/builds/meta/9b89410f-7683-420e-9dea-d15741f0e6ce.json +1 -0
  106. package/.output/public/_nuxt/{CsRSZpa6.js → doR1dsEF.js} +1 -1
  107. package/.output/public/_nuxt/{DGvAu532.js → e04t7nee.js} +1 -1
  108. package/.output/public/_nuxt/entry.DEE2Ngsu.css +1 -0
  109. package/.output/public/_nuxt/{Oe2GG0Lt.js → g4lEPr__.js} +1 -1
  110. package/.output/public/_nuxt/{Cq-MDPLE.js → l12ZvGEh.js} +1 -1
  111. package/.output/public/_nuxt/{CSQ0xnqv.js → u7qmw6wa.js} +1 -1
  112. package/.output/public/_nuxt/{MeLWmO7R.js → xoY3RXI7.js} +1 -1
  113. package/.output/public/_nuxt/{Bf6Q3Zl5.js → ziSTJBFH.js} +1 -1
  114. package/.output/server/chunks/build/client.manifest.mjs +651 -650
  115. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  116. package/.output/server/chunks/nitro/nitro.mjs +650 -650
  117. package/.output/server/package.json +1 -1
  118. package/package.json +1 -1
  119. package/.output/public/_nuxt/BL__uYa3.js +0 -1
  120. package/.output/public/_nuxt/BRFPdiIh.js +0 -1
  121. package/.output/public/_nuxt/BS-LtKx4.js +0 -1
  122. package/.output/public/_nuxt/BTheloyh.js +0 -1
  123. package/.output/public/_nuxt/Bj7ctTfH.js +0 -1
  124. package/.output/public/_nuxt/BpLDGvqy.js +0 -1
  125. package/.output/public/_nuxt/BqU89KuH.js +0 -2
  126. package/.output/public/_nuxt/CerLmMsC.js +0 -22
  127. package/.output/public/_nuxt/CtWq1MER.js +0 -7
  128. package/.output/public/_nuxt/Cww9dXBK.js +0 -1
  129. package/.output/public/_nuxt/DfNTLojg.js +0 -1
  130. package/.output/public/_nuxt/JOg_XIAv.js +0 -1
  131. package/.output/public/_nuxt/M6bBaUHa.js +0 -1
  132. package/.output/public/_nuxt/_qKPTuua.js +0 -1
  133. package/.output/public/_nuxt/builds/meta/7c171291-8bbd-4c4c-8904-0afae065b82e.json +0 -1
  134. package/.output/public/_nuxt/entry.DxCQuGXb.css +0 -1
@@ -1,10 +1,10 @@
1
- import{b1 as po,bD as fo,r as P,au as Fe,aH as pt,aG as vo,d$ as yo,e0 as go,e1 as ho,e2 as bo,e3 as _o,a3 as $e,c as C,d as Y,aK as Tn,e as x,o as h,f as o,w as m,m as y,t as B,g as e,k as D,l as U,aq as Pe,F as fe,s as ke,n as De,A as le,a6 as ye,e4 as Rt,cz as Rn,e5 as ut,e6 as W,e7 as ft,e8 as wo,cu as xt,cB as an,ct as Co,cG as So,cF as xo,ci as yt,aC as sn,e9 as kt,ea as ln,eb as rn,ec as No,G as we,dL as $n,ed as To,ay as Be,K as Je,ba as Qe,am as Mt,ap as Nt,J as qe,aM as Ze,aP as Ro,dg as $o,i as Ee,bo as lt,aY as he,a_ as be,a0 as Ce,z as A,a$ as _e,bn as cn,bL as dt,b9 as vt,aZ as Ae,df as Io,ee as un,bE as Lt,bF as Bt,bG as Ut,ef as ko,eg as Oo,eh as dn,ei as mn,_ as Vt,h as Kt,bS as qt,x as Qt,y as zt,bk as Xe,C as In,B as jt,ej as Eo,d9 as Ao,bY as pn,bW as Fo,bZ as Ht,D as Do,co as Po,cp as Mo,cq as kn,P as Oe,bm as $t,aB as Tt,b2 as On,c9 as fn,ek as En,a1 as Lo,X as Bo,Z as Uo,el as Vo,em as Ko,en as vn,eo as qo,ep as Qo,q as zo,p as jo,W as Ho,eq as Wo,dq as Go,bx as Yo,av as Jo,dh as Xo,er as yn}from"./BcsKoAPU.js";import{e as An,c as Fn,d as Zo,_ as Dn,a as Pn,b as Mn}from"./DVnDb6ua.js";import{u as xe,r as ze}from"./ioXB9E2w.js";import{d as ea}from"./dWu56FdP.js";import{_ as Ln}from"./Bq7OeLM1.js";import{_ as Bn}from"./BPACuoI0.js";import{_ as Un}from"./Y1gXUmjt.js";import{H as mt,c as ta,d as na,e as oa}from"./CS5akSNT.js";import{c as Vn,u as aa,a as sa,b as la,d as ra,F as ia,e as ca,_ as et}from"./CS9hqyP3.js";import{d as ua,t as da,e as ma}from"./Oe2GG0Lt.js";import{_ as pa}from"./COHOh4Oe.js";import{_ as fa,a as va,b as gn}from"./vhkvHdfO.js";import{_ as Wt}from"./AymhMj9v.js";import{_ as ya,j as ga,k as ha}from"./B73IHAoF.js";import{_ as ba,a as _a,C as j,b as wa}from"./C7BQpy74.js";import{_ as Ca}from"./BoIj4dtd.js";import{_ as Dt,c as hn,a as Ft,e as bn,b as _n}from"./Ca0KO9Xq.js";import{f as wn,a as Sa}from"./DsmBazLf.js";import{b as tt,a as nt}from"./BVmBXPoG.js";import{_ as je,a as He}from"./dNPwafbq.js";import{c as xa,a as Na,p as Ta,b as Ra}from"./D4pAW_0T.js";import{a as $a}from"./-lZvfnzr.js";import"./BWebIWit.js";import"./CSQ0xnqv.js";const Ia=c=>{if(!Array.isArray(c)||c.length===0)return;let t="";c.forEach((r,n)=>{const s=Object.entries(r).map(([v,d])=>`${d}`).join(" ");t+=s,n<c.length-1&&(t+=`
1
+ import{b1 as po,bC as fo,r as P,au as Fe,aH as pt,aG as vo,d_ as yo,d$ as go,e0 as ho,e1 as bo,e2 as _o,a3 as $e,c as C,d as Y,aK as Tn,e as x,o as h,f as o,w as m,m as y,t as B,g as e,k as D,l as U,aq as Pe,F as fe,s as ke,n as De,A as le,a6 as ye,e3 as Rt,cy as Rn,e4 as ut,e5 as W,e6 as ft,e7 as wo,ct as xt,cA as an,cs as Co,cF as So,cE as xo,ch as yt,aC as sn,e8 as kt,e9 as ln,ea as rn,eb as No,E as we,dK as $n,ec as To,ay as Be,K as Je,ba as Qe,am as Mt,ap as Nt,I as qe,aM as Ze,aP as Ro,df as $o,i as Ee,bn as lt,aY as he,a_ as be,a0 as Ce,z as A,a$ as _e,bm as cn,bK as dt,b9 as vt,aZ as Ae,de as Io,ed as un,bD as Lt,bE as Bt,bF as Ut,ee as ko,ef as Oo,eg as dn,eh as mn,_ as Vt,h as Kt,bR as qt,x as Qt,y as jt,bj as Xe,C as In,B as zt,ei as Eo,d8 as Ao,bX as pn,bV as Fo,bY as Ht,D as Do,cn as Po,co as Mo,cp as kn,P as Oe,bl as $t,aB as Tt,b2 as On,c8 as fn,ej as En,a1 as Lo,X as Bo,Z as Uo,ek as Vo,el as Ko,em as vn,en as qo,eo as Qo,q as jo,p as zo,W as Ho,ep as Wo,dp as Go,bw as Yo,av as Jo,dg as Xo,eq as yn}from"./BfSmOVMj.js";import{e as An,c as Fn,d as Zo,_ as Dn,a as Pn,b as Mn}from"./UHOKyE8O.js";import{u as xe,r as je}from"./C6yADG7D.js";import{d as ea}from"./DNgNuAci.js";import{_ as Ln}from"./2XEGje4L.js";import{_ as Bn}from"./BYav_5oM.js";import{_ as Un}from"./Z42SRPvO.js";import{H as mt,c as ta,d as na,e as oa}from"./CS5akSNT.js";import{c as Vn,u as aa,a as sa,b as la,d as ra,F as ia,e as ca,_ as et}from"./DUqYnCG7.js";import{d as ua,t as da,e as ma}from"./g4lEPr__.js";import{_ as pa}from"./CRX1CszZ.js";import{_ as fa,a as va,b as gn}from"./CBfQCVFf.js";import{_ as Wt}from"./Ef-1UUMy.js";import{_ as ya,j as ga,k as ha}from"./KK3goksi.js";import{_ as ba,a as _a,C as z,b as wa}from"./B9Yq_mZo.js";import{_ as Ca}from"./C20WaARR.js";import{_ as Dt,c as hn,a as Ft,e as bn,b as _n}from"./BCFLQ_rL.js";import{f as wn,a as Sa}from"./BdX6JvdH.js";import{b as tt,a as nt}from"./BVmBXPoG.js";import{_ as ze,a as He}from"./BVl8VKr5.js";import{c as xa,a as Na,p as Ta,b as Ra}from"./C2kyA9ZS.js";import{a as $a}from"./-lZvfnzr.js";import"./BIHJR--x.js";import"./u7qmw6wa.js";const Ia=c=>{if(!Array.isArray(c)||c.length===0)return;let t="";c.forEach((r,n)=>{const s=Object.entries(r).map(([v,d])=>`${d}`).join(" ");t+=s,n<c.length-1&&(t+=`
2
2
  `)}),navigator.clipboard.writeText(t).catch(r=>{console.error("Failed to copy: ",r)})},Kn=po("quick-query-logs",()=>{const c=yo(),{workspaceId:t,connectionId:r}=fo(),n=P([]),s=({tableName:l,schemaName:_})=>n.value.filter(b=>b.tableName===l&&b.schemaName===_&&b.connectionId===r.value),v=async l=>{if(!r.value||!t.value){console.error("connectionId or schemaId not found");return}let _=`
3
3
  ${l.logs}`;l.errorMessage&&(_+=`
4
- -- Error: ${l.errorMessage}`);const b={...l,logs:_,connectionId:r.value,workspaceId:t.value,createdAt:vo().toISOString(),id:pt()};await c.quickQueryLogStorage.create(b),n.value.push(b)},d=async({tableName:l,schemaName:_})=>{if(!r.value){console.error("connectionId or schemaId not found");return}await c.quickQueryLogStorage.delete({connectionId:r.value,tableName:l,schemaName:_}),await p(r.value)},i=async()=>{if(!r.value){console.error("connectionId not found");return}await c.quickQueryLogStorage.delete({connectionId:r.value}),await p(r.value)},p=async l=>{const _=await c.quickQueryLogStorage.getByContext({connectionId:l});n.value=_};return Fe(()=>[r.value],async()=>{if(!r.value){console.error("connectionId not found");return}await p(r.value)},{deep:!0,immediate:!0}),{qqLogs:n,getLogsByTableId:s,deleteAllLogs:i,deleteLogsOfTable:d,createLog:v}},{persist:!1});function ka(c){return ho(bo,c)}function Oa(c){return go(_o,c)}const Ea=({tableName:c,schemaName:t})=>{var d;const r=$e(),{data:n,status:s}=xe("/api/tables/size",{method:"POST",body:{tableName:c,dbConnectionString:(d=r.selectedConnection)==null?void 0:d.connectionString,schema:t},key:`table-size-${c}-${t}`},"$1Ta2y3cNQa");return{tableSize:C(()=>n.value||{}),status:s}},Aa={class:"gap-0 flex flex-col h-full w-full p-2"},Fa={class:"flex flex-col gap-y-1"},Da={class:"flex items-center justify-between w-full"},Pa={class:"text-xs opacity-75"},Ma={class:"flex items-center justify-between gap-4"},La={class:"text-xs opacity-75"},Ba={class:"flex items-center justify-between gap-4"},Ua={class:"text-xs opacity-75"},Va=["onClick"],Ka={class:"flex justify-between text-xs w-full overflow-hidden"},qa=["title"],Qa={class:"opacity-50 w-1/4 min-w-[100px] text-right"},za=Y({__name:"QuickQueryTableSummary",props:{tableName:{},schemaName:{},columns:{},selectedColumnFieldId:{},handleSelectColumn:{type:Function},columnTypes:{}},emits:["resetSelectedCol"],setup(c,{emit:t}){const r=t,{tableSize:n}=Ea({tableName:c.tableName,schemaName:c.schemaName}),s=C(()=>{var d;return(((d=c.columns)==null?void 0:d.map(i=>{var l;const p=(l=c.columnTypes)==null?void 0:l.find(_=>_.name===i.field&&_.name);return p?{...i,type:(p==null?void 0:p.type)||""}:i}))||[]).slice(1)}),v=d=>d==="timestamp without time zone"?"timestamp":d||"";return Tn(d=>{d(()=>{c.selectedColumnFieldId!==void 0&&r("resetSelectedCol")})}),(d,i)=>{const p=An,l=Fn,_=Pe,b=le;return h(),x("div",Aa,[o(l,{class:"py-1 rounded-md"},{default:m(()=>[o(p,{class:"px-2"},{default:m(()=>[y("div",Fa,[y("div",Da,[i[0]||(i[0]=y("span",{class:"text-xs font-medium"},"Table Size:",-1)),y("span",Pa,B(e(n).tableSize),1)]),y("div",Ma,[i[1]||(i[1]=y("span",{class:"text-xs font-medium"},"Data Size:",-1)),y("span",La,B(e(n).dataSize),1)]),y("div",Ba,[i[2]||(i[2]=y("span",{class:"text-xs font-medium"},"Index Size:",-1)),y("span",Ua,B(e(n).indexSize),1)])])]),_:1})]),_:1}),o(l,{class:"mt-1 py-2 px-1 h-full overflow-y-auto custom-scrollbar rounded-md"},{default:m(()=>[o(p,{class:"px-0"},{default:m(()=>[e(s).length===0?(h(),D(_,{key:0,title:"No columns",desc:"This table has no columns to display."})):U("",!0),(h(!0),x(fe,null,ke(e(s),f=>(h(),x("div",{key:f==null?void 0:f.field,class:De(["cursor-pointer hover:bg-accent/50 rounded-sm",e(Zo)(d.selectedColumnFieldId===(f==null?void 0:f.field)&&"bg-accent/90")])},[y("div",{class:"flex items-center gap-2 justify-start p-1",onClick:w=>d.handleSelectColumn(f==null?void 0:f.field)},[o(b,{name:"hugeicons:layout-3-column",class:"size-4 min-w-3"}),y("div",Ka,[y("span",{class:"w-3/4 truncate max-w-[220px] overflow-hidden text-ellipsis whitespace-nowrap inline-block",title:f==null?void 0:f.headerName},B((f==null?void 0:f.headerName)||""),9,qa),y("span",Qa,B(v(Array.isArray(f==null?void 0:f.type)?f==null?void 0:f.type.join(", "):f==null?void 0:f.type)),1)])],8,Va)],2))),128))]),_:1})]),_:1})])}}}),ja=Rn({isSelect:an().optional(),fieldName:xt(),operator:xt().optional(),search:wo(c=>qn(c),Co([xt(),So(),an(),xo()])).optional()}),qn=c=>{if(c!==void 0)return c===null||typeof c=="string"||typeof c=="number"||typeof c=="boolean"?c:typeof c=="bigint"?c.toString():JSON.stringify(c)},Gt=c=>c==null?"":String(c),Ha=c=>t=>c===ye.POSTGRES?`$${t}`:"?",Qn=c=>t=>c===ye.POSTGRES||c===ye.ORACLE?`"${t}"`:`\`${t}\``,Cn=({col:c,op:t})=>({where:`${c} ${t}`,params:[]}),Sn=({col:c,op:t,search:r,nextPlaceholder:n})=>{const s=Gt(r).split(",").map(d=>d.trim()).filter(Boolean);if(!s.length)return{where:"",params:[]};const v=s.map(()=>n()).join(", ");return{where:`${c} ${t} (${v})`,params:s}},xn=({col:c,op:t,search:r})=>({where:`${c} ${t} ${Gt(r)}`,params:[]}),Te=({col:c,op:t,search:r,db:n,nextPlaceholder:s})=>{const v=t.toUpperCase().startsWith("NOT"),d=t.toUpperCase().startsWith("ILIKE"),i=n===ye.POSTGRES&&d?"ILIKE":"LIKE";let p=Gt(r);return t.endsWith("%VALUE%")?p=`%${r}%`:t.endsWith("%VALUE")?p=`%${r}`:t.endsWith("VALUE%")&&(p=`${r}%`),{where:`${n===ye.POSTGRES?`${c}::TEXT`:c} ${v?" NOT ":" "}${i} ${s()}`,params:[p]}},st=({col:c,op:t,search:r,nextPlaceholder:n})=>({where:`${c} ${t} ${n()}`,params:[r]}),zn={[W.IS_NULL]:Cn,[W.IS_NOT_NULL]:Cn,[W.IN]:Sn,[W.NOT_IN]:Sn,[W.BETWEEN]:xn,[W.NOT_BETWEEN]:xn,[W.LIKE]:Te,[W.ILIKE]:Te,[W.LIKE_CONTAINS]:Te,[W.LIKE_PREFIX]:Te,[W.LIKE_SUFFIX]:Te,[W.ILIKE_CONTAINS]:Te,[W.ILIKE_PREFIX]:Te,[W.ILIKE_SUFFIX]:Te,[W.NOT_LIKE_CONTAINS]:Te,[W.NOT_LIKE_PREFIX]:Te,[W.NOT_LIKE_SUFFIX]:Te,[W.NOT_ILIKE_CONTAINS]:Te,[W.NOT_ILIKE_PREFIX]:Te,[W.NOT_ILIKE_SUFFIX]:Te,[W.EQUAL]:st,[W.NOT_EQUAL]:st,[W.LESS]:st,[W.GREATER]:st,[W.LESS_EQUAL]:st,[W.GREATER_EQUAL]:st};function Wa({search:c,columns:t,db:r,op:n,nextPlaceholder:s}){const v=Qn(r),d=zn[n],i=[],p=[];return t.forEach(l=>{const _=v(l),b=d({col:_,op:n,search:c,db:r,nextPlaceholder:s});b.where&&(i.push(b.where),p.push(...b.params))}),{where:i.length?`(${i.join(" OR ")})`:"",params:p}}function Ga({filters:c,db:t,columns:r=[],composeWith:n=ft.AND}){const s=[],v=[];let d=1;const i=Ha(t),p=()=>i(d++),l=Qn(t),_=({where:f,params:w})=>{f&&(s.push(f),v.push(...w))},b=new Set((Rt[t]??Rt[ye.MYSQL]??[]).map(f=>f.value.toUpperCase()));return c.forEach(f=>{if(!(f!=null&&f.isSelect))return;const w=ja.parse(f);if(w.fieldName===ut.AnyField){const S=Wa({search:w.search??"",columns:r,db:t,op:w.operator,nextPlaceholder:p});S.where&&(s.push(S.where),v.push(...S.params));return}if(w.fieldName===ut.RawQuery){if(!w.search)return;s.push(`(${w.search})`);return}const a=l(w.fieldName),g=(w.operator??W.LIKE_CONTAINS).toUpperCase(),u=b.has(g)?g:W.LIKE_CONTAINS;_(zn[u]({col:a,op:u,search:w.search??"",db:t,nextPlaceholder:p}))}),{where:s.length?`WHERE ${s.join(` ${n} `)}`:"",params:v}}function Pt({filters:c,db:t,columns:r=[],composeWith:n}){const{where:s,params:v}=Ga({filters:c,db:t,columns:r,composeWith:n});if(!s)return"";const d=i=>i===null?"NULL":typeof i=="boolean"?i?"TRUE":"FALSE":typeof i=="number"?String(i):`'${String(i).replace(/'/g,"''")}'`;if(t===ye.POSTGRES){let i=s;return v.forEach((p,l)=>{i=i.replace(new RegExp(`\\$${l+1}\\b`,"g"),d(p))}),i}else{let i=0;return s.replace(/\?/g,()=>d(v[i++]))}}function Ya(c){const t=c.toUpperCase().trim();return t==="IS NULL"||t==="IS NOT NULL"?"":t==="IN"||t==="NOT IN"?"value1,value2,value3":t==="BETWEEN"||t==="NOT BETWEEN"?"value1 AND value2":t.includes("LIKE")?t.endsWith("%VALUE%")?"contains":t.endsWith("VALUE%")?"prefix*":t.endsWith("%VALUE")?"*suffix":"pattern":"value"}function Ja(c){return[ye.MYSQL,ye.MYSQL2,ye.MARIADB].includes(c)}function Ke(c,t){return Ja(t)?`\`${c.replace(/`/g,"``")}\``:`"${c.replace(/"/g,'""')}"`}function It({schemaName:c,tableName:t,dbType:r}){const n=Ke(t,r);return c?`${Ke(c,r)}.${n}`:n}function Xa({schemaName:c,tableName:t,pKeys:r,update:n,pKeyValue:s,dbType:v}){if(!t||!(r!=null&&r.length)||!n||!Object.keys(n).length)throw new Error("Invalid input: tableName, pKeys, and update object are required");const d=Object.entries(n).map(([l,_])=>_===null?`${Ke(l,v)} = NULL`:typeof _=="string"?`${Ke(l,v)} = '${_.replace(/'/g,"''")}'`:`${Ke(l,v)} = ${_}`).join(", "),i=r.map(l=>`${Ke(l,v)} = '${s[l]}'`).join(" AND ");return`UPDATE ${It({schemaName:c,tableName:t,dbType:v})} SET ${d} WHERE ${i}`}function Za({schemaName:c,tableName:t,pKeys:r,pKeyValue:n,dbType:s}){if(!t||!(r!=null&&r.length))throw new Error("Invalid input: tableName and pKeys are required");const v=r.map(i=>`${Ke(i,s)} = '${n[i]}'`).join(" AND ");return`DELETE FROM ${It({schemaName:c,tableName:t,dbType:s})} WHERE ${v}`}function es({schemaName:c,tableName:t,insertData:r,dbType:n}){if(!t||!r)throw new Error("Invalid input: tableName, insertData object are required");if(!Object.keys(r).length)return`INSERT INTO ${It({schemaName:c,tableName:t,dbType:n})} DEFAULT VALUES`;const s=Object.entries(r).map(([i])=>Ke(i,n)).join(", "),v=Object.values(r).map(i=>i===null?"NULL":typeof i=="string"?`'${i.replace(/'/g,"''")}'`:i).join(", ");return`INSERT INTO ${It({schemaName:c,tableName:t,dbType:n})} (${s}) VALUES (${v})`}function jn(c){const t=c.toLowerCase();if(t.startsWith("_"))return`${jn(t.substring(1))}[]`;switch(t){case"char":case"varchar":case"text":case"uuid":case"citext":case"money":case"inet":case"cidr":case"macaddr":case"macaddr8":case"tsvector":case"tsquery":case"xml":case"bytea":return"string";case"int2":case"int4":case"int8":case"numeric":case"float4":case"float8":case"decimal":case"oid":return"number";case"bool":case"boolean":return"boolean";case"json":case"jsonb":return"any";case"date":case"timestamp":case"timestamptz":case"time":case"timetz":case"interval":return"string";case"bit":case"varbit":return"string";default:return"unknown"}}const Hn=({tableName:c,connection:t,primaryKeys:r,columns:n,isPersist:s=!0,schemaName:v,workspaceId:d,connectionId:i,initFilters:p,initComposeWith:l})=>{const _=yt(),b=Kn(),f=P(!1),w=P(""),a=sn({limit:kt,offset:0}),g=P([]),u=sn({}),S=P(!1),N=P(ft.AND),Z=C(()=>{var q;const k=_.tableAppearanceConfigs.nullOrderPreference,L=(q=t.value)==null?void 0:q.type;return k===ln.Unset||L!==ye.POSTGRES&&L!==ye.ORACLE?"":k===ln.NullsFirst?"NULLS FIRST":"NULLS LAST"}),ie=C(()=>{var L;const k=(L=t.value)==null?void 0:L.type;return k===ye.MYSQL||k===ye.MYSQL2||k===ye.MARIADB?q=>`\`${q}\``:q=>`"${q}"`}),J=C(()=>{const k=ie.value;return`${rn} ${k(v)}.${k(c)}`}),ue=C(()=>{var k;return S.value?Pt({columns:n.value,db:((k=t.value)==null?void 0:k.type)||ye.POSTGRES,filters:g.value,composeWith:N.value}):""}),me=C(()=>{let k="";const L=(u==null?void 0:u.order)||"ASC",q=(u==null?void 0:u.columnName)||r.value[0]||n.value[0],te=ie.value;q&&(k=`ORDER BY ${te(q)} ${L}`,Z.value&&(k=`${k} ${Z.value}`));const Ie=`LIMIT ${a.limit}`,Se=`OFFSET ${a.offset}`;return`${rn} ${te(v)}.${te(c)} ${ue.value||""} ${k} ${Ie} ${Se}`}),pe=C(()=>{const k=ie.value;return`${No} ${k(v)}.${k(c)} ${ue.value||""}`}),oe=(k,L=0,q,te)=>{b.createLog({tableName:c,schemaName:v,logs:k,queryTime:L,error:q,errorMessage:te})},{data:de,status:Ne,refresh:T}=xe("/api/query/execute",{method:"POST",body:{query:me,...we(t.value)},watch:!1,immediate:!1,key:c,cache:"default",onResponseError:k=>{var q,te,Ie,Se;const L=(te=(q=k.response)==null?void 0:q._data)==null?void 0:te.data;f.value=!0,w.value=((Se=(Ie=k.response)==null?void 0:Ie._data)==null?void 0:Se.message)||"",oe(me.value,0,L,w.value)},onResponse:({response:k})=>{var L;k.ok&&oe(me.value,(L=k._data)==null?void 0:L.queryTime)}},"$CR5sijiGqB"),{refresh:E,data:H,status:I}=xe("/api/query/execute",{method:"POST",body:{query:pe,...we(t.value)},watch:!1,immediate:!1,key:`${c}-count`,cache:"default",onResponse:({response:k})=>{var L;k.ok&&oe(pe.value,(L=k._data)==null?void 0:L.queryTime)}},"$2oQhQUxDSL"),V=C(()=>{var k,L,q;return Number(((q=(L=(k=H.value)==null?void 0:k.result)==null?void 0:L[0])==null?void 0:q.count)||0)}),K=C(()=>a.offset+a.limit<V.value),R=C(()=>a.offset>0),$=({limit:k,offset:L})=>{k<=0||L<0||(a.limit=k,a.offset=L,T())},F=({columnName:k,order:L})=>{u.columnName=k,u.order=L,T()},M=()=>{K&&(a.offset+=a.limit,T())},O=()=>{if(!R)return;const k=a.offset-a.limit;k<0?a.offset=0:a.offset=k,T()},Q=k=>{N.value=k,a.offset=0,T(),E()},ae=()=>{a.offset=0,T(),E()},ne=()=>To.queryBuilderKey((d==null?void 0:d.value)??"",(i==null?void 0:i.value)??"",v,c);Fe([g,a,u,S,N],ea(()=>{if(!s)return;const k=ne();localStorage.setItem(k,JSON.stringify({filters:g.value,pagination:{...a},orderBy:{...u},isShowFilters:S.value,composeWith:N.value}))},$n),{deep:!0}),(()=>{if(!s){p&&(g.value=p,S.value=!0),l&&(N.value=l);return}const k=ne(),L=localStorage.getItem(k),q=L?JSON.parse(L):null;if(q){const{filters:te,pagination:Ie,orderBy:Se,isShowFilters:Ge,composeWith:Me}=q;Se&&(u.columnName=Se.columnName,u.order=Se.order),Ie&&(a.limit=Ie.limit,a.offset=Ie.offset),te&&(g.value=te),Me&&(N.value=Me),S.value=!!Ge}})();const ce=C(()=>Ne.value==="pending"),ge=C(()=>{var k;return((k=de.value)==null?void 0:k.result)||[]});return{whereClauses:ue,pagination:a,queryString:me,onUpdatePagination:$,isAllowNextPage:K,isAllowPreviousPage:R,onNextPage:M,onPreviousPage:O,queryCountString:pe,data:ge,isFetchingTableData:ce,refreshTableData:T,refreshCount:E,totalRows:V,onApplyNewFilter:ae,baseQueryString:J,openErrorModal:f,onUpdateOrderBy:F,orderBy:u,errorMessage:w,filters:g,addHistoryLog:oe,isShowFilters:S,onChangeComposeWith:Q,composeWith:N}};var re=(c=>(c.Data="Data",c.Structure="Structure",c.Erd="Erd",c))(re||{});const Wn=()=>{const c=P(),t=P(),r=P([]),n=P(void 0),s=P(!1);return{quickQueryFilterRef:c,quickQueryTableRef:t,selectedRows:r,isMutating:s,focusedCell:n}},ts=({columnName:c,cellValue:t})=>c?{fieldName:c,isSelect:!0,operator:W.EQUAL,search:qn(t)}:null,Gn=({quickQueryFilterRef:c,quickQueryTableRef:t,filters:r,onApplyNewFilter:n})=>{const s=d=>{r.value=[...r.value,d]};return{appendFilter:s,onAddFilterByContextCell:async()=>{var p,l;const d=(p=t.value)==null?void 0:p.cellContextMenu;if(!d)return;const i=ts({columnName:d.colDef.field,cellValue:d.value});i&&(s(i),await Be(),(l=c.value)==null||l.onShowSearch(),n())}}};function Yn(c){const{tableName:t,schemaName:r,primaryKeys:n,columnNames:s,data:v,selectedRows:d,pagination:i,addHistoryLog:p,refreshTableData:l,refreshCount:_,openErrorModal:b,errorMessage:f,quickQueryTableRef:w,focusedCell:a,safeModeEnabled:g,onRequestSafeModeConfirm:u,connection:S}=c,N=P(!1),Z=async()=>{var $;const R=($=w.value)==null?void 0:$.gridApi;R&&(R==null||R.deselectAll(),R==null||R.clearFocusedCell(),_(),l())},ie=R=>{d.value=R},J=R=>{a&&(a.value=R)},ue=()=>{var R;return((R=w.value)==null?void 0:R.editedCells)??[]},me=()=>ue().filter(R=>R.isNewRow||Object.keys(R.changedData).length>0),pe=async()=>{var F;const R=me();if(!v.value||!R.length){Je.info("No changes to save.");return}const $=[];if(R.forEach(M=>{var ee,ce,ge;const O=!!Object.keys(M.changedData).length,Q=(ee=v.value)==null?void 0:ee[M.rowId],ae=O&&Q&&!M.isNewRow,ne=M.isNewRow||!Q&&O;if(ae){const k=Xa({tableName:t,schemaName:r,update:M.changedData,pKeys:n.value,pKeyValue:Q,dbType:(ce=S.value)==null?void 0:ce.type});$.push(k)}else if(ne){const k=es({tableName:t,schemaName:r,insertData:M.changedData,dbType:(ge=S.value)==null?void 0:ge.type});$.push(k)}}),!$.length){Je.info("No valid changes to save.");return}if(!(g!=null&&g.value&&u&&!await u($.join(`
4
+ -- Error: ${l.errorMessage}`);const b={...l,logs:_,connectionId:r.value,workspaceId:t.value,createdAt:vo().toISOString(),id:pt()};await c.quickQueryLogStorage.create(b),n.value.push(b)},d=async({tableName:l,schemaName:_})=>{if(!r.value){console.error("connectionId or schemaId not found");return}await c.quickQueryLogStorage.delete({connectionId:r.value,tableName:l,schemaName:_}),await p(r.value)},i=async()=>{if(!r.value){console.error("connectionId not found");return}await c.quickQueryLogStorage.delete({connectionId:r.value}),await p(r.value)},p=async l=>{const _=await c.quickQueryLogStorage.getByContext({connectionId:l});n.value=_};return Fe(()=>[r.value],async()=>{if(!r.value){console.error("connectionId not found");return}await p(r.value)},{deep:!0,immediate:!0}),{qqLogs:n,getLogsByTableId:s,deleteAllLogs:i,deleteLogsOfTable:d,createLog:v}},{persist:!1});function ka(c){return ho(bo,c)}function Oa(c){return go(_o,c)}const Ea=({tableName:c,schemaName:t})=>{var d;const r=$e(),{data:n,status:s}=xe("/api/tables/size",{method:"POST",body:{tableName:c,dbConnectionString:(d=r.selectedConnection)==null?void 0:d.connectionString,schema:t},key:`table-size-${c}-${t}`},"$1Ta2y3cNQa");return{tableSize:C(()=>n.value||{}),status:s}},Aa={class:"gap-0 flex flex-col h-full w-full p-2"},Fa={class:"flex flex-col gap-y-1"},Da={class:"flex items-center justify-between w-full"},Pa={class:"text-xs opacity-75"},Ma={class:"flex items-center justify-between gap-4"},La={class:"text-xs opacity-75"},Ba={class:"flex items-center justify-between gap-4"},Ua={class:"text-xs opacity-75"},Va=["onClick"],Ka={class:"flex justify-between text-xs w-full overflow-hidden"},qa=["title"],Qa={class:"opacity-50 w-1/4 min-w-[100px] text-right"},ja=Y({__name:"QuickQueryTableSummary",props:{tableName:{},schemaName:{},columns:{},selectedColumnFieldId:{},handleSelectColumn:{type:Function},columnTypes:{}},emits:["resetSelectedCol"],setup(c,{emit:t}){const r=t,{tableSize:n}=Ea({tableName:c.tableName,schemaName:c.schemaName}),s=C(()=>{var d;return(((d=c.columns)==null?void 0:d.map(i=>{var l;const p=(l=c.columnTypes)==null?void 0:l.find(_=>_.name===i.field&&_.name);return p?{...i,type:(p==null?void 0:p.type)||""}:i}))||[]).slice(1)}),v=d=>d==="timestamp without time zone"?"timestamp":d||"";return Tn(d=>{d(()=>{c.selectedColumnFieldId!==void 0&&r("resetSelectedCol")})}),(d,i)=>{const p=An,l=Fn,_=Pe,b=le;return h(),x("div",Aa,[o(l,{class:"py-1 rounded-md"},{default:m(()=>[o(p,{class:"px-2"},{default:m(()=>[y("div",Fa,[y("div",Da,[i[0]||(i[0]=y("span",{class:"text-xs font-medium"},"Table Size:",-1)),y("span",Pa,B(e(n).tableSize),1)]),y("div",Ma,[i[1]||(i[1]=y("span",{class:"text-xs font-medium"},"Data Size:",-1)),y("span",La,B(e(n).dataSize),1)]),y("div",Ba,[i[2]||(i[2]=y("span",{class:"text-xs font-medium"},"Index Size:",-1)),y("span",Ua,B(e(n).indexSize),1)])])]),_:1})]),_:1}),o(l,{class:"mt-1 py-2 px-1 h-full overflow-y-auto custom-scrollbar rounded-md"},{default:m(()=>[o(p,{class:"px-0"},{default:m(()=>[e(s).length===0?(h(),D(_,{key:0,title:"No columns",desc:"This table has no columns to display."})):U("",!0),(h(!0),x(fe,null,ke(e(s),f=>(h(),x("div",{key:f==null?void 0:f.field,class:De(["cursor-pointer hover:bg-accent/50 rounded-sm",e(Zo)(d.selectedColumnFieldId===(f==null?void 0:f.field)&&"bg-accent/90")])},[y("div",{class:"flex items-center gap-2 justify-start p-1",onClick:w=>d.handleSelectColumn(f==null?void 0:f.field)},[o(b,{name:"hugeicons:layout-3-column",class:"size-4 min-w-3"}),y("div",Ka,[y("span",{class:"w-3/4 truncate max-w-[220px] overflow-hidden text-ellipsis whitespace-nowrap inline-block",title:f==null?void 0:f.headerName},B((f==null?void 0:f.headerName)||""),9,qa),y("span",Qa,B(v(Array.isArray(f==null?void 0:f.type)?f==null?void 0:f.type.join(", "):f==null?void 0:f.type)),1)])],8,Va)],2))),128))]),_:1})]),_:1})])}}}),za=Rn({isSelect:an().optional(),fieldName:xt(),operator:xt().optional(),search:wo(c=>qn(c),Co([xt(),So(),an(),xo()])).optional()}),qn=c=>{if(c!==void 0)return c===null||typeof c=="string"||typeof c=="number"||typeof c=="boolean"?c:typeof c=="bigint"?c.toString():JSON.stringify(c)},Gt=c=>c==null?"":String(c),Ha=c=>t=>c===ye.POSTGRES?`$${t}`:"?",Qn=c=>t=>c===ye.POSTGRES||c===ye.ORACLE?`"${t}"`:`\`${t}\``,Cn=({col:c,op:t})=>({where:`${c} ${t}`,params:[]}),Sn=({col:c,op:t,search:r,nextPlaceholder:n})=>{const s=Gt(r).split(",").map(d=>d.trim()).filter(Boolean);if(!s.length)return{where:"",params:[]};const v=s.map(()=>n()).join(", ");return{where:`${c} ${t} (${v})`,params:s}},xn=({col:c,op:t,search:r})=>({where:`${c} ${t} ${Gt(r)}`,params:[]}),Te=({col:c,op:t,search:r,db:n,nextPlaceholder:s})=>{const v=t.toUpperCase().startsWith("NOT"),d=t.toUpperCase().startsWith("ILIKE"),i=n===ye.POSTGRES&&d?"ILIKE":"LIKE";let p=Gt(r);return t.endsWith("%VALUE%")?p=`%${r}%`:t.endsWith("%VALUE")?p=`%${r}`:t.endsWith("VALUE%")&&(p=`${r}%`),{where:`${n===ye.POSTGRES?`${c}::TEXT`:c} ${v?" NOT ":" "}${i} ${s()}`,params:[p]}},st=({col:c,op:t,search:r,nextPlaceholder:n})=>({where:`${c} ${t} ${n()}`,params:[r]}),jn={[W.IS_NULL]:Cn,[W.IS_NOT_NULL]:Cn,[W.IN]:Sn,[W.NOT_IN]:Sn,[W.BETWEEN]:xn,[W.NOT_BETWEEN]:xn,[W.LIKE]:Te,[W.ILIKE]:Te,[W.LIKE_CONTAINS]:Te,[W.LIKE_PREFIX]:Te,[W.LIKE_SUFFIX]:Te,[W.ILIKE_CONTAINS]:Te,[W.ILIKE_PREFIX]:Te,[W.ILIKE_SUFFIX]:Te,[W.NOT_LIKE_CONTAINS]:Te,[W.NOT_LIKE_PREFIX]:Te,[W.NOT_LIKE_SUFFIX]:Te,[W.NOT_ILIKE_CONTAINS]:Te,[W.NOT_ILIKE_PREFIX]:Te,[W.NOT_ILIKE_SUFFIX]:Te,[W.EQUAL]:st,[W.NOT_EQUAL]:st,[W.LESS]:st,[W.GREATER]:st,[W.LESS_EQUAL]:st,[W.GREATER_EQUAL]:st};function Wa({search:c,columns:t,db:r,op:n,nextPlaceholder:s}){const v=Qn(r),d=jn[n],i=[],p=[];return t.forEach(l=>{const _=v(l),b=d({col:_,op:n,search:c,db:r,nextPlaceholder:s});b.where&&(i.push(b.where),p.push(...b.params))}),{where:i.length?`(${i.join(" OR ")})`:"",params:p}}function Ga({filters:c,db:t,columns:r=[],composeWith:n=ft.AND}){const s=[],v=[];let d=1;const i=Ha(t),p=()=>i(d++),l=Qn(t),_=({where:f,params:w})=>{f&&(s.push(f),v.push(...w))},b=new Set((Rt[t]??Rt[ye.MYSQL]??[]).map(f=>f.value.toUpperCase()));return c.forEach(f=>{if(!(f!=null&&f.isSelect))return;const w=za.parse(f);if(w.fieldName===ut.AnyField){const S=Wa({search:w.search??"",columns:r,db:t,op:w.operator,nextPlaceholder:p});S.where&&(s.push(S.where),v.push(...S.params));return}if(w.fieldName===ut.RawQuery){if(!w.search)return;s.push(`(${w.search})`);return}const a=l(w.fieldName),g=(w.operator??W.LIKE_CONTAINS).toUpperCase(),u=b.has(g)?g:W.LIKE_CONTAINS;_(jn[u]({col:a,op:u,search:w.search??"",db:t,nextPlaceholder:p}))}),{where:s.length?`WHERE ${s.join(` ${n} `)}`:"",params:v}}function Pt({filters:c,db:t,columns:r=[],composeWith:n}){const{where:s,params:v}=Ga({filters:c,db:t,columns:r,composeWith:n});if(!s)return"";const d=i=>i===null?"NULL":typeof i=="boolean"?i?"TRUE":"FALSE":typeof i=="number"?String(i):`'${String(i).replace(/'/g,"''")}'`;if(t===ye.POSTGRES){let i=s;return v.forEach((p,l)=>{i=i.replace(new RegExp(`\\$${l+1}\\b`,"g"),d(p))}),i}else{let i=0;return s.replace(/\?/g,()=>d(v[i++]))}}function Ya(c){const t=c.toUpperCase().trim();return t==="IS NULL"||t==="IS NOT NULL"?"":t==="IN"||t==="NOT IN"?"value1,value2,value3":t==="BETWEEN"||t==="NOT BETWEEN"?"value1 AND value2":t.includes("LIKE")?t.endsWith("%VALUE%")?"contains":t.endsWith("VALUE%")?"prefix*":t.endsWith("%VALUE")?"*suffix":"pattern":"value"}function Ja(c){return[ye.MYSQL,ye.MYSQL2,ye.MARIADB].includes(c)}function Ke(c,t){return Ja(t)?`\`${c.replace(/`/g,"``")}\``:`"${c.replace(/"/g,'""')}"`}function It({schemaName:c,tableName:t,dbType:r}){const n=Ke(t,r);return c?`${Ke(c,r)}.${n}`:n}function Xa({schemaName:c,tableName:t,pKeys:r,update:n,pKeyValue:s,dbType:v}){if(!t||!(r!=null&&r.length)||!n||!Object.keys(n).length)throw new Error("Invalid input: tableName, pKeys, and update object are required");const d=Object.entries(n).map(([l,_])=>_===null?`${Ke(l,v)} = NULL`:typeof _=="string"?`${Ke(l,v)} = '${_.replace(/'/g,"''")}'`:`${Ke(l,v)} = ${_}`).join(", "),i=r.map(l=>`${Ke(l,v)} = '${s[l]}'`).join(" AND ");return`UPDATE ${It({schemaName:c,tableName:t,dbType:v})} SET ${d} WHERE ${i}`}function Za({schemaName:c,tableName:t,pKeys:r,pKeyValue:n,dbType:s}){if(!t||!(r!=null&&r.length))throw new Error("Invalid input: tableName and pKeys are required");const v=r.map(i=>`${Ke(i,s)} = '${n[i]}'`).join(" AND ");return`DELETE FROM ${It({schemaName:c,tableName:t,dbType:s})} WHERE ${v}`}function es({schemaName:c,tableName:t,insertData:r,dbType:n}){if(!t||!r)throw new Error("Invalid input: tableName, insertData object are required");if(!Object.keys(r).length)return`INSERT INTO ${It({schemaName:c,tableName:t,dbType:n})} DEFAULT VALUES`;const s=Object.entries(r).map(([i])=>Ke(i,n)).join(", "),v=Object.values(r).map(i=>i===null?"NULL":typeof i=="string"?`'${i.replace(/'/g,"''")}'`:i).join(", ");return`INSERT INTO ${It({schemaName:c,tableName:t,dbType:n})} (${s}) VALUES (${v})`}function zn(c){const t=c.toLowerCase();if(t.startsWith("_"))return`${zn(t.substring(1))}[]`;switch(t){case"char":case"varchar":case"text":case"uuid":case"citext":case"money":case"inet":case"cidr":case"macaddr":case"macaddr8":case"tsvector":case"tsquery":case"xml":case"bytea":return"string";case"int2":case"int4":case"int8":case"numeric":case"float4":case"float8":case"decimal":case"oid":return"number";case"bool":case"boolean":return"boolean";case"json":case"jsonb":return"any";case"date":case"timestamp":case"timestamptz":case"time":case"timetz":case"interval":return"string";case"bit":case"varbit":return"string";default:return"unknown"}}const Hn=({tableName:c,connection:t,primaryKeys:r,columns:n,isPersist:s=!0,schemaName:v,workspaceId:d,connectionId:i,initFilters:p,initComposeWith:l})=>{const _=yt(),b=Kn(),f=P(!1),w=P(""),a=sn({limit:kt,offset:0}),g=P([]),u=sn({}),S=P(!1),N=P(ft.AND),Z=C(()=>{var q;const k=_.tableAppearanceConfigs.nullOrderPreference,L=(q=t.value)==null?void 0:q.type;return k===ln.Unset||L!==ye.POSTGRES&&L!==ye.ORACLE?"":k===ln.NullsFirst?"NULLS FIRST":"NULLS LAST"}),ie=C(()=>{var L;const k=(L=t.value)==null?void 0:L.type;return k===ye.MYSQL||k===ye.MYSQL2||k===ye.MARIADB?q=>`\`${q}\``:q=>`"${q}"`}),J=C(()=>{const k=ie.value;return`${rn} ${k(v)}.${k(c)}`}),ue=C(()=>{var k;return S.value?Pt({columns:n.value,db:((k=t.value)==null?void 0:k.type)||ye.POSTGRES,filters:g.value,composeWith:N.value}):""}),me=C(()=>{let k="";const L=(u==null?void 0:u.order)||"ASC",q=(u==null?void 0:u.columnName)||r.value[0]||n.value[0],te=ie.value;q&&(k=`ORDER BY ${te(q)} ${L}`,Z.value&&(k=`${k} ${Z.value}`));const Ie=`LIMIT ${a.limit}`,Se=`OFFSET ${a.offset}`;return`${rn} ${te(v)}.${te(c)} ${ue.value||""} ${k} ${Ie} ${Se}`}),pe=C(()=>{const k=ie.value;return`${No} ${k(v)}.${k(c)} ${ue.value||""}`}),oe=(k,L=0,q,te)=>{b.createLog({tableName:c,schemaName:v,logs:k,queryTime:L,error:q,errorMessage:te})},{data:de,status:Ne,refresh:T}=xe("/api/query/execute",{method:"POST",body:{query:me,...we(t.value)},watch:!1,immediate:!1,key:c,cache:"default",onResponseError:k=>{var q,te,Ie,Se;const L=(te=(q=k.response)==null?void 0:q._data)==null?void 0:te.data;f.value=!0,w.value=((Se=(Ie=k.response)==null?void 0:Ie._data)==null?void 0:Se.message)||"",oe(me.value,0,L,w.value)},onResponse:({response:k})=>{var L;k.ok&&oe(me.value,(L=k._data)==null?void 0:L.queryTime)}},"$CR5sijiGqB"),{refresh:E,data:H,status:I}=xe("/api/query/execute",{method:"POST",body:{query:pe,...we(t.value)},watch:!1,immediate:!1,key:`${c}-count`,cache:"default",onResponse:({response:k})=>{var L;k.ok&&oe(pe.value,(L=k._data)==null?void 0:L.queryTime)}},"$2oQhQUxDSL"),V=C(()=>{var k,L,q;return Number(((q=(L=(k=H.value)==null?void 0:k.result)==null?void 0:L[0])==null?void 0:q.count)||0)}),K=C(()=>a.offset+a.limit<V.value),R=C(()=>a.offset>0),$=({limit:k,offset:L})=>{k<=0||L<0||(a.limit=k,a.offset=L,T())},F=({columnName:k,order:L})=>{u.columnName=k,u.order=L,T()},M=()=>{K&&(a.offset+=a.limit,T())},O=()=>{if(!R)return;const k=a.offset-a.limit;k<0?a.offset=0:a.offset=k,T()},Q=k=>{N.value=k,a.offset=0,T(),E()},ae=()=>{a.offset=0,T(),E()},ne=()=>To.queryBuilderKey((d==null?void 0:d.value)??"",(i==null?void 0:i.value)??"",v,c);Fe([g,a,u,S,N],ea(()=>{if(!s)return;const k=ne();localStorage.setItem(k,JSON.stringify({filters:g.value,pagination:{...a},orderBy:{...u},isShowFilters:S.value,composeWith:N.value}))},$n),{deep:!0}),(()=>{if(!s){p&&(g.value=p,S.value=!0),l&&(N.value=l);return}const k=ne(),L=localStorage.getItem(k),q=L?JSON.parse(L):null;if(q){const{filters:te,pagination:Ie,orderBy:Se,isShowFilters:Ge,composeWith:Me}=q;Se&&(u.columnName=Se.columnName,u.order=Se.order),Ie&&(a.limit=Ie.limit,a.offset=Ie.offset),te&&(g.value=te),Me&&(N.value=Me),S.value=!!Ge}})();const ce=C(()=>Ne.value==="pending"),ge=C(()=>{var k;return((k=de.value)==null?void 0:k.result)||[]});return{whereClauses:ue,pagination:a,queryString:me,onUpdatePagination:$,isAllowNextPage:K,isAllowPreviousPage:R,onNextPage:M,onPreviousPage:O,queryCountString:pe,data:ge,isFetchingTableData:ce,refreshTableData:T,refreshCount:E,totalRows:V,onApplyNewFilter:ae,baseQueryString:J,openErrorModal:f,onUpdateOrderBy:F,orderBy:u,errorMessage:w,filters:g,addHistoryLog:oe,isShowFilters:S,onChangeComposeWith:Q,composeWith:N}};var re=(c=>(c.Data="Data",c.Structure="Structure",c.Erd="Erd",c))(re||{});const Wn=()=>{const c=P(),t=P(),r=P([]),n=P(void 0),s=P(!1);return{quickQueryFilterRef:c,quickQueryTableRef:t,selectedRows:r,isMutating:s,focusedCell:n}},ts=({columnName:c,cellValue:t})=>c?{fieldName:c,isSelect:!0,operator:W.EQUAL,search:qn(t)}:null,Gn=({quickQueryFilterRef:c,quickQueryTableRef:t,filters:r,onApplyNewFilter:n})=>{const s=d=>{r.value=[...r.value,d]};return{appendFilter:s,onAddFilterByContextCell:async()=>{var p,l;const d=(p=t.value)==null?void 0:p.cellContextMenu;if(!d)return;const i=ts({columnName:d.colDef.field,cellValue:d.value});i&&(s(i),await Be(),(l=c.value)==null||l.onShowSearch(),n())}}};function Yn(c){const{tableName:t,schemaName:r,primaryKeys:n,columnNames:s,data:v,selectedRows:d,pagination:i,addHistoryLog:p,refreshTableData:l,refreshCount:_,openErrorModal:b,errorMessage:f,quickQueryTableRef:w,focusedCell:a,safeModeEnabled:g,onRequestSafeModeConfirm:u,connection:S}=c,N=P(!1),Z=async()=>{var $;const R=($=w.value)==null?void 0:$.gridApi;R&&(R==null||R.deselectAll(),R==null||R.clearFocusedCell(),_(),l())},ie=R=>{d.value=R},J=R=>{a&&(a.value=R)},ue=()=>{var R;return((R=w.value)==null?void 0:R.editedCells)??[]},me=()=>ue().filter(R=>R.isNewRow||Object.keys(R.changedData).length>0),pe=async()=>{var F;const R=me();if(!v.value||!R.length){Je.info("No changes to save.");return}const $=[];if(R.forEach(M=>{var ee,ce,ge;const O=!!Object.keys(M.changedData).length,Q=(ee=v.value)==null?void 0:ee[M.rowId],ae=O&&Q&&!M.isNewRow,ne=M.isNewRow||!Q&&O;if(ae){const k=Xa({tableName:t,schemaName:r,update:M.changedData,pKeys:n.value,pKeyValue:Q,dbType:(ce=S.value)==null?void 0:ce.type});$.push(k)}else if(ne){const k=es({tableName:t,schemaName:r,insertData:M.changedData,dbType:(ge=S.value)==null?void 0:ge.type});$.push(k)}}),!$.length){Je.info("No valid changes to save.");return}if(!(g!=null&&g.value&&u&&!await u($.join(`
5
5
  `),"save"))){N.value=!0;try{const{queryTime:M}=await $fetch("/api/tables/bulk-update",{method:"POST",body:{sqlUpdateStatements:$,...we(S.value)},onResponseError({response:O}){var ne,ee,ce;const Q=(ee=(ne=O==null?void 0:O._data)==null?void 0:ne.data)==null?void 0:ee.driverError,ae=(ce=O==null?void 0:O._data)==null?void 0:ce.message;b.value=!0,console.error("Error during bulk update:",O==null?void 0:O._data),f.value=ae||"An unknown error occurred during update.",p($.join(`
6
6
  `),0,Q,ae)}});(F=w.value)!=null&&F.editedCells&&(w.value.editedCells=[]),p($.join(`
7
7
  `),M),_(),l(),Je.success("Data saved successfully!")}catch(M){console.error("Fetch error in onSaveData:",M)}finally{N.value=!1}}},oe=async()=>{var $,F;if(!d.value.length){Je.info("No rows selected for deletion.");return}const R=[];if(d.value.forEach(M=>{var Q;const O=Za({tableName:t,schemaName:r,pKeys:n.value,pKeyValue:M,dbType:(Q=S.value)==null?void 0:Q.type});R.push(O)}),!(g!=null&&g.value&&u&&!await u(R.join(`
8
8
  `),"delete"))){N.value=!0;try{const{queryTime:M}=await $fetch("/api/tables/bulk-delete",{method:"POST",body:{sqlDeleteStatements:R,...we(S.value)},onResponseError({response:Q}){var ee,ce,ge;const ae=(ce=(ee=Q==null?void 0:Q._data)==null?void 0:ee.data)==null?void 0:ce.driverError,ne=(ge=Q==null?void 0:Q._data)==null?void 0:ge.message;b.value=!0,f.value=ne||"An unknown error occurred during deletion.",p(R.join(`
9
9
  `),0,ae,ne)}});if((($=d.value)==null?void 0:$.length)===((F=v.value)==null?void 0:F.length)&&i.offset>0){const Q=i.offset-i.limit;i.offset=Q>0?Q:0}p(R.join(`
10
- `),M||0),_(),l(),Je.success("Rows deleted successfully!")}catch(M){console.error("Fetch error in onDeleteRows:",M)}finally{N.value=!1}}},de=()=>{var ae,ne;const R=(ae=w.value)==null?void 0:ae.gridApi;if(!R){Je.error("Table grid API not available to add row.");return}let $=0;R.forEachNode(()=>$++);const F=$,M={[mt]:F+1,...Object.fromEntries(s.value.map(ee=>[ee,void 0]))};R.applyTransaction({add:[M],addIndex:F});const O=ue();if(!((ne=w.value)!=null&&ne.editedCells))return;w.value.editedCells=[...O,{rowId:F,changedData:{},isNewRow:!0}],R.setFocusedCell(F,s.value[0]);const Q=R.getRowNode(F.toString());Q&&(R.deselectAll(),Q.setSelected(!0))},Ne=()=>{!w.value||!me().length||(w.value.editedCells=[],Z(),Je.info("Changes discarded."))},T=C(()=>me().length),E=C(()=>T.value>0);return{onAddEmptyRow:de,onDiscardChanges:Ne,onDeleteRows:oe,onSaveData:pe,isMutating:N,hasEditedRows:E,pendingChangesCount:T,onCopyRows:()=>{const R=d.value;if(!R)return;const $=R.map(F=>{var O;const M=((F==null?void 0:F[mt])||1)-1;return(O=v.value)==null?void 0:O[M]});Ia($)},onPasteRows:async()=>{var F,M;const R=(F=w.value)==null?void 0:F.gridApi;if(!R)return;const $=R.getFocusedCell();$&&($==null||$.rowIndex,(M=$==null?void 0:$.column)==null||M.getColId(),await navigator.clipboard.readText())},onRefresh:Z,onSelectedRowsChange:ie,onCopySelectedCell:async()=>{a!=null&&a.value&&await navigator.clipboard.writeText(Vn(a.value)||"")},onFocusedCellChange:J,onDeselectAll:()=>{var $;($=w.value)!=null&&$.gridApi}}}const Jn=({tableName:c,schemaName:t,connectionId:r,tabViewType:n})=>{const s=Qe(),{schemas:v}=Mt(s),d=C(()=>{const a=v.value[r];if(a)return a.find(g=>g.name===t)}),i=C(()=>{var a,g,u,S;switch(n){case Nt.TableDetail:return(g=(a=d.value)==null?void 0:a.tableDetails)==null?void 0:g[c];case Nt.ViewDetail:{const N=(S=(u=d.value)==null?void 0:u.viewDetails)==null?void 0:S[c];return{columns:N==null?void 0:N.columns,foreign_keys:[],primary_keys:[],table_id:N==null?void 0:N.view_id}}default:return null}}),p=C(()=>n===Nt.ViewDetail),l=C(()=>{var a,g;return((g=(a=i.value)==null?void 0:a.columns)==null?void 0:g.map(u=>u.name))||[]}),_=C(()=>{var a;return(((a=i.value)==null?void 0:a.foreign_keys)||[]).map(g=>g.column)}),b=C(()=>{var a;return((a=i.value)==null?void 0:a.foreign_keys)||[]}),f=C(()=>{var a;return(((a=i.value)==null?void 0:a.primary_keys)||[]).map(g=>g.column)}),w=C(()=>{var a,g;return((g=(a=i.value)==null?void 0:a.columns)==null?void 0:g.map(u=>({name:u.name,type:u.short_type_name})))||[]});return{primaryKeyColumns:f,foreignKeys:b,columnNames:l,tableMetaData:i,columnTypes:w,foreignKeyColumns:_,isVirtualTable:p}},ns=()=>({[re.Data]:!0,[re.Structure]:!1,[re.Erd]:!1}),Xn=({initialTab:c=re.Data,onTabChanged:t}={})=>{const r=P(c),n=P(ns());return Fe(r,s=>{n.value[s]=!0,t==null||t(s)}),{quickQueryTabView:r,openedQuickQueryTab:n}},Yt=({schemaName:c,tableName:t})=>{const r=Qe(),{activeReservedSchemas:n}=Mt(r),s=C(()=>(n.value||[]).find(p=>p.table===t&&p.schema===c)),v=C(()=>{var p,l;const i=new Map;return(l=(p=s.value)==null?void 0:p.used_by)==null||l.forEach(_=>{i.set(_.referenced_column,!0)}),i});return{activeReservedSchemas:n,reverseTables:s,isHaveRelationByFieldName:i=>v.value.has(i)}};function Zn(){const c=P(!1),t=P(""),r=P("save");let n=null;return{safeModeDialogOpen:c,safeModeDialogSql:t,safeModeDialogType:r,onRequestSafeModeConfirm:(i,p)=>new Promise(l=>{t.value=i,r.value=p,c.value=!0,n=l}),onSafeModeConfirm:()=>{n&&(n(!0),n=null),c.value=!1},onSafeModeCancel:()=>{n&&(n(!1),n=null),c.value=!1}}}const os=["for"],as=["for"],ss=Y({__name:"DynamicForm",props:{fields:{},validationSchema:{},class:{}},setup(c,{expose:t}){const r=c,n=ua({validationSchema:da(r.validationSchema),name:`dynamic-form-${pt()}`});return t({form:n}),(s,v)=>(h(),x("div",{class:De(r.class)},[(h(!0),x(fe,null,ke(s.fields,d=>qe((h(),x("div",{key:d.name},[y("div",{class:De(["flex justify-between pb-0.5",d.titleClass])},[y("label",{class:"text-xs text-right",for:d.name},B(d.label),9,os),y("label",{class:"text-xs text-right text-primary/80",for:d.name},B(d.type),9,as)],2),o(e(ma),{as:d.as,id:d.name,name:d.name,class:De(d.class),placeholder:d.placeholder},null,8,["as","id","name","class","placeholder"])])),[[Ze,d.isShow]])),128))],2))}}),ls={class:"p-2 pb-0"},rs={class:"relative w-full"},is={class:"absolute left-1.5 top-1.5 w-4"},cs=Y({__name:"PreviewSelectedRow",props:{columnTypes:{},selectedRow:{}},setup(c){const t=c,r=C(()=>{const _={};return t.columnTypes.forEach(b=>{const f=jn(b.type);f==="boolean"?_[b.name]=Oa().optional():f==="number"?_[b.name]=ka().optional():_[b.name]=xt().optional()}),_}),n=Ro(""),s=$o(n,$n),v=C(()=>{const _=[],b=s.value.toLowerCase().trim();return t.columnTypes.forEach(f=>{const w=f.name.toLowerCase(),a=b?w.includes(b):!0;_.push({label:f.name,type:f.type,as:pa,name:f.name,class:"px-1 py-0.5 h-fit min-h-6! text-primary/80 font-normal!",placeholder:"NULL",isShow:a})}),_}),d=C(()=>{const _=s.value.toLowerCase().trim();return _?!t.columnTypes.some(b=>b.name.toLowerCase().includes(_)):!1}),i=C(()=>Rn(r.value)),p=P(),l=_=>{const b=Object.entries(_).reduce((f,[w,a])=>(f[w]=Vn(a||""),f),{});Be(()=>{var f;(f=p.value)==null||f.form.setValues(b)})};return Fe(()=>[t.selectedRow,p],([_])=>{_&&l(_)},{immediate:!0,deep:!0}),(_,b)=>{const f=le,w=lt;return h(),x(fe,null,[y("div",ls,[y("div",rs,[y("div",is,[o(f,{name:"lucide:search",class:"stroke-3!"})]),o(w,{type:"text",placeholder:"Search fields ...",class:"pr-6 pl-6 w-full h-8",modelValue:e(n),"onUpdate:modelValue":b[0]||(b[0]=a=>Ee(n)?n.value=a:null)},null,8,["modelValue"]),e(n)?(h(),x("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer rounded-md hover:bg-accent",onClick:b[1]||(b[1]=a=>n.value="")},[o(f,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):U("",!0)])]),e(d)?(h(),D(e(Pe),{key:0,title:"No results",desc:"No fields match your search."})):(h(),D(ss,{key:1,ref_key:"dynamicForm",ref:p,class:"space-y-1 p-2 overflow-y-auto",fields:e(v),"validation-schema":e(i)},null,8,["fields","validation-schema"]))],64)}}}),us={class:"grid gap-3"},ds={class:"grid gap-2"},ms={class:"grid grid-cols-3 items-center gap-4"},ps={class:"grid grid-cols-3 items-center gap-4"},fs={class:"flex justify-center"},vs=Y({__name:"QuickPagination",props:{limit:{},offset:{},totalRows:{}},emits:["onPaginate"],setup(c,{emit:t}){const r=c,n=t,s=P(0),v=P(0),d=P(!1),i=()=>{s.value=r.limit,v.value=r.offset},p=()=>{if(v.value>r.totalRows){v.value=r.totalRows-1;return}v.value<0&&(v.value=r.offset)},l=()=>{if(s.value>r.totalRows){s.value=r.totalRows;return}s.value<0&&(s.value=r.limit)},_=()=>{p(),l(),n("onPaginate",{limit:s.value,offset:v.value}),d.value=!1};return(b,f)=>(h(),D(e(he),null,{default:m(()=>[o(e(Dn),{open:d.value,"onUpdate:open":f[2]||(f[2]=w=>d.value=w)},{default:m(()=>[o(e(Pn),{"as-child":""},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(e(Ce),{onClick:i,variant:"outline",size:"xxs"},{default:m(()=>[A(B(b.limit),1)]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>f[3]||(f[3]=[y("p",null,"Pagination settings",-1)])),_:1})]),_:1}),o(e(Mn),{class:"w-64"},{default:m(()=>[y("div",us,[f[7]||(f[7]=y("div",{class:"space-y-2"},[y("h4",{class:"font-medium leading-none"},"Pagination"),y("p",{class:"text-sm text-muted-foreground"},"Set limit and offset")],-1)),y("div",ds,[y("div",ms,[o(e(cn),{for:"limit"},{default:m(()=>f[4]||(f[4]=[A("Limit")])),_:1}),o(e(lt),{id:"limit",type:"number",modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=w=>s.value=w),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"1",onBlur:l,onKeyup:dt(_,["enter"])},null,8,["modelValue"])]),y("div",ps,[o(e(cn),{for:"offset"},{default:m(()=>f[5]||(f[5]=[A("Offset")])),_:1}),o(e(lt),{id:"offset",type:"number",modelValue:v.value,"onUpdate:modelValue":f[1]||(f[1]=w=>v.value=w),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"0",onBlur:p,onKeyup:dt(_,["enter"])},null,8,["modelValue"])])]),y("div",fs,[o(e(Ce),{size:"xs",class:"px-6",onClick:_},{default:m(()=>f[6]||(f[6]=[A("Go")])),_:1})])])]),_:1})]),_:1},8,["open"])]),_:1}))}}),ys=Y({__name:"RefreshButton",emits:["onRefresh"],setup(c,{emit:t}){const r=t,n=P(0),s=()=>{n.value+=360,r("onRefresh")};return vt([{key:"meta+r",callback:()=>{s()}}],{isPreventDefault:!0}),(v,d)=>(h(),D(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(e(Ce),{variant:"outline",size:"xxs",onClick:s,"aria-label":"Refresh table"},{default:m(()=>[o(e(le),{name:"hugeicons:refresh",style:Ae({transform:`rotate(${n.value}deg)`}),class:"icon-transition"},null,8,["style"]),o(e(Wt),null,{default:m(()=>d[0]||(d[0]=[A("⌘R")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>d[1]||(d[1]=[y("p",null,"Refresh data",-1)])),_:1})]),_:1}))}}),gs=Io(ys,[["__scopeId","data-v-d56d89e4"]]),hs={key:0,class:"flex items-center gap-1"},bs={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"},_s={key:4,class:"font-normal text-xs text-primary/60"},ws={key:5,class:"font-normal text-sm text-primary"},Cs={key:1},Ss={key:2,class:"flex items-center gap-2"},xs={class:"font-normal text-sm text-primary/80"},Ns={key:3},Ts={class:"flex items-center gap-1"},eo=Y({__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(c,{emit:t}){const r=yt(),{openSettings:n}=ko(),s=c,v=t,d=P(),i=C(()=>s.tabView===re.Data);return C(()=>{var p;return((p=un.find(l=>l.value===r.tableAppearanceConfigs.nullOrderPreference))==null?void 0:p.label)||"Unset"}),(p,l)=>{const _=Wt,b=Ce,f=Ut,w=Bt,a=Lt,g=Oo("auto-animate");return h(),x("div",{ref_key:"quickQueryControlBarRef",ref:d,class:De(["w-full select-none h-9 flex items-center justify-between"])},[e(i)?qe((h(),x("div",hs,[o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",onClick:l[0]||(l[0]=u=>v("onShowFilter"))},{default:m(()=>[o(e(le),{name:"lucide:filter"}),o(_,null,{default:m(()=>l[14]||(l[14]=[A("⌘F")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[15]||(l[15]=[y("p",null,"Filter data",-1)])),_:1})]),_:1}),o(gs,{onOnRefresh:l[1]||(l[1]=u=>v("onRefresh"))}),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",onClick:l[2]||(l[2]=u=>v("onToggleHistoryPanel"))},{default:m(()=>[o(e(le),{name:"lucide:terminal"}),o(_,null,{default:m(()=>l[16]||(l[16]=[A("⌘j")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[17]||(l[17]=[y("p",null,"History logs",-1)])),_:1})]),_:1}),p.isViewVirtualTable?U("",!0):(h(),D(e(he),{key:0},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",class:"font-normal",size:"xxs",onClick:l[3]||(l[3]=u=>v("onAddEmptyRow"))},{default:m(()=>[o(e(le),{name:"hugeicons:plus-sign"}),l[18]||(l[18]=A(" Row "))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[19]||(l[19]=[y("p",null,"Add new record",-1)])),_:1})]),_:1})),p.hasEditedRows&&!p.isViewVirtualTable?(h(),D(e(he),{key:1},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",class:"relative overflow-visible",onClick:l[4]||(l[4]=u=>v("onSaveData"))},{default:m(()=>[o(e(le),{name:"lucide:save"}),p.pendingChangesCount?(h(),x("span",bs,B(p.pendingChangesCount),1)):U("",!0),o(_,null,{default:m(()=>l[20]||(l[20]=[A("⌘S")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[21]||(l[21]=[y("p",null,"Save changes",-1)])),_:1})]),_:1})):U("",!0),p.hasEditedRows&&!p.isViewVirtualTable?(h(),D(e(he),{key:2},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",class:"font-normal",onClick:l[5]||(l[5]=u=>v("onDiscardChanges"))},{default:m(()=>[o(e(le),{name:"hugeicons:undo-02"}),l[22]||(l[22]=A(" Discard "))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[23]||(l[23]=[y("p",null,"Discard changes",-1)])),_:1})]),_:1})):U("",!0),p.totalSelectedRows&&!p.isViewVirtualTable?(h(),D(e(he),{key:3},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",onClick:l[6]||(l[6]=u=>v("onDeleteRows"))},{default:m(()=>[o(e(le),{name:"lucide:trash"}),o(_,null,{default:m(()=>l[24]||(l[24]=[A("⌥⌘⌫")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>[y("p",null,"Delete "+B(p.totalSelectedRows)+" selected rows",1)]),_:1})]),_:1})):U("",!0),p.totalSelectedRows?(h(),x("p",_s," Selected ")):U("",!0),p.totalSelectedRows?(h(),x("p",ws,B(p.totalSelectedRows),1)):U("",!0)])),[[g]]):(h(),x("div",Cs)),e(i)?(h(),x("div",Ss,[o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"iconSm",disabled:!p.isAllowPreviousPage,onClick:l[7]||(l[7]=u=>v("onPreviousPage"))},{default:m(()=>[o(e(le),{name:"lucide:chevron-left"})]),_:1},8,["disabled"])]),_:1}),o(e(_e),null,{default:m(()=>l[25]||(l[25]=[y("p",null,"Previous page",-1)])),_:1})]),_:1}),y("div",xs,[A(B(p.offset+1)+"-"+B(p.offset+p.currentTotalRows)+" ",1),l[26]||(l[26]=y("p",{class:"font-normal text-xs text-primary/60 inline"},"of",-1)),A(" "+B(p.totalRows)+" ",1),l[27]||(l[27]=y("p",{class:"font-normal text-xs text-primary/60 inline"},"rows",-1))]),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"iconSm",disabled:!p.isAllowNextPage,onClick:l[8]||(l[8]=u=>v("onNextPage"))},{default:m(()=>[o(e(le),{name:"lucide:chevron-right"})]),_:1},8,["disabled"])]),_:1}),o(e(_e),null,{default:m(()=>l[28]||(l[28]=[y("p",null,"Next page",-1)])),_:1})]),_:1}),o(vs,{limit:p.limit,offset:p.offset,totalRows:p.totalRows,onOnPaginate:l[9]||(l[9]=u=>v("onPaginate",u))},null,8,["limit","offset","totalRows"])])):(h(),x("div",Ns)),y("div",Ts,[o(a,{"model-value":p.tabView,"onUpdate:modelValue":l[10]||(l[10]=u=>p.$emit("update:tabView",u))},{default:m(()=>[o(w,{class:"grid w-full grid-cols-3 h-[1.625rem]!"},{default:m(()=>[o(f,{value:e(re).Data,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>l[29]||(l[29]=[A(" Data ")])),_:1},8,["value"]),o(f,{value:e(re).Structure,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>l[30]||(l[30]=[A(" Structure ")])),_:1},8,["value"]),o(f,{value:e(re).Erd,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80",disabled:p.isViewVirtualTable},{default:m(()=>l[31]||(l[31]=[A(" ERD ")])),_:1},8,["value","disabled"])]),_:1})]),_:1},8,["model-value"]),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"ghost",size:"iconSm",onClick:l[11]||(l[11]=u=>e(n)("Quick Query"))},{default:m(()=>[e(r).quickQuerySafeModeEnabled?(h(),D(e(le),{key:0,name:"hugeicons:security-check",class:"size-4!"})):(h(),D(e(le),{key:1,name:"lucide:shield-minus",class:"size-4! text-muted-foreground"}))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>[y("p",null," Safe Mode: "+B(e(r).quickQuerySafeModeEnabled?"Enabled":"Disabled"),1),l[32]||(l[32]=y("p",{class:"text-xs text-muted-foreground"},"Click to configure",-1))]),_:1})]),_:1}),o(e(ya),null,{default:m(()=>[o(e(ga),{"as-child":""},{default:m(()=>[o(b,{variant:"ghost",size:"xxs"},{default:m(()=>[o(e(le),{name:"hugeicons:arrow-up-down",class:"size-4!"})]),_:1})]),_:1}),o(e(ha),{align:"end",class:"min-w-44"},{default:m(()=>[o(e(ba),{class:"py-0"},{default:m(()=>l[33]||(l[33]=[A("Null ordering")])),_:1}),o(e(_a)),o(e(fa),{"model-value":e(r).tableAppearanceConfigs.nullOrderPreference,"onUpdate:modelValue":l[12]||(l[12]=u=>e(r).tableAppearanceConfigs.nullOrderPreference=u)},{default:m(()=>[(h(!0),x(fe,null,ke(e(un),u=>(h(),D(e(va),{key:u.value,value:u.value,class:"h-7 cursor-pointer"},{default:m(()=>[A(B(u.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value"])]),_:1})]),_:1}),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"ghost",size:"iconSm",onClick:l[13]||(l[13]=u=>e(n)("Appearance"))},{default:m(()=>[o(e(le),{name:"hugeicons:settings-04",class:"size-4!"})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[34]||(l[34]=[y("p",null,"Table appearance settings",-1)])),_:1})]),_:1})])],512)}}}),Rs={class:"sticky top-0 z-10 bg-popover"},$s={class:"p-1"},Is={key:3,class:"px-2 py-1 text-sm text-muted-foreground"},ks=Y({__name:"ColumnSelector",props:{columns:{},value:{}},emits:["update:value","update:open"],setup(c,{emit:t}){const r=c,n=t,s=P(""),v=C(()=>s.value.trim().toLowerCase()),d=C(()=>new dn(r.columns,{threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),i=C(()=>new dn(mn,{keys:["label","value"],threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),p=C(()=>{const b=v.value;return b?d.value.search(b).map(f=>f.item):r.columns}),l=C(()=>{const b=v.value;return b?i.value.search(b).map(f=>f.item):mn}),_=b=>{n("update:open",b),b||(s.value="")};return(b,f)=>{const w=qt,a=Kt,g=lt,u=In,S=jt,N=zt,Z=Qt,ie=Vt;return h(),D(ie,{"model-value":b.value,"onUpdate:modelValue":f[4]||(f[4]=J=>n("update:value",J)),"onUpdate:open":_},{default:m(()=>[o(a,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:m(()=>[o(w,{placeholder:"Select field"})]),_:1}),o(Z,null,{default:m(()=>[o(N,null,{default:m(()=>[y("div",Rs,[y("div",$s,[o(g,{"model-value":e(s),"onUpdate:modelValue":f[0]||(f[0]=J=>Ee(s)?s.value=J:null),type:"text",placeholder:"Search fields",class:"h-7 text-sm",autocomplete:"off",onClick:f[1]||(f[1]=Xe(()=>{},["stop"])),onMousedown:f[2]||(f[2]=Xe(()=>{},["stop"])),onKeydown:f[3]||(f[3]=Xe(()=>{},["stop"]))},null,8,["model-value"])]),o(u)]),e(p).length?(h(!0),x(fe,{key:0},ke(e(p),J=>(h(),D(S,{key:J,class:"h-6 text-sm cursor-pointer",value:J},{default:m(()=>[A(B(J),1)]),_:2},1032,["value"]))),128)):U("",!0),e(p).length&&e(l).length?(h(),D(u,{key:1})):U("",!0),e(l).length?(h(!0),x(fe,{key:2},ke(e(l),J=>(h(),D(S,{key:J.value,class:"h-6 text-sm cursor-pointer",value:J.value},{default:m(()=>[A(B(J.label),1)]),_:2},1032,["value"]))),128)):U("",!0),!e(p).length&&!e(l).length?(h(),x("div",Is," No fields found ")):U("",!0)]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),Os=Y({__name:"OperatorSelector",props:{dbType:{},value:{}},emits:["update:value","update:open"],setup(c){const t=c,r=C(()=>Rt[t.dbType]??Rt[ye.MYSQL]??[]);return(n,s)=>{const v=qt,d=Kt,i=jt,p=zt,l=Qt,_=Vt;return h(),D(_,{"model-value":n.value,"onUpdate:modelValue":s[0]||(s[0]=b=>n.$emit("update:value",b)),"onUpdate:open":s[1]||(s[1]=b=>n.$emit("update:open",b))},{default:m(()=>[o(d,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:m(()=>[o(v,{placeholder:"Select operator"})]),_:1}),o(l,null,{default:m(()=>[o(p,null,{default:m(()=>[(h(!0),x(fe,null,ke(e(r),b=>(h(),x(fe,null,[b.value===e(Eo).value?(h(),D(e(In),{key:0})):(h(),D(i,{key:1,class:"h-6 text-sm cursor-pointer",value:b.value},{default:m(()=>[A(B(b.label),1)]),_:2},1032,["value"]))],64))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),Es={class:"text-xs font-medium"},As={class:"text-xs font-medium"},Fs=Y({__name:"ViewParserFilterApply",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function}},setup(c){const t=c,r=P(""),n=P(""),s=()=>{r.value=wn(t.getParserApplyFilter(),{language:"postgresql",keywordCase:"upper"}),n.value=wn(t.getParserAllFilter(),{language:"postgresql",keywordCase:"upper"})};return(v,d)=>(h(),D(e(he),null,{default:m(()=>[o(e(Dn),null,{default:m(()=>[o(e(Pn),{"as-child":""},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(e(Ce),{onClick:s,size:"xxs",variant:"outline"},{default:m(()=>d[0]||(d[0]=[A(" SQL ")])),_:1})]),_:1}),o(e(_e),null,{default:m(()=>d[1]||(d[1]=[y("p",null,"View SQL query",-1)])),_:1})]),_:1}),o(e(Mn),{class:"w-[40rem] p-2 space-y-2","restore-focus":!0},{default:m(()=>[y("div",Es,[d[2]||(d[2]=A(" Curren filter ")),o(e(Dt),{code:e(r),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])]),y("div",As,[d[3]||(d[3]=A(" Apply all filter ")),o(e(Dt),{code:e(n),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])])]),_:1})]),_:1})]),_:1}))}}),Ds={class:"flex justify-between"},Ps={class:"flex items-center gap-0.5 text-xs"},Ms={class:"text-xs flex items-center gap-2"},Ls=Y({__name:"QuickQueryFilterGuide",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function},composeWith:{}},emits:["onChangeComposeWith"],setup(c,{emit:t}){const r=t;return(n,s)=>{const v=qt,d=Kt,i=jt,p=zt,l=Qt,_=Vt,b=Wt;return h(),x("div",Ds,[y("div",Ps,[s[3]||(s[3]=A(" Compose with: ")),o(_,{modelValue:n.composeWith,"onUpdate:modelValue":s[0]||(s[0]=f=>r("onChangeComposeWith",f))},{default:m(()=>[o(d,{class:"w-14 h-5! text-xs cursor-pointer px-1 border-none gap-1 shadow-none"},{default:m(()=>[o(v,{placeholder:"Select operator"})]),_:1}),o(l,null,{default:m(()=>[o(p,null,{default:m(()=>[o(i,{class:"h-5 text-xs cursor-pointer",value:e(ft).AND},{default:m(()=>s[1]||(s[1]=[A(" AND ")])),_:1},8,["value"]),o(i,{class:"h-5 text-xs cursor-pointer",value:e(ft).OR},{default:m(()=>s[2]||(s[2]=[A(" OR ")])),_:1},8,["value"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),y("div",Ms,[y("div",null,[o(b,null,{default:m(()=>s[4]||(s[4]=[A("⌘F")])),_:1}),s[5]||(s[5]=A(": Show"))]),y("div",null,[o(b,null,{default:m(()=>s[6]||(s[6]=[A("Esc")])),_:1}),s[7]||(s[7]=A(": Exit"))]),o(e(Ao),{orientation:"vertical",class:"h-3/4!"}),y("div",null,[o(b,null,{default:m(()=>s[8]||(s[8]=[A("⌘I")])),_:1}),s[9]||(s[9]=A(": Insert"))]),y("div",null,[o(b,null,{default:m(()=>s[10]||(s[10]=[A("⌘⌫")])),_:1}),s[11]||(s[11]=A(": Delete"))]),y("div",null,[o(b,null,{default:m(()=>s[12]||(s[12]=[A("⌘↵")])),_:1}),s[13]||(s[13]=A(": Apply all"))])]),y("div",null,[o(Fs,{getParserApplyFilter:n.getParserApplyFilter,getParserAllFilter:n.getParserAllFilter},null,8,["getParserApplyFilter","getParserAllFilter"])])])}}}),to=Y({__name:"QuickQueryFilter",props:pn({columns:{},dbType:{},baseQuery:{},initFilters:{},composeWith:{}},{isShowFilters:{},isShowFiltersModifiers:{}}),emits:pn(["onSearch","onUpdateFilters","onChangeComposeWith"],["update:isShowFilters"]),setup(c,{expose:t,emit:r}){const n=c,s=Fo(c,"isShowFilters"),v=r,d=P(),i=Ht("filterSearchRefs"),p=C(()=>n.initFilters||[]),l=()=>p.value.map(T=>({...T})),_=T=>{v("onUpdateFilters",T)},b=(T,E)=>{const H=l(),I=H[T];I&&(H[T]={...I,...E},_(H))},f=(T,E)=>{const H=l();H.splice(T,0,{...E}),_(H)},w=T=>{const E=l();E.splice(T,1),_(E)},a=T=>{f(T+1,{isSelect:!0,fieldName:ut.AnyField,operator:W.LIKE_CONTAINS})},g=(T,E)=>{var K;const H=(K=p.value)==null?void 0:K[T],I=(H==null?void 0:H.fieldName)===ut.RawQuery,V=!(H!=null&&H.operator);I&&V?b(T,{...H,fieldName:E,operator:W.LIKE_CONTAINS}):b(T,{...H,fieldName:E})},u=()=>`${n.baseQuery} ${Pt({columns:n.columns,db:n.dbType,filters:p.value,composeWith:n.composeWith})};`,S=()=>`${n.baseQuery} ${Pt({columns:n.columns,db:n.dbType,filters:p.value.map(T=>({...T,isSelect:!0})),composeWith:n.composeWith})};`,N=(T=!1)=>{if(T){v("onSearch");return}v("onSearch")},Z=T=>{var H;const E=(H=p.value)==null?void 0:H[T];E!=null&&E.isSelect||b(T,{...E,isSelect:!0}),N()},ie=()=>{_(p.value.map(T=>({...T,isSelect:!0}))),N()},J=async T=>{var I;const E=(I=p.value)==null?void 0:I[T],H=!!(E!=null&&E.isSelect);w(T),await Be(),T!==0&&oe(T-1),H&&N()},ue=T=>T==null?"":String(T),me=(T,E)=>{b(T,{search:E})},pe=async(T,E)=>{b(T,{isSelect:E}),await N()},oe=T=>{var E,H;i.value&&((H=(E=i.value)==null?void 0:E[T])==null||H.$el.focus())},de=()=>{p.value.length||a(-1),s.value=!0,Be(()=>{const T=p.value.length-1||0;oe(T)})},Ne=()=>i.value?i.value.findIndex(E=>E.$el===document.activeElement):void 0;return vt([{key:"meta+backspace",callback:async()=>{const T=Ne();T===void 0||T<0||J(T)}},{key:"meta+enter",callback:()=>{const T=Ne();T!==void 0&&T>=0&&ie()}},{key:"meta+i",callback:async()=>{const T=Ne();T===void 0||T<0||(a(T),await Be(),oe(T+1))}},{key:"escape",callback:()=>{s.value=!1,N(!0)}}],{target:d}),t({onShowSearch:de,insert:f}),(T,E)=>{const H=Ca,I=lt,V=Ce;return s.value?(h(),x("div",{key:0,ref_key:"quickQueryFilterRef",ref:d,class:De(["h-fit space-y-1",e(p).length&&"pb-2"])},[(h(!0),x(fe,null,ke(e(p),(K,R)=>(h(),x("div",{class:"flex gap-1 items-center",key:R},[o(H,{"model-value":K.isSelect,onClick:E[0]||(E[0]=Xe(()=>{},["stop"])),onKeydown:E[1]||(E[1]=dt(Xe(()=>{},["stop","prevent"]),["enter"])),onKeyup:E[2]||(E[2]=dt(Xe(()=>{},["stop"]),["enter"])),"onUpdate:modelValue":$=>pe(R,!!$)},null,8,["model-value","onUpdate:modelValue"]),o(ks,{columns:T.columns,value:K.fieldName,"onUpdate:value":$=>{g(R,$)},"onUpdate:open":$=>{$||T.$nextTick(()=>oe(R))}},null,8,["columns","value","onUpdate:value","onUpdate:open"]),K.fieldName!==e(ut).RawQuery?(h(),D(Os,{key:0,"db-type":T.dbType,value:K.operator,"onUpdate:value":$=>b(R,{operator:$==null?void 0:String($)}),"onUpdate:open":$=>{$||T.$nextTick(()=>oe(R))}},null,8,["db-type","value","onUpdate:value","onUpdate:open"])):U("",!0),o(I,{"model-value":ue(K.search),type:"text",placeholder:e(Ya)(K.operator||""),class:"w-full h-6 px-2",ref_for:!0,ref_key:"filterSearchRefs",ref:i,onKeyup:E[3]||(E[3]=dt(Xe(()=>N(),["stop"]),["enter"])),"onUpdate:modelValue":$=>me(R,String($))},null,8,["model-value","placeholder","onUpdate:modelValue"]),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(V,{size:"xxs",variant:"outline",onClick:$=>Z(R)},{default:m(()=>E[5]||(E[5]=[A(" Apply ")])),_:2},1032,["onClick"])]),_:2},1024),o(e(_e),null,{default:m(()=>E[6]||(E[6]=[y("p",null,"Apply this filter",-1)])),_:1})]),_:2},1024),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(V,{size:"iconSm",variant:"outline",onClick:$=>J(R)},{default:m(()=>[o(e(le),{name:"hugeicons:minus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(_e),null,{default:m(()=>E[7]||(E[7]=[y("p",null,"Remove filter (Meta+Backspace)",-1)])),_:1})]),_:2},1024),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(V,{size:"iconSm",variant:"outline",onClick:()=>a(R)},{default:m(()=>[o(e(le),{name:"hugeicons:plus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(_e),null,{default:m(()=>E[8]||(E[8]=[y("p",null,"Add new filter (Meta+I)",-1)])),_:1})]),_:2},1024)]))),128)),e(p).length?(h(),D(Ls,{key:0,getParserApplyFilter:u,getParserAllFilter:S,"compose-with":T.composeWith,onOnChangeComposeWith:E[4]||(E[4]=K=>v("onChangeComposeWith",K))},null,8,["compose-with"])):U("",!0)],2)):U("",!0)}}}),no=Y({__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(c,{emit:t}){const r=yt(),n=c,s=t,v=C(()=>{var u,S,N,Z;return((S=(u=n.cellContextMenu)==null?void 0:u.column)==null?void 0:S.getColId())??((Z=(N=n.cellHeaderContextMenu)==null?void 0:N.column)==null?void 0:Z.getColId())}),d=C(()=>{var u,S,N;return((u=n.cellContextMenu)==null?void 0:u.column.getColDef().headerName)??((N=(S=n.cellHeaderContextMenu)==null?void 0:S.column)==null?void 0:N.getColDef().headerName)??""}),i=u=>{hn(n.selectedRows||[],d.value??"",u)},p=u=>{hn(n.data||[],d.value??"",u)},l=u=>Ft(n.selectedRows||[],n.tableName||"table_data",u,n.schemaName),_=u=>Ft(n.data||[],n.tableName||"table_data",u,n.schemaName),b=u=>bn(n.selectedRows||[],n.tableName||"table_data",u,"selected",n.schemaName),f=u=>bn(n.data||[],n.tableName||"table_data",u,"all",n.schemaName),w=()=>{var S;const u=(S=n.cellContextMenu)==null?void 0:S.value;if(u!==void 0){if(typeof u=="object")return _n(JSON.stringify(u));_n(String(u))}},a=()=>{var u;if(n.cellContextMenu){const S=(u=n.cellContextMenu)==null?void 0:u.data;Ft([S],n.tableName||"table_data","csv-no-header",n.schemaName)}},g=C(()=>{var pe;const u=!!n.cellContextMenu,S=n.selectedRows.length>0,N=n.selectedRows.length,Z=((pe=n.data)==null?void 0:pe.length)||0,ie=!!v.value,J=[{type:j.LABEL,title:`${N} selected`,condition:S&&u},{type:j.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>i("list"),condition:S&&u},{type:j.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>i("json"),condition:S&&u},{type:j.SEPARATOR,condition:S&&u},{type:j.LABEL,title:"All data in column"},{type:j.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>p("list")},{type:j.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>p("json")}],ue=[{type:j.LABEL,title:`${N} selected row(s)`,condition:S},{type:j.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>l("csv-no-header"),condition:S},{type:j.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>l("json"),condition:S},{type:j.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>l("sql"),condition:S},{type:j.SEPARATOR,condition:S},{type:j.LABEL,title:"All rows"},{type:j.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>_("csv-no-header")},{type:j.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>_("json")},{type:j.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>_("sql")}],me=[{type:j.LABEL,title:`${N} selected row${N>1?"s":""}`,condition:S},{type:j.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>b("csv-no-header"),condition:S},{type:j.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>b("csv-with-header"),condition:S},{type:j.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>b("json"),condition:S},{type:j.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>b("sql"),condition:S},{type:j.SEPARATOR,condition:S},{type:j.LABEL,title:`All ${Z.toLocaleString()} row${Z!==1?"s":""}`},{type:j.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>f("csv-no-header")},{type:j.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>f("csv-with-header")},{type:j.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>f("json")},{type:j.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>f("sql")}];return[{title:"View row detail",icon:"hugeicons:view",type:j.ACTION,select:()=>{r.onShowSecondSidebar()},condition:!n.isReferencedTable&&!!n.cellContextMenu},{title:"Filter by value",icon:"lucide:filter",type:j.ACTION,shortcut:"⌘F",select:()=>{s("onFilterByValue")},condition:!!n.cellContextMenu},{title:"Refresh",icon:"hugeicons:refresh",type:j.ACTION,shortcut:"⌘R",select:()=>{s("onRefresh")}},{type:j.SEPARATOR},{type:j.ACTION,title:"Copy current cell",icon:"hugeicons:copy-02",select:w,condition:u},{type:j.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:a,condition:S&&u},{type:j.SEPARATOR,condition:u},{type:j.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:J,condition:ie,desc:d.value||"Select a column"},{type:j.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:ue},{type:j.SEPARATOR},{type:j.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:me}]});return(u,S)=>{const N=wa;return h(),D(N,{contextMenuItems:e(g),onOnClearContextMenu:S[0]||(S[0]=Z=>s("onClearContextMenu"))},{default:m(()=>[Do(u.$slots,"default")]),_:3},8,["contextMenuItems"])}}});function Bs({fieldType:c,isObjectColumn:t,value:r}){const n=t?JSON.stringify(r):r;return c==="bool"?!!n:n===""||n===null||n===void 0?null:n}const Us={class:"flex items-center justify-between"},Vs={class:"truncate"},Ks=Y({__name:"CustomCellUuid",props:{params:{}},setup(c){return(t,r)=>{var n,s;return h(),x("div",Us,[y("span",Vs,B(((s=(n=t.params)==null?void 0:n.formatValue)==null?void 0:s.call(n,t.params.value))||t.params.value),1),t.params.isPrimaryKey&&t.params.value?(h(),D(e(le),{key:0,onClick:r[0]||(r[0]=()=>{t.params.onOpenPreviewReverseTableModal(t.params.value)}),name:"hugeicons:view",class:"min-w-4 w-4! cursor-pointer hover:bg-amber-500"})):U("",!0)])}}}),qs={class:"ag-header-cell-text items-center flex gap-0.5","data-ref":"eText"},Qs={class:"text-xxs!"},zs={key:0,class:"ag-sort-indicator-container","data-ref":"eSortIndicator"},js={key:0,class:"ag-sort-indicator-icon ag-sort-ascending-icon","data-ref":"eSortAsc","aria-hidden":"true"},Hs={key:1,class:"ag-sort-indicator-icon ag-sort-descending-icon","data-ref":"eSortDesc","aria-hidden":"true"},Ws=Y({__name:"CustomHeaderTable",props:{params:{}},setup(c){const t=c,r=()=>{if(!t.params.allowSorting)return;const n=t.params.sort,s=t.params.onUpdateSort;s(n==="ASC"?{order:"DESC",columnName:t.params.displayName}:n==="DESC"?{}:{order:"ASC",columnName:t.params.displayName})};return(n,s)=>(h(),x("div",{class:"ag-header-cell-label cursor-pointer","data-ref":"eLabel",role:"presentation",onClick:r},[y("span",qs,[t.params.isPrimaryKey?(h(),D(e(le),{key:0,name:"lucide:key-round",class:"min-w-3! text-yellow-500"})):U("",!0),t.params.isForeignKey?(h(),D(e(le),{key:1,name:"lucide:key-round",class:"min-w-3!"})):U("",!0),A(" "+B(t.params.displayName)+" ",1),y("p",Qs,B(t.params.dataType),1)]),n.params.sort?(h(),x("span",zs,[n.params.sort==="ASC"?(h(),x("span",js,s[0]||(s[0]=[y("span",{class:"ag-icon ag-icon-asc",role:"presentation",unselectable:"on"},null,-1)]))):(h(),x("span",Hs,s[1]||(s[1]=[y("span",{class:"ag-icon ag-icon-desc",role:"presentation",unselectable:"on"},null,-1)])))])):U("",!0)]))}}),oo=Y({__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(c,{expose:t,emit:r}){const n=c,s=r,v=P(n.defaultPageSize??kt),{gridApi:d,onGridReady:i}=aa(),p=Ht("agGridRef"),l=P(),_=P();Po(p,I=>{s("onFocusCell",void 0),s("onClickOutSide",I)});const b=P([]),f=C(()=>(n.data??[]).map((I,V)=>({[mt]:V+n.offset+1,...I}))),{handleCellMouseOverDebounced:w,handleCellMouseDown:a}=sa({gridApi:d,gridRef:p}),g=C(()=>new Map(n.columnTypes.map(I=>[I.name,I]))),u=I=>{var K;const V=((K=g.value.get(I))==null?void 0:K.type)||"";return["object","json","jsonb"].includes(V)},S=I=>{var Q,ae,ne;const{colDef:V,newValue:K,rowIndex:R}=I,$=Number(R),F=V.field,M=u(F??""),O=((Q=g.value.get(F??""))==null?void 0:Q.type)||"";if($!==null&&F){const ee=(ne=(ae=n==null?void 0:n.data)==null?void 0:ae[$])==null?void 0:ne[F];let ce=ee!==K;M&&(ce=JSON.stringify(ee)!==JSON.stringify(K));const ge=b.value.some(L=>L.rowId===$),k=Bs({fieldType:O,isObjectColumn:M,value:K});if(ce&&!ge){b.value.push({rowId:$,changedData:{[F]:k}});return}ce?b.value=b.value.map(L=>L.rowId===$?{...L,changedData:{...L.changedData,[F]:k}}:L):b.value=b.value.map(L=>{if(L.rowId!==$)return L;const q={...L.changedData};return delete q[F],{...L,changedData:q}}).filter(L=>L.isNewRow||Object.keys(L.changedData).length>0)}},N=C(()=>{var $;if(!(($=n.columnTypes)!=null&&$.length))return[];const I=[];I.push({colId:mt,headerName:na,field:mt,filter:!1,resizable:!0,editable:!1,sortable:!1,type:"indexColumn",headerComponentParams:{allowSorting:!1},pinned:"left",width:ta});const V=new Set(n.primaryKeyColumns),K=new Set(n.foreignKeyColumns),R=new Map(n.foreignKeys.map(F=>[F.column,F]));return n.columnTypes.forEach(({name:F,type:M})=>{const O=F,Q=n.orderBy.columnName===O?n.orderBy.order:void 0,ae=V.has(O),ne=K.has(O),ee=R.get(O),ce=n.isHaveRelationByFieldName(O),ge=ae&&ce||ne&&ee,k=["json","jsonb"].includes(M),L={headerName:O,field:O,colId:O,filter:!1,resizable:!0,editable:!0,sortable:!1,type:"editableColumn",headerComponentParams:{allowSorting:!0,sort:Q,onUpdateSort:q=>{s("update:orderBy",q)},fieldId:O,isPrimaryKey:ae,isForeignKey:ne},cellRenderer:ge?Ks:void 0,cellRendererParams:{isPrimaryKey:ge,onOpenPreviewReverseTableModal:q=>{ne&&ee?s("onOpenForwardReferencedTableModal",{id:q,tableName:ee.referenced_table,columnName:ee.referenced_column,schemaName:ee.referenced_table_schema}):s("onOpenBackReferencedTableModal",{id:q,columnName:O,tableName:n.currentTableName,schemaName:n.currentSchemaName})}},cellEditorSelector:q=>{if(k)return{component:"AgJsonCellEditor",popup:!0,popupPosition:"under"}},valueFormatter:q=>{const te=q.value;return typeof te=="number"||typeof te=="bigint"?te.toString():te===null?"NULL":k?JSON.stringify(te,null,2):te??""},valueSetter:q=>{if(n.isViewOnly)return!1;if(k)try{const te=JSON.parse(q.newValue);return q.data[O]=te,!0}catch(te){return console.error(`Invalid JSON format in column ${O}:`,te),!1}else return q.data[O]=q.newValue,!0}};I.push(L)}),I});function Z(I){const K=I.event.key;return["Backspace","Delete"].some(function(O){return O===K||K.toUpperCase()===O})}const ie=P({headerComponent:Ws,suppressKeyboardEvent:Z}),J=P({editableColumn:{cellStyle:I=>{const V=I.colDef.colId??"";if(!V||!n.data)return;const K=u(V??""),R=Number(I.node.id??I.node.rowIndex),$=n.data[R];if($===void 0)return{backgroundColor:"var(--color-green-100)"};const F={},M=$[V],O=I.value;(M===null||O===null)&&(F.color="var(--muted-foreground)");let Q=!1;return K?Q=JSON.stringify(M)!==JSON.stringify(O):Q=M!==O,Q?(F.backgroundColor="var(--color-orange-200)",delete F.color):F.backgroundColor="unset",F},cellClass:I=>I.column.getColId()===n.selectedColumnFieldId?"col-highlight-cell cellCenter":"cellCenter"}}),ue=la();Fe(ue,I=>{var V;(V=d.value)==null||V.updateGridOptions({theme:I})});const me=C(()=>({components:{AgJsonCellEditor:ra},paginationPageSize:v.value,rowBuffer:Mo,rowClass:"class-row-border-none",getRowStyle:V=>{if((V.node.rowIndex||0)%2===0)return{background:"var(--muted)"}},rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableSelectionWithoutKeys:!1,enableClickSelection:"enableSelection",copySelectedRows:!1},theme:ue.value,pagination:!1,undoRedoCellEditing:!0,undoRedoCellEditingLimit:25,animateRows:!0,onCellMouseDown:a,onCellMouseOver:w,defaultColDef:ie.value,columnTypes:J.value})),pe=()=>{if(d.value){const I=d.value.getSelectedRows();oe(I)}},oe=I=>{s("onSelectedRows",I)},de=()=>{var V,K,R;const I=(V=d.value)==null?void 0:V.getFocusedCell();if(I){const $=(K=d.value)==null?void 0:K.getDisplayedRowAtIndex(I.rowIndex),F=I.column.getColId(),M=(R=$==null?void 0:$.data)==null?void 0:R[F];s("onFocusCell",M??void 0)}},Ne=I=>{var V,K;(V=n.selectedRows)!=null&&V.length||(K=I==null?void 0:I.node)==null||K.setSelected(!0),l.value=I},T=I=>{_.value=I};Fe(()=>n.selectedColumnFieldId,async()=>{var I;await Be(),(I=d.value)==null||I.refreshCells({force:!0})},{flush:"post"});const E=()=>{if(!d.value)return;const I=d.value.getAllGridColumns()||[],V=(n.data||[]).slice(0,10),K=ca({columns:I,rows:V}),R=new Set(n.primaryKeyColumns),$=new Set(n.foreignKeyColumns);d.value.updateGridOptions({columnDefs:I.map(F=>{const M=F.getColDef().field,O=R.has(M),Q=$.has(M),ne=O||Q?oa:0;return{...F.getColDef(),width:K[M]+ne}})})};return t({gridApi:d,editedCells:b,columnDefs:N,cellContextMenu:l,cellHeaderContextMenu:_,clearCellContextMenu:()=>{l.value=void 0,_.value=void 0}}),kn(async()=>{var $,F,M;if(!d.value)return;await Be();const I=d.value.getState(),V=document.querySelector(".ag-body-viewport");V&&(V.scrollTop=(($=I.scroll)==null?void 0:$.top)||0);const K=((F=d.value)==null?void 0:F.getAllGridColumns())||[];let R=0;for(const O of K){if(R>=(((M=I.scroll)==null?void 0:M.left)||0)){d.value.ensureColumnVisible(O.getColId(),"start");break}R+=O.getActualWidth()}}),(I,V)=>(h(),D(e(ia),{onSelectionChanged:pe,onCellValueChanged:S,onGridReady:e(i),onCellFocused:de,onRowDataUpdated:E,onCellContextMenu:Ne,onColumnHeaderContextMenu:T,class:De(n.class),"grid-options":e(me),columnDefs:e(N),rowData:e(f),ref_key:"agGridRef",ref:p},null,8,["onGridReady","class","grid-options","columnDefs","rowData"]))}}),We=320,Nn=34,Gs=24,ot=c=>c<=0?Nn:Math.min(We,Nn+c*Gs),Ys={class:"relative"},Js={key:0,class:"p-2"},Xs={key:2,class:"flex items-center justify-center py-6"},Zs=Y({__name:"IndexesTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["index_name","method","is_unique","is_primary","definition"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(a=>a.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/indexes",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`indexes-${s.value}`,getCachedData:()=>{const a=n.indexesMap[s.value];return a!=null&&a.length?a:void 0},onResponse({response:a}){a._data&&(n.indexesMap[s.value]=a._data)},onResponseError({response:a}){var g;v.value=((g=a._data)==null?void 0:g.message)||"Failed to load indexes"}},"$NyxkuxC1vx"),_=C(()=>(p.value||[]).map(a=>({index_name:a.indexName,method:a.method,is_unique:a.isUnique,is_primary:a.isPrimary,definition:a.definition}))),b=C(()=>_.value.length>0?tt(_.value):nt(r)),f=C(()=>`${ot(_.value.length)}px`),w=()=>{v.value=null,ze(`indexes-${s.value}`)};return(a,g)=>{const u=Oe,S=Pe;return h(),x("div",Ys,[o(u,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",Js,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(f)})},[o(e(et),{columns:e(b),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",Xs,[o(S,{title:"No Indexes",desc:"This table has no indexes."})])):U("",!0)])}}}),el={class:"relative"},tl={key:0,class:"p-2"},nl={key:1,class:"flex items-center justify-center py-3"},ol=Y({__name:"RlsTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["policy_name","permissive","command","roles","using_expression","with_check_expression"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(g=>g.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/rls",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`rls-${s.value}`,getCachedData:()=>{const g=n.rlsMap[s.value];if(g!=null&&g.length)return{enabled:!0,policies:g}},onResponse({response:g}){var u;(u=g._data)!=null&&u.policies&&(n.rlsMap[s.value]=g._data.policies)},onResponseError({response:g}){var u;v.value=((u=g._data)==null?void 0:u.message)||"Failed to load RLS policies"}},"$EinB8Z7zho"),_=g=>{if(Array.isArray(g))return g.map(N=>String(N));if(typeof g!="string")return[];const u=g.trim();if(!u)return[];const S=u.startsWith("{")&&u.endsWith("}")?u.slice(1,-1):u;return S?S.split(",").map(N=>N.trim().replace(/^"|"$/g,"")).filter(Boolean):[]},b=C(()=>{var g;return(((g=p.value)==null?void 0:g.policies)||[]).map(u=>({policy_name:u.policyName,permissive:u.permissive,command:u.command,roles:_(u.roles).join(", ")||"—",using_expression:u.usingExpression||"—",with_check_expression:u.withCheckExpression||"—"}))}),f=C(()=>b.value.length>0?tt(b.value):nt(r)),w=C(()=>`${ot(b.value.length)}px`),a=()=>{v.value=null,ze(`rls-${s.value}`)};return(g,u)=>{const S=Oe,N=Pe;return h(),x("div",el,[o(S,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",tl,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:a},{default:m(()=>u[0]||(u[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(p)?(h(),x(fe,{key:1},[e(b).length?(h(),x("div",{key:0,style:Ae({maxHeight:`${e(We)}px`,height:e(w)})},[o(e(et),{columns:e(f),data:e(b),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",nl,[o(N,{title:"No Policies",desc:"No RLS policies are defined for this table."})])):U("",!0)],64)):U("",!0)])}}}),al={class:"relative"},sl={key:0,class:"p-2"},ll={key:2,class:"flex items-center justify-center py-3"},rl=Y({__name:"RulesTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["rule_name","event","action_type","definition"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(a=>a.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/rules",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`rules-${s.value}`,getCachedData:()=>{const a=n.rulesMap[s.value];return a!=null&&a.length?a:void 0},onResponse({response:a}){a._data&&(n.rulesMap[s.value]=a._data)},onResponseError({response:a}){var g;v.value=((g=a._data)==null?void 0:g.message)||"Failed to load rules"}},"$u5D1mSLK0A"),_=C(()=>(p.value||[]).map(a=>({rule_name:a.ruleName,event:a.event,action_type:a.actionType,definition:a.definition}))),b=C(()=>_.value.length>0?tt(_.value):nt(r)),f=C(()=>`${ot(_.value.length)}px`),w=()=>{v.value=null,ze(`rules-${s.value}`)};return(a,g)=>{const u=Oe,S=Pe;return h(),x("div",al,[o(u,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",sl,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(f)})},[o(e(et),{columns:e(b),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",ll,[o(S,{title:"No Rules",desc:"This table has no rewrite rules."})])):U("",!0)])}}}),il={class:"rounded-md border p-2.5"},cl={key:0,class:"p-2"},ul={key:1,class:"space-y-1.5"},dl={class:"flex items-center gap-1 flex-wrap"},ml={class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},pl={class:"text-[11px] font-mono leading-none text-foreground"},fl={class:"flex flex-wrap gap-1"},vl={class:"text-xxs text-muted-foreground"},yl=Y({__name:"TableMetaInfo",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r={table:"Table",partitioned:"Partitioned Table",foreign:"Foreign Table"},n=P(null),s=C(()=>`${t.schema}.${t.tableName}`),v=$e(),d=C(()=>t.connectionId?v.connections.find(f=>f.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/tables/meta",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,tableName:t.tableName})),key:`table-meta-${s.value}`,onResponseError({response:f}){var w;n.value=((w=f._data)==null?void 0:w.message)||"Failed to load table metadata"}},"$AYAykbrhiy"),l=C(()=>{var w;const f=(w=i.value)==null?void 0:w.type;return f?r[f]??f:"Unknown"}),_=C(()=>{var f,w,a,g,u;return[{label:"Rows",value:((w=(f=i.value)==null?void 0:f.rowEstimate)==null?void 0:w.toLocaleString())??"—",mono:!0},{label:"Total",value:((a=i.value)==null?void 0:a.totalSize)||"—"},{label:"Table",value:((g=i.value)==null?void 0:g.tableSize)||"—"},{label:"Index",value:((u=i.value)==null?void 0:u.indexSize)||"—"}]}),b=()=>{n.value=null,ze(`table-meta-${s.value}`)};return(f,w)=>{const a=Oe;return h(),x("div",il,[o(a,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(h(),x("div",cl,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(n)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:b},{default:m(()=>w[0]||(w[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(i)?(h(),x("div",ul,[y("div",dl,[o(e($t),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(l)),1)]),_:1}),y("span",ml,[w[1]||(w[1]=y("span",{class:"text-xxs text-muted-foreground"}," Owner ",-1)),y("span",pl,B(e(i).owner||"—"),1)])]),y("div",fl,[(h(!0),x(fe,null,ke(e(_),g=>(h(),x("div",{key:g.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[y("span",vl,B(g.label),1),y("span",{class:De(["text-[11px] leading-none text-foreground",g.mono?"font-mono":"font-medium"])},B(g.value),3)]))),128))])])):U("",!0)])}}}),gl={class:"relative"},hl={key:0,class:"p-2"},bl={key:2,class:"flex items-center justify-center py-3"},_l=Y({__name:"TriggersTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["trigger_name","enabled","timing","events","orientation","definition"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(a=>a.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/triggers",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`triggers-${s.value}`,getCachedData:()=>{const a=n.triggersMap[s.value];return a!=null&&a.length?a:void 0},onResponse({response:a}){a._data&&(n.triggersMap[s.value]=a._data)},onResponseError({response:a}){var g;v.value=((g=a._data)==null?void 0:g.message)||"Failed to load triggers"}},"$S3QU21QNI4"),_=C(()=>(p.value||[]).map(a=>{var g;return{trigger_name:a.triggerName,enabled:a.enabled?"Enabled":"Disabled",timing:a.timing,events:((g=a.events)==null?void 0:g.join(", "))||"—",orientation:a.orientation,definition:a.definition}})),b=C(()=>_.value.length>0?tt(_.value):nt(r)),f=C(()=>`${ot(_.value.length)}px`),w=()=>{v.value=null,ze(`triggers-${s.value}`)};return(a,g)=>{const u=Oe,S=Pe;return h(),x("div",gl,[o(u,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",hl,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(f)})},[o(e(et),{columns:e(b),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",bl,[o(S,{title:"No Triggers",desc:"This table has no triggers."})])):U("",!0)])}}}),wl={class:"relative"},Cl={key:0,class:"p-2"},Sl={key:2,class:"flex items-center justify-center py-6"},xl=Y({__name:"ViewDependencies",props:{schema:{},viewName:{},connectionId:{}},setup(c){const t=c,r=["depends_on"],n=P(null),s=C(()=>`${t.schema}.${t.viewName}`),v=$e(),d=C(()=>t.connectionId?v.connections.find(w=>w.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/views/dependencies",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,viewName:t.viewName})),key:`view-deps-${s.value}`,onResponseError({response:w}){var a;n.value=((a=w._data)==null?void 0:a.message)||"Failed to load dependencies"}},"$jEYg_hmjWR"),l=C(()=>(i.value||[]).map(w=>({depends_on:w.dependsOn}))),_=C(()=>l.value.length>0?tt(l.value):nt(r)),b=C(()=>`${ot(l.value.length)}px`),f=()=>{n.value=null,ze(`view-deps-${s.value}`)};return(w,a)=>{const g=Oe,u=Pe;return h(),x("div",wl,[o(g,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(h(),x("div",Cl,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(n)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:f},{default:m(()=>a[0]||(a[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(l).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(b)})},[o(e(et),{columns:e(_),data:e(l),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(p)!=="pending"?(h(),x("div",Sl,[o(u,{title:"No Dependencies",desc:"This view has no upstream dependencies."})])):U("",!0)])}}}),Nl={class:"relative"},Tl={key:0,class:"p-2"},Rl={key:2,class:"flex items-center justify-center py-6"},$l=Y({__name:"ViewIndexesTab",props:{schema:{},viewName:{},connectionId:{}},setup(c){const t=c,r=["index_name","method","is_unique","definition"],n=P(null),s=C(()=>`${t.schema}.${t.viewName}`),v=$e(),d=C(()=>t.connectionId?v.connections.find(w=>w.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/views/indexes",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,viewName:t.viewName})),key:`view-indexes-${s.value}`,onResponseError({response:w}){var a;n.value=((a=w._data)==null?void 0:a.message)||"Failed to load indexes"}},"$44YnrMDjVX"),l=C(()=>(i.value||[]).map(w=>({index_name:w.indexName,method:w.method,is_unique:w.isUnique,definition:w.definition}))),_=C(()=>l.value.length>0?tt(l.value):nt(r)),b=C(()=>`${ot(l.value.length)}px`),f=()=>{n.value=null,ze(`view-indexes-${s.value}`)};return(w,a)=>{const g=Oe,u=Pe;return h(),x("div",Nl,[o(g,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(h(),x("div",Tl,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(n)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:f},{default:m(()=>a[0]||(a[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(l).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(b)})},[o(e(et),{columns:e(_),data:e(l),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(p)!=="pending"?(h(),x("div",Rl,[o(u,{title:"No Indexes",desc:"This materialized view has no indexes."})])):U("",!0)])}}}),Il={class:"rounded-md border p-2.5 relative"},kl={key:0,class:"p-2"},Ol={key:1,class:"space-y-1.5"},El={class:"flex items-center gap-1 flex-wrap"},Al={key:0,class:"flex flex-wrap gap-1"},Fl={class:"text-xxs text-muted-foreground"},Dl=Y({__name:"ViewMetaInfo",props:{schema:{},viewName:{},connectionId:{}},setup(c){const t=c,r=Qe(),n=C(()=>`${t.schema}.${t.viewName}`),s=P(null),v=$e(),d=C(()=>t.connectionId?v.connections.find(a=>a.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/views/meta",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,viewName:t.viewName})),key:`view-meta-${n.value}`,getCachedData:()=>r.viewMetaMap[n.value]??void 0,onResponse({response:a}){a._data&&(r.viewMetaMap[n.value]=a._data)},onResponseError({response:a}){var g;s.value=((g=a._data)==null?void 0:g.message)||"Failed to load view metadata"}},"$pLysS3IkaY"),l=C(()=>{var a;return((a=i.value)==null?void 0:a.type)==="materialized"}),_=C(()=>l.value?"Materialized View":"Normal View"),b=C(()=>{var a,g,u,S;return l.value?{variant:(u=i.value)!=null&&u.isPopulated?"default":"destructive",label:`Populated: ${(S=i.value)!=null&&S.isPopulated?"Yes":"No"}`}:{variant:(a=i.value)!=null&&a.isUpdatable?"default":"outline",label:`Updatable: ${(g=i.value)!=null&&g.isUpdatable?"Yes":"No"}`}}),f=C(()=>{var a,g,u,S,N;return l.value?[{label:"Rows",value:((g=(a=i.value)==null?void 0:a.rowEstimate)==null?void 0:g.toLocaleString())??"—",mono:!0},{label:"Total",value:((u=i.value)==null?void 0:u.totalSize)??"—"},{label:"Table",value:((S=i.value)==null?void 0:S.tableSize)??"—"},{label:"Index",value:((N=i.value)==null?void 0:N.indexSize)??"—"}]:[]}),w=()=>{s.value=null,ze(`view-meta-${n.value}`)};return(a,g)=>{const u=Oe;return h(),x("div",Il,[o(u,{visible:e(p)==="pending"},null,8,["visible"]),e(s)?(h(),x("div",kl,[o(e(je),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(s)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(i)?(h(),x("div",Ol,[y("div",El,[o(e($t),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(_)),1)]),_:1}),o(e($t),{variant:e(b).variant,class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(b).label),1)]),_:1},8,["variant"])]),e(f).length?(h(),x("div",Al,[(h(!0),x(fe,null,ke(e(f),S=>(h(),x("div",{key:S.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[y("span",Fl,B(S.label),1),y("span",{class:De(["text-[11px] leading-none text-foreground",S.mono?"font-mono":"font-medium"])},B(S.value),3)]))),128))])):U("",!0)])):U("",!0)])}}}),Pl=Y({__name:"VirtualTableDefinition",props:{schema:{},connectionId:{},viewName:{},viewId:{}},setup(c){const t=c,r=$e(),n=C(()=>t.connectionId?r.connections.find(i=>i.id===t.connectionId):r.selectedConnection),{data:s,status:v}=xe("/api/views/definition",{method:"POST",body:C(()=>({...we(n.value),viewId:t.viewId,schemaName:t.schema,viewName:t.viewName})),key:`${t.schema}.${t.viewId}`},"$ssZRsSgd3z"),d=C(()=>{var i;return(i=s.value)!=null&&i.definition?Sa(s.value.definition):""});return(i,p)=>{const l=Oe,_=Dt,b=Pe;return h(),x("div",{key:`${t.viewId}-${t.viewName}-${t.schema}`,class:"relative"},[o(l,{visible:e(v)==="pending"},null,8,["visible"]),e(d)?(h(),D(_,{key:0,code:e(d),"show-copy-button":"","max-height":"24rem"},null,8,["code"])):e(v)!=="pending"?(h(),D(b,{key:1,title:"No Definition",desc:"No SQL definition is available for this view."})):U("",!0)])}}}),Ml={class:"h-full overflow-y-auto p-1.5"},Ll={class:"space-y-3 pb-2"},Bl={key:0,class:"space-y-1"},Ul={key:1,class:"space-y-1"},Vl={class:"space-y-1"},Kl={class:"space-y-1"},ql={class:"rounded-md border"},Ql={class:"space-y-1"},zl={class:"flex items-center gap-2"},jl={class:"rounded-md border"},Hl={class:"space-y-1"},Wl={class:"rounded-md border"},Gl={class:"space-y-1"},Yl={class:"rounded-md border"},Jl={key:0,class:"space-y-1"},Xl={key:1,class:"space-y-1"},Zl={class:"rounded-md border"},er={class:"space-y-1"},tr={class:"rounded-md border"},ao=Y({__name:"StructureTable",props:{schema:{},tableName:{},connectionId:{},isVirtualTable:{type:Boolean},virtualTableId:{}},setup(c){const t=c,r=["column_name","data_type","is_nullable","default_value","foreign_keys","on_update","on_delete","column_comment"],n=$e(),s=C(()=>t.connectionId?n.connections.find(a=>a.id===t.connectionId):n.selectedConnection),{data:v,status:d}=xe("/api/tables/structure",{method:"POST",body:C(()=>({...we(s.value),schema:t.schema,tableName:t.tableName})),key:`${t.schema}.${t.tableName}`},"$ALIsatagCk"),i=C(()=>{const a=v.value||[];return a.length>0?tt(a):nt(r)}),p=Qe(),l=C(()=>`${t.schema}.${t.tableName}`),{data:_}=xe("/api/tables/rls",{method:"POST",body:C(()=>({...we(s.value),schema:t.schema,table:t.tableName})),key:`rls-${l.value}`,immediate:!t.isVirtualTable},"$SfWGG2Nw15"),{data:b}=xe("/api/views/meta",{method:"POST",body:C(()=>({...we(s.value),schema:t.schema,viewName:t.tableName})),key:`view-meta-struct-${l.value}`,immediate:!!t.isVirtualTable,getCachedData:()=>{if(t.isVirtualTable)return p.viewMetaMap[l.value]},onResponse({response:a}){a._data&&t.isVirtualTable&&(p.viewMetaMap[l.value]=a._data)}},"$Et5thcVWGM"),f=C(()=>{var a;return((a=b.value)==null?void 0:a.type)==="materialized"}),w=C(()=>{const a=(v.value||[]).length;return`${ot(a)}px`});return(a,g)=>{const u=Oe;return h(),x("div",Ml,[y("div",Ll,[a.isVirtualTable?(h(),x("section",Ul,[g[1]||(g[1]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Meta Info"),y("p",{class:"text-xs text-muted-foreground"}," View type and storage metadata ")],-1)),o(Dl,{connectionId:a.connectionId,schema:a.schema,viewName:a.tableName},null,8,["connectionId","schema","viewName"])])):(h(),x("section",Bl,[g[0]||(g[0]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Meta Info"),y("p",{class:"text-xs text-muted-foreground"}," Table type and storage metadata ")],-1)),o(yl,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])),y("section",Vl,[g[2]||(g[2]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Columns"),y("p",{class:"text-xs text-muted-foreground"}," Table column structure and constraints ")],-1)),y("div",{class:"relative",style:Ae({maxHeight:`${e(We)}px`,height:e(w)})},[o(u,{visible:e(d)==="pending"},null,8,["visible"]),o(e(et),{columns:e(i),data:e(v)||[],class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),a.isVirtualTable?(h(),x(fe,{key:3},[a.virtualTableId?(h(),x("section",Jl,[g[8]||(g[8]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Definition"),y("p",{class:"text-xs text-muted-foreground"},"View SQL definition")],-1)),o(Pl,{connectionId:a.connectionId,schema:a.schema,viewName:a.tableName,viewId:a.virtualTableId},null,8,["connectionId","schema","viewName","viewId"])])):U("",!0),e(f)?(h(),x("section",Xl,[g[9]||(g[9]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Indexes"),y("p",{class:"text-xs text-muted-foreground"}," Indexes on materialized view ")],-1)),y("div",Zl,[o($l,{schema:a.schema,viewName:a.tableName,connectionId:a.connectionId},null,8,["schema","viewName","connectionId"])])])):U("",!0),y("section",er,[g[10]||(g[10]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Dependencies"),y("p",{class:"text-xs text-muted-foreground"}," Objects referenced by this view ")],-1)),y("div",tr,[o(xl,{schema:a.schema,viewName:a.tableName,connectionId:a.connectionId},null,8,["schema","viewName","connectionId"])])])],64)):(h(),x(fe,{key:2},[y("section",Kl,[g[3]||(g[3]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Indexes"),y("p",{class:"text-xs text-muted-foreground"}," Available indexes and definitions ")],-1)),y("div",ql,[o(Zs,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])]),y("section",Ql,[y("div",null,[y("div",zl,[g[4]||(g[4]=y("h3",{class:"text-sm font-medium"},"RLS",-1)),e(_)?(h(),D(e($t),{key:0,variant:e(_).enabled?"default":"secondary",class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(_).enabled?"Enabled":"Disabled"),1)]),_:1},8,["variant"])):U("",!0)]),g[5]||(g[5]=y("p",{class:"text-xs text-muted-foreground"}," Row-level security status and policies ",-1))]),y("div",jl,[o(ol,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])]),y("section",Hl,[g[6]||(g[6]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Rules"),y("p",{class:"text-xs text-muted-foreground"}," Rewrite rules configured on this table ")],-1)),y("div",Wl,[o(rl,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])]),y("section",Gl,[g[7]||(g[7]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Triggers"),y("p",{class:"text-xs text-muted-foreground"}," Trigger status and trigger definitions ")],-1)),y("div",Yl,[o(_l,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])])],64))])])}}}),nr={class:"px-2"},or={class:"px-2"},ar={class:"flex-1 overflow-hidden px-2 mb-0.5"},sr={key:1,class:"h-full"},so=Y({__name:"ReferencedTable",props:{tableName:{},schemaName:{},initFilters:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(c,{emit:t}){const r=c,n=P(),s=t,{quickQueryFilterRef:v,quickQueryTableRef:d,selectedRows:i,focusedCell:p}=Wn(),l=yt(),_=$e(),{onRequestSafeModeConfirm:b,onSafeModeCancel:f,onSafeModeConfirm:w,safeModeDialogOpen:a,safeModeDialogSql:g,safeModeDialogType:u}=Zn(),S=C(()=>_.connections.find(X=>X.id===r.connectionId)),N=C(()=>{var X;return((X=S.value)==null?void 0:X.type)||ye.POSTGRES}),{columnNames:Z,foreignKeys:ie,primaryKeyColumns:J,tableMetaData:ue,columnTypes:me,foreignKeyColumns:pe}=Jn({tableName:r.tableName,schemaName:r.schemaName,connectionId:r.connectionId,tabViewType:Nt.TableDetail}),{onApplyNewFilter:oe,data:de,baseQueryString:Ne,refreshTableData:T,refreshCount:E,isAllowNextPage:H,isAllowPreviousPage:I,onNextPage:V,onPreviousPage:K,onUpdatePagination:R,totalRows:$,pagination:F,errorMessage:M,openErrorModal:O,orderBy:Q,onUpdateOrderBy:ae,addHistoryLog:ne,filters:ee,isShowFilters:ce,composeWith:ge,onChangeComposeWith:k,isFetchingTableData:L}=Hn({connection:S,primaryKeys:J,columns:Z,connectionId:C(()=>r.connectionId),workspaceId:C(()=>r.workspaceId),tableName:r.tableName,schemaName:r.schemaName,isPersist:!1,initFilters:(r==null?void 0:r.initFilters)||[],initComposeWith:ft.OR});Fe(ue,X=>{X&&(ee.value=(r==null?void 0:r.initFilters)||[],E(),T())},{deep:!0,immediate:!0});const{isMutating:q,onAddEmptyRow:te,onDiscardChanges:Ie,onDeleteRows:Se,onSaveData:Ge,hasEditedRows:Me,pendingChangesCount:rt,onCopyRows:gt,onPasteRows:ht,onRefresh:bt,onSelectedRowsChange:_t,onCopySelectedCell:it,onFocusedCellChange:Ot,onDeselectAll:wt}=Yn({tableName:r.tableName,schemaName:r.schemaName,primaryKeys:J,refreshTableData:T,columnNames:Z,data:de,addHistoryLog:ne,errorMessage:M,openErrorModal:O,selectedRows:i,pagination:F,quickQueryTableRef:d,refreshCount:E,focusedCell:p,connection:S,safeModeEnabled:Tt(l,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:b}),{quickQueryTabView:Le,openedQuickQueryTab:Ct}=Xn(),{onAddFilterByContextCell:St}=Gn({quickQueryFilterRef:v,quickQueryTableRef:d,filters:ee,onApplyNewFilter:oe}),{isHaveRelationByFieldName:Et}=Yt({schemaName:r.schemaName,tableName:r.tableName});return vt([{key:"meta+a",callback:()=>{var X,se;(se=(X=d.value)==null?void 0:X.gridApi)==null||se.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{it()},excludeInput:!0},{key:"meta+v",callback:()=>ht(),excludeInput:!0},{key:"meta+s",callback:()=>Ge(),isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{Se()},isPreventDefault:!0}],{target:n}),(X,se)=>{var Ye,ct;return h(),x(fe,null,[o(Bn,{open:e(O),"onUpdate:open":se[0]||(se[0]=ve=>Ee(O)?O.value=ve:null),message:e(M)||""},null,8,["open","message"]),o(Un,{open:e(a),"onUpdate:open":se[1]||(se[1]=ve=>Ee(a)?a.value=ve:null),sql:e(g),type:e(u),onConfirm:e(w),onCancel:e(f)},null,8,["open","sql","type","onConfirm","onCancel"]),y("div",{ref_key:"containerRef",ref:n,class:"flex flex-col h-full w-full relative",tabindex:"0"},[o(e(Oe),{visible:e(q)||e(L)},null,8,["visible"]),y("div",nr,[o(eo,{"total-selected-rows":(Ye=e(i))==null?void 0:Ye.length,isAllowNextPage:e(H),isAllowPreviousPage:e(I),totalRows:e($),limit:e(F).limit,currentTotalRows:((ct=e(de))==null?void 0:ct.length)||0,offset:e(F).offset,"has-edited-rows":e(Me),"pending-changes-count":e(rt),onOnPaginate:e(R),onOnNextPage:e(V),onOnPreviousPage:e(K),onOnRefresh:e(bt),onOnDiscardChanges:e(Ie),onOnSaveData:e(Ge),onOnDeleteRows:e(Se),onOnAddEmptyRow:e(te),onOnShowFilter:se[2]||(se[2]=async()=>{var ve;await((ve=e(v))==null?void 0:ve.onShowSearch())}),tabView:e(Le),"onUpdate:tabView":se[3]||(se[3]=ve=>Ee(Le)?Le.value=ve: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"])]),y("div",or,[e(Le)===e(re).Data?(h(),D(to,{key:0,ref_key:"quickQueryFilterRef",ref:v,onOnSearch:se[4]||(se[4]=()=>{e(oe)()}),onOnUpdateFilters:se[5]||(se[5]=ve=>{ee.value=ve}),isShowFilters:e(ce),"onUpdate:isShowFilters":se[6]||(se[6]=ve=>Ee(ce)?ce.value=ve:null),initFilters:e(ee),baseQuery:e(Ne),columns:e(Z),dbType:e(N),composeWith:e(ge),onOnChangeComposeWith:e(k)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):U("",!0)]),y("div",ar,[e(Ct)[e(re).Erd]?qe((h(),D(Ln,{key:0,tableId:e(On)({tableName:X.tableName,schemaName:X.schemaName})},null,8,["tableId"])),[[Ze,e(Le)===e(re).Erd]]):U("",!0),e(Ct)[e(re).Structure]?qe((h(),x("div",sr,[o(ao,{schema:X.schemaName,tableName:X.tableName,connectionId:X.connectionId},null,8,["schema","tableName","connectionId"])],512)),[[Ze,e(Le)===e(re).Structure]]):U("",!0),qe(o(no,{"total-selected-rows":e(i).length,"has-edited-rows":e(Me),selectedRows:e(i),"table-name":X.tableName,"schema-name":X.schemaName,isReferencedTable:"",onOnPaginate:e(R),onOnNextPage:e(V),onOnPreviousPage:e(K),onOnRefresh:e(bt),onOnSaveData:e(Ge),onOnDeleteRows:e(Se),onOnAddEmptyRow:e(te),onOnFilterByValue:e(St),onOnCopyRows:e(gt),onOnPasteRows:e(ht),onOnCopySelectedCell:e(it)},{default:m(()=>[o(oo,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:d,"selected-rows":e(i),data:e(de)||[],orderBy:e(Q),onOnSelectedRows:e(_t),"onUpdate:orderBy":e(ae),onOnOpenBackReferencedTableModal:se[7]||(se[7]=ve=>s("onOpenBackReferencedTableModal",ve)),onOnOpenForwardReferencedTableModal:se[8]||(se[8]=ve=>s("onOpenForwardReferencedTableModal",ve)),isHaveRelationByFieldName:e(Et),foreignKeyColumns:e(pe),foreignKeys:e(ie),primaryKeyColumns:e(J),columnTypes:e(me),defaultPageSize:e(kt),offset:e(F).offset,onOnFocusCell:e(Ot),"current-schema-name":X.schemaName,"current-table-name":X.tableName,onOnClickOutSide:e(wt)},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"]),[[Ze,e(Le)===e(re).Data]])])],512)],64)}}}),lr={class:"flex justify-between items-center gap-2 w-full"},rr={class:"relative w-full"},ir={class:"flex flex-1"},cr=Y({__name:"BackReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},selectedTab:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal","update:selectedTab"],setup(c,{emit:t}){const r=c,n=t,{reverseTables:s}=Yt({schemaName:r.schemaName,tableName:r.tableName}),v=P(""),d=C(()=>{var g;const f=new Map,w=fn((g=s.value)==null?void 0:g.used_by)||[];for(const u of w)u.referenced_column===r.columnName&&f.set(u.referencing_table,{table:u.referencing_table,schema:u.referencing_schema});let a=[...f.values()].sort((u,S)=>u.table.localeCompare(S.table));if(v.value){const u=v.value.toLowerCase();a=a.filter(S=>S.table.toLowerCase().includes(u))}return a});Tn(()=>{!r.selectedTab&&d.value.length>0&&n("update:selectedTab",d.value[0].table,d.value[0].schema)});const i=f=>{var g;if(!f)return[];const w=[],a=fn((g=s.value)==null?void 0:g.used_by)||[];for(const u of a)if(u.referencing_table===f){const S={fieldName:u.fk_column,operator:W.EQUAL,search:r.recordId,isSelect:!0};w.push(S)}return w},p=f=>{const{schemaName:w,tableName:a}=b(f);n("update:selectedTab",a,w)},l=f=>{const w=f.target;w instanceof HTMLElement&&w.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},_=f=>`${f.schema}.${f.table}`,b=f=>{const[w,a]=f.split(".");return{schemaName:w,tableName:a}};return(f,w)=>{const a=Ut,g=Bt,u=le,S=Lt;return h(),D(S,{"model-value":_({table:f.selectedTab||"",schema:f.schemaName}),"onUpdate:modelValue":w[4]||(w[4]=N=>p(N)),class:"flex-1 flex-wrap h-full w-full"},{default:m(()=>[y("div",lr,[o(g,{class:"overflow-x-auto w-full justify-start!"},{default:m(()=>[(h(!0),x(fe,null,ke(e(d),N=>(h(),D(a,{class:"cursor-pointer font-normal! flex-none!",onClick:l,value:_(N),key:_(N)},{default:m(()=>[A(B(f.rootSchemaName===N.schema?null:`${N.schema}.`)+B(N.table),1)]),_:2},1032,["value"]))),128))]),_:1}),y("div",null,[y("div",rr,[o(e(lt),{type:"text",placeholder:"Search tables",class:"pr-6 w-48 h-8",modelValue:e(v),"onUpdate:modelValue":w[0]||(w[0]=N=>Ee(v)?v.value=N:null)},null,8,["modelValue"]),e(v)?(h(),x("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:w[1]||(w[1]=N=>v.value="")},[o(u,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):U("",!0)])])]),y("div",ir,[(h(),D(En,null,[(h(),D(so,{key:f.selectedTab,tableName:f.selectedTab||"","schema-name":f.schemaName,"init-filters":i(f.selectedTab),connectionId:r.connectionId,workspaceId:r.workspaceId,onOnOpenBackReferencedTableModal:w[2]||(w[2]=N=>n("onOpenBackReferencedTableModal",N)),onOnOpenForwardReferencedTableModal:w[3]||(w[3]=N=>n("onOpenForwardReferencedTableModal",N))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))],1024))])]),_:1},8,["model-value"])}}}),ur={class:"flex flex-1"},dr=Y({__name:"ForwardReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(c,{emit:t}){const r=c,n=t,s=()=>[{fieldName:r.columnName,operator:W.EQUAL,search:r.recordId,isSelect:!0}];return(v,d)=>(h(),x("div",ur,[(h(),D(so,{key:e(pt)(),tableName:v.tableName,"schema-name":v.schemaName,"init-filters":s(),connectionId:r.connectionId,workspaceId:r.workspaceId,onOnOpenBackReferencedTableModal:d[0]||(d[0]=i=>n("onOpenBackReferencedTableModal",i)),onOnOpenForwardReferencedTableModal:d[1]||(d[1]=i=>n("onOpenForwardReferencedTableModal",i))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))]))}}),mr={class:"flex items-center"},pr=Y({__name:"PreviewRelationTable",props:{open:{type:Boolean},breadcrumbs:{},currentTableName:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onBackPreviousBreadcrumbByIndex","onBackPreviousBreadcrumb","clearBreadcrumb","onUpdateSelectedTabInBreadcrumb","onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(c,{emit:t}){const r=t,n=c,s=C(()=>n.breadcrumbs.length?n.breadcrumbs[n.breadcrumbs.length-1]:null),v=(i,p)=>{r("onUpdateSelectedTabInBreadcrumb",n.breadcrumbs.length-1,i,p)},d=i=>i.type==="backReferenced"?n.rootSchemaName===i.schemaName?i.selectedTab:`${i.schemaName}.${i.selectedTab}`:`${i.schemaName}.${i.tableName}`;return(i,p)=>{const l=le,_=Ce,b=qo,f=Ko,w=Vo,a=Uo,g=Bo;return h(),D(e(Lo),{open:i.open,"onUpdate:open":p[4]||(p[4]=u=>i.$emit("clearBreadcrumb"))},{default:m(()=>[o(e(Ho),{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:m(()=>{var u;return[o(g,null,{default:m(()=>[o(a,null,{default:m(()=>[y("div",mr,[o(_,{onClick:p[0]||(p[0]=S=>i.$emit("onBackPreviousBreadcrumb")),size:"iconMd",variant:"secondary"},{default:m(()=>[o(l,{name:"hugeicons:arrow-left-02",class:"size-4!"})]),_:1}),o(w,null,{default:m(()=>[o(f,{class:"gap-0.5!"},{default:m(()=>[o(e(vn),{class:"hover:cursor-pointer"},{default:m(()=>[o(e(gn),{onClick:p[1]||(p[1]=S=>r("clearBreadcrumb"))},{default:m(()=>[A(B(i.currentTableName),1)]),_:1})]),_:1}),o(b),(h(!0),x(fe,null,ke(i.breadcrumbs,(S,N)=>(h(),x(fe,null,[o(e(vn),{class:De([N!==i.breadcrumbs.length-1&&"hover:cursor-pointer"])},{default:m(()=>[N===i.breadcrumbs.length-1?(h(),D(e(Qo),{key:0},{default:m(()=>[A(B(d(S)),1)]),_:2},1024)):(h(),D(e(gn),{key:1,onClick:Z=>r("onBackPreviousBreadcrumbByIndex",N)},{default:m(()=>[A(B(d(S)),1)]),_:2},1032,["onClick"]))]),_:2},1032,["class"]),N<i.breadcrumbs.length-1?(h(),D(b,{key:0})):U("",!0)],64))),256))]),_:1})]),_:1})])]),_:1})]),_:1}),(h(),D(En,null,[e(s)?(h(),D(zo(((u=e(s))==null?void 0:u.type)==="backReferenced"?cr:dr),jo({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]=S=>r("onOpenBackReferencedTableModal",S)),onOnOpenForwardReferencedTableModal:p[3]||(p[3]=S=>r("onOpenForwardReferencedTableModal",S)),"onUpdate:selectedTab":v}),null,16)):U("",!0)],1024))]}),_:1})]),_:1},8,["open"])}}}),fr=["innerHTML"],vr=Y({__name:"QuickQueryHistoryLogItem",props:{log:{},highlighter:{}},setup(c){const t=c,r=P("");return Fe([()=>t.log,()=>t.highlighter],async()=>{const n=(t.log||"").trim();t.highlighter&&(r.value=t.highlighter.codeToHtml(n,{lang:"plsql",theme:"catppuccin-latte"}))},{immediate:!0}),(n,s)=>(h(),x("div",{class:"[&_code]:text-wrap w-full [&>.catppuccin-latte]:bg-background!",innerHTML:r.value},null,8,fr))}}),yr={class:"flex flex-1 flex-col h-full"},gr={class:"flex flex-1 h-full items-center justify-between"},hr={class:"flex items-center gap-1"},br={key:0,class:"flex items-center justify-center h-full w-full"},_r=["data-index"],wr={class:"pb-2 leading-relaxed text-xs"},Cr={class:"text-xxs"},Sr={class:"text-xxs"},xr=Y({__name:"QuickQueryHistoryLogsPanel",props:{tableName:{},schemaName:{}},setup(c){const t=c,r=P("all"),n=Kn(),{qqLogs:s}=Mt(n),v=C(()=>r.value==="all"?s.value:n.getLogsByTableId(t)),d=Ht("wrapperRef"),{height:i}=Wo(d),p=P(null),l=Go({get count(){return v.value.length},getScrollElement:()=>p.value,estimateSize:()=>39}),_=C(()=>l.value.getVirtualItems()),b=C(()=>l.value.getTotalSize()),f=g=>{g&&l.value.measureElement(g)},w=g=>new Date(g).toLocaleString(),a=P();return Yo(async()=>{const g=xa({themes:[Ra],langs:[Ta],engine:Na()});a.value=await g}),Jo(async()=>{l.value&&(await Be(),l.value.scrollToIndex(v.value.length-1))}),Fe(()=>v.value,async()=>{l.value&&(await Be(),l.value.scrollToIndex(v.value.length-1))},{deep:!0}),(g,u)=>{const S=Ut,N=Bt,Z=Lt,ie=le,J=Ce,ue=Pe,me=An,pe=Fn;return h(),x("div",yr,[y("div",gr,[o(Z,{modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=oe=>r.value=oe),class:"pt-1"},{default:m(()=>[o(N,{class:"h-7!"},{default:m(()=>[o(S,{value:"all",class:"h-5! font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>u[2]||(u[2]=[A(" All logs ")])),_:1},8,["value"]),o(S,{value:"one-table",class:"h-5! font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>u[3]||(u[3]=[A(" Only this table ")])),_:1},8,["value"])]),_:1})]),_:1},8,["modelValue"]),u[8]||(u[8]=y("div",null,[y("p",{class:"font-medium text-xs"},"Logs history")],-1)),y("div",hr,[r.value==="all"?(h(),D(e(he),{key:0},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(J,{variant:"outline",size:"xxs",onClick:e(n).deleteAllLogs},{default:m(()=>[o(ie,{name:"lucide:trash"}),u[4]||(u[4]=y("p",{class:"font-normal"},"Delete all logs",-1))]),_:1},8,["onClick"])]),_:1}),o(e(_e),null,{default:m(()=>u[5]||(u[5]=[y("p",null,"Delete all logs",-1)])),_:1})]),_:1})):(h(),D(e(he),{key:1},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(J,{variant:"outline",size:"xxs",onClick:u[1]||(u[1]=oe=>e(n).deleteLogsOfTable(t))},{default:m(()=>[o(ie,{name:"lucide:trash"}),u[6]||(u[6]=y("p",{class:"font-normal"},"Delete logs",-1))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>u[7]||(u[7]=[y("p",null,"Delete logs for this table",-1)])),_:1})]),_:1}))])]),v.value.length?(h(),D(pe,{key:1,class:"py-0 mt-1 h-full rounded-none shadow-none border-none overflow-auto",ref_key:"wrapperRef",ref:d},{default:m(()=>[o(me,{class:"p-0"},{default:m(()=>{var oe;return[y("div",{ref_key:"parentRef",ref:p,style:Ae({height:`${e(i)}px`}),class:"w-full overflow-y-auto contain-strict h-full"},[y("div",{style:Ae({height:`${b.value}px`,width:"100%",position:"relative"})},[y("div",{style:Ae({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${((oe=_.value[0])==null?void 0:oe.start)??0}px)`})},[(h(!0),x(fe,null,ke(_.value,de=>(h(),x("div",{key:de.key.toString(),"data-index":de.index,ref_for:!0,ref:f},[y("div",wr,[y("span",Cr,"["+B(w(v.value[de.index].createdAt))+"] ",1),y("span",Sr," : "+B(e($a)(v.value[de.index].queryTime||0)),1),o(vr,{highlighter:a.value,log:v.value[de.index].logs},null,8,["highlighter","log"])])],8,_r))),128))],4)],4)],4)]}),_:1})]),_:1},512)):(h(),x("div",br,[o(ue,{title:"No logs found",desc:"There are no execution logs to display for this table."})]))])}}}),Nr=({quickQueryTableRef:c})=>{const t=P(void 0),r=()=>{var v,d,i,p,l,_,b;t.value=void 0,(i=(d=(v=c.value)==null?void 0:v.gridApi)==null?void 0:d.ensureIndexVisible)==null||i.call(d,0,"top"),(l=(p=c.value)==null?void 0:p.gridApi)==null||l.refreshHeader(),(b=(_=c.value)==null?void 0:_.gridApi)==null||b.refreshCells({force:!0})},n=v=>{var d,i,p,l,_,b;v&&((i=(d=c.value)==null?void 0:d.gridApi)==null||i.ensureColumnVisible(v,"middle"),(l=(p=c.value)==null?void 0:p.gridApi)==null||l.refreshCells({force:!0}),(b=(_=c.value)==null?void 0:_.gridApi)==null||b.refreshHeader())};return{resetGridState:r,selectedColumnFieldId:t,handleSelectColumn:v=>{t.value=v,n(v)}}},Tr={class:"px-1"},Rr={class:"px-2"},$r={class:"flex-1 overflow-hidden px-1 mb-0.5"},Ir={key:1,class:"h-full"},ei=Y({__name:"QuickQuery",props:{connectionId:{},workspaceId:{},tableName:{},schemaName:{},tabViewType:{},virtualTableId:{}},setup(c){const t=c,r=yt(),n=$e(),s=C(()=>{const z=n.connections.find(G=>G.id===t.connectionId);return(z==null?void 0:z.connectionString)||""}),v=C(()=>{var z;return((z=n.selectedConnection)==null?void 0:z.type)||ye.POSTGRES}),d=C(()=>t.tableName),i=C(()=>t.schemaName),p=P([]),l=P(),{onRequestSafeModeConfirm:_,onSafeModeCancel:b,onSafeModeConfirm:f,safeModeDialogOpen:w,safeModeDialogSql:a,safeModeDialogType:g}=Zn(),{quickQueryFilterRef:u,quickQueryTableRef:S,selectedRows:N,focusedCell:Z}=Wn(),{columnNames:ie,foreignKeys:J,primaryKeyColumns:ue,tableMetaData:me,columnTypes:pe,foreignKeyColumns:oe,isVirtualTable:de}=Jn({tableName:d.value,schemaName:i.value,connectionId:t.connectionId,tabViewType:t.tabViewType}),{onApplyNewFilter:Ne,data:T,baseQueryString:E,refreshTableData:H,refreshCount:I,isAllowNextPage:V,isAllowPreviousPage:K,onNextPage:R,onPreviousPage:$,onUpdatePagination:F,totalRows:M,pagination:O,errorMessage:Q,openErrorModal:ae,orderBy:ne,onUpdateOrderBy:ee,addHistoryLog:ce,filters:ge,isShowFilters:k,onChangeComposeWith:L,composeWith:q,isFetchingTableData:te}=Hn({connection:Tt(n,"selectedConnection"),primaryKeys:ue,columns:ie,connectionId:C(()=>t.connectionId),workspaceId:C(()=>t.workspaceId),tableName:d.value,schemaName:i.value});Fe(me,z=>{z!=null&&z.columns&&z.columns.length>0&&(I(),H())},{deep:!0,immediate:!0});const{isMutating:Ie,onAddEmptyRow:Se,onDiscardChanges:Ge,onDeleteRows:Me,onSaveData:rt,hasEditedRows:gt,pendingChangesCount:ht,onCopyRows:bt,onPasteRows:_t,onRefresh:it,onSelectedRowsChange:Ot,onCopySelectedCell:wt,onFocusedCellChange:Le}=Yn({tableName:d.value,schemaName:i.value,primaryKeys:ue,refreshTableData:H,columnNames:ie,data:T,addHistoryLog:ce,errorMessage:Q,openErrorModal:ae,selectedRows:N,pagination:O,quickQueryTableRef:S,refreshCount:I,focusedCell:Z,safeModeEnabled:Tt(r,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:_,connection:Tt(n,"selectedConnection")}),{handleSelectColumn:Ct,selectedColumnFieldId:St,resetGridState:Et}=Nr({quickQueryTableRef:S}),{quickQueryTabView:X,openedQuickQueryTab:se}=Xn({onTabChanged:z=>{z!==re.Data&&r.onCloseBottomPanel()}}),Ye=P(!0);kn(()=>{Ye.value=!0}),Xo(()=>{Ye.value=!1});const ct=({id:z,tableName:G,columnName:Ue,schemaName:Ve})=>{p.value.push({id:pt(),type:"backReferenced",schemaName:Ve,tableName:G,columnName:Ue,recordId:z})},ve=({id:z,tableName:G,columnName:Ue,schemaName:Ve})=>{p.value.push({id:pt(),type:"forwardReferenced",schemaName:Ve,tableName:G,columnName:Ue,recordId:z})},{onAddFilterByContextCell:lo}=Gn({quickQueryFilterRef:u,quickQueryTableRef:S,filters:ge,onApplyNewFilter:Ne}),{isHaveRelationByFieldName:ro}=Yt({schemaName:i.value,tableName:d.value}),at=C(()=>p.value.length>0),At=C(()=>de.value);vt([{key:"meta+a",callback:()=>{var z,G;at.value||(G=(z=S.value)==null?void 0:z.gridApi)==null||G.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{at.value||wt()},excludeInput:!0},{key:"meta+v",callback:()=>{at.value||_t()},excludeInput:!0},{key:"meta+s",callback:()=>{at.value||At.value||rt()},isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{at.value||At.value||Me()},isPreventDefault:!0}],{target:l}),vt([{key:"meta+f",callback:async()=>{var z;at.value||await((z=u.value)==null?void 0:z.onShowSearch())}}]);const Jt=P();Fe(()=>{var z;return(z=S.value)==null?void 0:z.columnDefs},()=>{var z,G;(z=S.value)!=null&&z.columnDefs&&(Jt.value=(G=S.value)==null?void 0:G.columnDefs)},{immediate:!0,deep:!0});const io=(z,G,Ue)=>{p.value[z]&&(p.value[z].selectedTab=G,p.value[z].schemaName=Ue)},co=()=>{p.value=[]},uo=()=>{p.value.pop()},mo=z=>{const G=p.value.filter((Ue,Ve)=>Ve<=z);p.value=G};return(z,G)=>{var Ve,Xt,Zt,en,tn,nn;const Ue=Oe;return h(),x(fe,null,[e(p).length?(h(),D(pr,{key:0,open:e(p).length>0,breadcrumbs:e(p),currentTableName:e(d),connectionId:z.connectionId,workspaceId:z.workspaceId,rootSchemaName:e(i),onClearBreadcrumb:co,onOnOpenBackReferencedTableModal:ct,onOnOpenForwardReferencedTableModal:ve,onOnUpdateSelectedTabInBreadcrumb:io,onOnBackPreviousBreadcrumb:uo,onOnBackPreviousBreadcrumbByIndex:mo},null,8,["open","breadcrumbs","currentTableName","connectionId","workspaceId","rootSchemaName"])):U("",!0),o(Un,{open:e(w),"onUpdate:open":G[0]||(G[0]=Re=>Ee(w)?w.value=Re:null),sql:e(a),type:e(g),onConfirm:e(f),onCancel:e(b)},null,8,["open","sql","type","onConfirm","onCancel"]),e(Ye)?(h(),D(yn,{key:1,defer:"",to:"#preview-select-row"},[((Ve=e(N))==null?void 0:Ve.length)!==1||e(X)!==e(re).Data?(h(),D(za,{key:0,"table-name":e(d),"schema-name":e(i),columns:e(Jt),columnTypes:e(pe),selectedColumnFieldId:e(St),handleSelectColumn:e(Ct),onResetSelectedCol:e(Et)},null,8,["table-name","schema-name","columns","columnTypes","selectedColumnFieldId","handleSelectColumn","onResetSelectedCol"])):(h(),D(cs,{key:1,columnTypes:e(pe),selectedRow:(Xt=e(N))!=null&&Xt.length?e(N)[0]:null},null,8,["columnTypes","selectedRow"]))])):U("",!0),e(Ye)?(h(),D(yn,{key:2,defer:"",to:"#bottom-panel"},[o(xr,{tableName:e(d),"schema-name":e(i)},null,8,["tableName","schema-name"])])):U("",!0),o(Bn,{open:e(ae),"onUpdate:open":G[1]||(G[1]=Re=>Ee(ae)?ae.value=Re:null),message:e(Q)||""},null,8,["open","message"]),y("div",{ref_key:"containerRef",ref:l,class:"flex flex-col h-full w-full relative",tabindex:"0"},[o(Ue,{visible:e(Ie)||e(te)},null,8,["visible"]),y("div",Tr,[o(eo,{"total-selected-rows":(Zt=e(N))==null?void 0:Zt.length,isAllowNextPage:e(V),isAllowPreviousPage:e(K),totalRows:e(M),limit:e(O).limit,currentTotalRows:((en=e(T))==null?void 0:en.length)||0,offset:e(O).offset,"has-edited-rows":e(gt),"pending-changes-count":e(ht),isViewVirtualTable:e(de),onOnPaginate:e(F),onOnNextPage:e(R),onOnPreviousPage:e($),onOnRefresh:e(it),onOnDiscardChanges:e(Ge),onOnSaveData:e(rt),onOnDeleteRows:e(Me),onOnAddEmptyRow:e(Se),onOnShowFilter:G[2]||(G[2]=()=>{var Re;(Re=e(u))==null||Re.onShowSearch()}),onOnToggleHistoryPanel:e(r).onToggleBottomPanel,tabView:e(X),"onUpdate:tabView":G[3]||(G[3]=Re=>Ee(X)?X.value=Re:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","pending-changes-count","isViewVirtualTable","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnDiscardChanges","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnToggleHistoryPanel","tabView"])]),y("div",Rr,[e(X)===e(re).Data?(h(),D(to,{key:0,ref_key:"quickQueryFilterRef",ref:u,onOnSearch:G[4]||(G[4]=()=>{e(Ne)()}),onOnUpdateFilters:G[5]||(G[5]=Re=>{ge.value=Re}),isShowFilters:e(k),"onUpdate:isShowFilters":G[6]||(G[6]=Re=>Ee(k)?k.value=Re:null),initFilters:e(ge),baseQuery:e(E),columns:e(ie),dbType:e(v),composeWith:e(q),onOnChangeComposeWith:e(L)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):U("",!0)]),y("div",$r,[e(se)[e(re).Erd]?qe((h(),D(Ln,{key:0,tableId:e(On)({tableName:e(d),schemaName:e(i)})},null,8,["tableId"])),[[Ze,e(X)===e(re).Erd]]):U("",!0),e(se)[e(re).Structure]?qe((h(),x("div",Ir,[o(ao,{isVirtualTable:e(de),schema:e(i),tableName:e(d),connectionString:e(s),virtualTableId:t.virtualTableId},null,8,["isVirtualTable","schema","tableName","connectionString","virtualTableId"])],512)),[[Ze,e(X)===e(re).Structure]]):U("",!0),qe(o(no,{data:e(T),"total-selected-rows":e(N).length,"has-edited-rows":e(gt),cellContextMenu:(tn=e(S))==null?void 0:tn.cellContextMenu,cellHeaderContextMenu:(nn=e(S))==null?void 0:nn.cellHeaderContextMenu,selectedRows:e(N),"table-name":e(d),"schema-name":e(i),onOnClearContextMenu:G[7]||(G[7]=Re=>{var on;return(on=e(S))==null?void 0:on.clearCellContextMenu()}),onOnPaginate:e(F),onOnNextPage:e(R),onOnPreviousPage:e($),onOnRefresh:e(it),onOnSaveData:e(rt),onOnDeleteRows:e(Me),onOnAddEmptyRow:e(Se),onOnFilterByValue:e(lo),onOnCopyRows:e(bt),onOnPasteRows:e(_t),onOnCopySelectedCell:e(wt)},{default:m(()=>[o(oo,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:S,"selected-rows":e(N),data:e(T)||[],orderBy:e(ne),onOnSelectedRows:e(Ot),"onUpdate:orderBy":e(ee),onOnOpenBackReferencedTableModal:ct,onOnOpenForwardReferencedTableModal:ve,isHaveRelationByFieldName:e(ro),foreignKeyColumns:e(oe),foreignKeys:e(J),primaryKeyColumns:e(ue),columnTypes:e(pe),defaultPageSize:e(kt),offset:e(O).offset,onOnFocusCell:e(Le),selectedColumnFieldId:e(St),"current-schema-name":e(i),"current-table-name":e(d),isViewOnly:e(At)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","selectedColumnFieldId","current-schema-name","current-table-name","isViewOnly"])]),_:1},8,["data","total-selected-rows","has-edited-rows","cellContextMenu","cellHeaderContextMenu","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnFilterByValue","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[Ze,e(X)===e(re).Data]])])],512)],64)}}});export{ei as default};
10
+ `),M||0),_(),l(),Je.success("Rows deleted successfully!")}catch(M){console.error("Fetch error in onDeleteRows:",M)}finally{N.value=!1}}},de=()=>{var ae,ne;const R=(ae=w.value)==null?void 0:ae.gridApi;if(!R){Je.error("Table grid API not available to add row.");return}let $=0;R.forEachNode(()=>$++);const F=$,M={[mt]:F+1,...Object.fromEntries(s.value.map(ee=>[ee,void 0]))};R.applyTransaction({add:[M],addIndex:F});const O=ue();if(!((ne=w.value)!=null&&ne.editedCells))return;w.value.editedCells=[...O,{rowId:F,changedData:{},isNewRow:!0}],R.setFocusedCell(F,s.value[0]);const Q=R.getRowNode(F.toString());Q&&(R.deselectAll(),Q.setSelected(!0))},Ne=()=>{!w.value||!me().length||(w.value.editedCells=[],Z(),Je.info("Changes discarded."))},T=C(()=>me().length),E=C(()=>T.value>0);return{onAddEmptyRow:de,onDiscardChanges:Ne,onDeleteRows:oe,onSaveData:pe,isMutating:N,hasEditedRows:E,pendingChangesCount:T,onCopyRows:()=>{const R=d.value;if(!R)return;const $=R.map(F=>{var O;const M=((F==null?void 0:F[mt])||1)-1;return(O=v.value)==null?void 0:O[M]});Ia($)},onPasteRows:async()=>{var F,M;const R=(F=w.value)==null?void 0:F.gridApi;if(!R)return;const $=R.getFocusedCell();$&&($==null||$.rowIndex,(M=$==null?void 0:$.column)==null||M.getColId(),await navigator.clipboard.readText())},onRefresh:Z,onSelectedRowsChange:ie,onCopySelectedCell:async()=>{a!=null&&a.value&&await navigator.clipboard.writeText(Vn(a.value)||"")},onFocusedCellChange:J,onDeselectAll:()=>{var $;($=w.value)!=null&&$.gridApi}}}const Jn=({tableName:c,schemaName:t,connectionId:r,tabViewType:n})=>{const s=Qe(),{schemas:v}=Mt(s),d=C(()=>{const a=v.value[r];if(a)return a.find(g=>g.name===t)}),i=C(()=>{var a,g,u,S;switch(n){case Nt.TableDetail:return(g=(a=d.value)==null?void 0:a.tableDetails)==null?void 0:g[c];case Nt.ViewDetail:{const N=(S=(u=d.value)==null?void 0:u.viewDetails)==null?void 0:S[c];return{columns:N==null?void 0:N.columns,foreign_keys:[],primary_keys:[],table_id:N==null?void 0:N.view_id}}default:return null}}),p=C(()=>n===Nt.ViewDetail),l=C(()=>{var a,g;return((g=(a=i.value)==null?void 0:a.columns)==null?void 0:g.map(u=>u.name))||[]}),_=C(()=>{var a;return(((a=i.value)==null?void 0:a.foreign_keys)||[]).map(g=>g.column)}),b=C(()=>{var a;return((a=i.value)==null?void 0:a.foreign_keys)||[]}),f=C(()=>{var a;return(((a=i.value)==null?void 0:a.primary_keys)||[]).map(g=>g.column)}),w=C(()=>{var a,g;return((g=(a=i.value)==null?void 0:a.columns)==null?void 0:g.map(u=>({name:u.name,type:u.short_type_name})))||[]});return{primaryKeyColumns:f,foreignKeys:b,columnNames:l,tableMetaData:i,columnTypes:w,foreignKeyColumns:_,isVirtualTable:p}},ns=()=>({[re.Data]:!0,[re.Structure]:!1,[re.Erd]:!1}),Xn=({initialTab:c=re.Data,onTabChanged:t}={})=>{const r=P(c),n=P(ns());return Fe(r,s=>{n.value[s]=!0,t==null||t(s)}),{quickQueryTabView:r,openedQuickQueryTab:n}},Yt=({schemaName:c,tableName:t})=>{const r=Qe(),{activeReservedSchemas:n}=Mt(r),s=C(()=>(n.value||[]).find(p=>p.table===t&&p.schema===c)),v=C(()=>{var p,l;const i=new Map;return(l=(p=s.value)==null?void 0:p.used_by)==null||l.forEach(_=>{i.set(_.referenced_column,!0)}),i});return{activeReservedSchemas:n,reverseTables:s,isHaveRelationByFieldName:i=>v.value.has(i)}};function Zn(){const c=P(!1),t=P(""),r=P("save");let n=null;return{safeModeDialogOpen:c,safeModeDialogSql:t,safeModeDialogType:r,onRequestSafeModeConfirm:(i,p)=>new Promise(l=>{t.value=i,r.value=p,c.value=!0,n=l}),onSafeModeConfirm:()=>{n&&(n(!0),n=null),c.value=!1},onSafeModeCancel:()=>{n&&(n(!1),n=null),c.value=!1}}}const os=["for"],as=["for"],ss=Y({__name:"DynamicForm",props:{fields:{},validationSchema:{},class:{}},setup(c,{expose:t}){const r=c,n=ua({validationSchema:da(r.validationSchema),name:`dynamic-form-${pt()}`});return t({form:n}),(s,v)=>(h(),x("div",{class:De(r.class)},[(h(!0),x(fe,null,ke(s.fields,d=>qe((h(),x("div",{key:d.name},[y("div",{class:De(["flex justify-between pb-0.5",d.titleClass])},[y("label",{class:"text-xs text-right",for:d.name},B(d.label),9,os),y("label",{class:"text-xs text-right text-primary/80",for:d.name},B(d.type),9,as)],2),o(e(ma),{as:d.as,id:d.name,name:d.name,class:De(d.class),placeholder:d.placeholder},null,8,["as","id","name","class","placeholder"])])),[[Ze,d.isShow]])),128))],2))}}),ls={class:"p-2 pb-0"},rs={class:"relative w-full"},is={class:"absolute left-1.5 top-1.5 w-4"},cs=Y({__name:"PreviewSelectedRow",props:{columnTypes:{},selectedRow:{}},setup(c){const t=c,r=C(()=>{const _={};return t.columnTypes.forEach(b=>{const f=zn(b.type);f==="boolean"?_[b.name]=Oa().optional():f==="number"?_[b.name]=ka().optional():_[b.name]=xt().optional()}),_}),n=Ro(""),s=$o(n,$n),v=C(()=>{const _=[],b=s.value.toLowerCase().trim();return t.columnTypes.forEach(f=>{const w=f.name.toLowerCase(),a=b?w.includes(b):!0;_.push({label:f.name,type:f.type,as:pa,name:f.name,class:"px-1 py-0.5 h-fit min-h-6! text-primary/80 font-normal!",placeholder:"NULL",isShow:a})}),_}),d=C(()=>{const _=s.value.toLowerCase().trim();return _?!t.columnTypes.some(b=>b.name.toLowerCase().includes(_)):!1}),i=C(()=>Rn(r.value)),p=P(),l=_=>{const b=Object.entries(_).reduce((f,[w,a])=>(f[w]=Vn(a||""),f),{});Be(()=>{var f;(f=p.value)==null||f.form.setValues(b)})};return Fe(()=>[t.selectedRow,p],([_])=>{_&&l(_)},{immediate:!0,deep:!0}),(_,b)=>{const f=le,w=lt;return h(),x(fe,null,[y("div",ls,[y("div",rs,[y("div",is,[o(f,{name:"lucide:search",class:"stroke-3!"})]),o(w,{type:"text",placeholder:"Search fields ...",class:"pr-6 pl-6 w-full h-8",modelValue:e(n),"onUpdate:modelValue":b[0]||(b[0]=a=>Ee(n)?n.value=a:null)},null,8,["modelValue"]),e(n)?(h(),x("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer rounded-md hover:bg-accent",onClick:b[1]||(b[1]=a=>n.value="")},[o(f,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):U("",!0)])]),e(d)?(h(),D(e(Pe),{key:0,title:"No results",desc:"No fields match your search."})):(h(),D(ss,{key:1,ref_key:"dynamicForm",ref:p,class:"space-y-1 p-2 overflow-y-auto",fields:e(v),"validation-schema":e(i)},null,8,["fields","validation-schema"]))],64)}}}),us={class:"grid gap-3"},ds={class:"grid gap-2"},ms={class:"grid grid-cols-3 items-center gap-4"},ps={class:"grid grid-cols-3 items-center gap-4"},fs={class:"flex justify-center"},vs=Y({__name:"QuickPagination",props:{limit:{},offset:{},totalRows:{}},emits:["onPaginate"],setup(c,{emit:t}){const r=c,n=t,s=P(0),v=P(0),d=P(!1),i=()=>{s.value=r.limit,v.value=r.offset},p=()=>{if(v.value>r.totalRows){v.value=r.totalRows-1;return}v.value<0&&(v.value=r.offset)},l=()=>{if(s.value>r.totalRows){s.value=r.totalRows;return}s.value<0&&(s.value=r.limit)},_=()=>{p(),l(),n("onPaginate",{limit:s.value,offset:v.value}),d.value=!1};return(b,f)=>(h(),D(e(he),null,{default:m(()=>[o(e(Dn),{open:d.value,"onUpdate:open":f[2]||(f[2]=w=>d.value=w)},{default:m(()=>[o(e(Pn),{"as-child":""},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(e(Ce),{onClick:i,variant:"outline",size:"xxs"},{default:m(()=>[A(B(b.limit),1)]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>f[3]||(f[3]=[y("p",null,"Pagination settings",-1)])),_:1})]),_:1}),o(e(Mn),{class:"w-64"},{default:m(()=>[y("div",us,[f[7]||(f[7]=y("div",{class:"space-y-2"},[y("h4",{class:"font-medium leading-none"},"Pagination"),y("p",{class:"text-sm text-muted-foreground"},"Set limit and offset")],-1)),y("div",ds,[y("div",ms,[o(e(cn),{for:"limit"},{default:m(()=>f[4]||(f[4]=[A("Limit")])),_:1}),o(e(lt),{id:"limit",type:"number",modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=w=>s.value=w),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"1",onBlur:l,onKeyup:dt(_,["enter"])},null,8,["modelValue"])]),y("div",ps,[o(e(cn),{for:"offset"},{default:m(()=>f[5]||(f[5]=[A("Offset")])),_:1}),o(e(lt),{id:"offset",type:"number",modelValue:v.value,"onUpdate:modelValue":f[1]||(f[1]=w=>v.value=w),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"0",onBlur:p,onKeyup:dt(_,["enter"])},null,8,["modelValue"])])]),y("div",fs,[o(e(Ce),{size:"xs",class:"px-6",onClick:_},{default:m(()=>f[6]||(f[6]=[A("Go")])),_:1})])])]),_:1})]),_:1},8,["open"])]),_:1}))}}),ys=Y({__name:"RefreshButton",emits:["onRefresh"],setup(c,{emit:t}){const r=t,n=P(0),s=()=>{n.value+=360,r("onRefresh")};return vt([{key:"meta+r",callback:()=>{s()}}],{isPreventDefault:!0}),(v,d)=>(h(),D(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(e(Ce),{variant:"outline",size:"xxs",onClick:s,"aria-label":"Refresh table"},{default:m(()=>[o(e(le),{name:"hugeicons:refresh",style:Ae({transform:`rotate(${n.value}deg)`}),class:"icon-transition"},null,8,["style"]),o(e(Wt),null,{default:m(()=>d[0]||(d[0]=[A("⌘R")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>d[1]||(d[1]=[y("p",null,"Refresh data",-1)])),_:1})]),_:1}))}}),gs=Io(ys,[["__scopeId","data-v-d56d89e4"]]),hs={key:0,class:"flex items-center gap-1"},bs={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"},_s={key:4,class:"font-normal text-xs text-primary/60"},ws={key:5,class:"font-normal text-sm text-primary"},Cs={key:1},Ss={key:2,class:"flex items-center gap-2"},xs={class:"font-normal text-sm text-primary/80"},Ns={key:3},Ts={class:"flex items-center gap-1"},eo=Y({__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(c,{emit:t}){const r=yt(),{openSettings:n}=ko(),s=c,v=t,d=P(),i=C(()=>s.tabView===re.Data);return C(()=>{var p;return((p=un.find(l=>l.value===r.tableAppearanceConfigs.nullOrderPreference))==null?void 0:p.label)||"Unset"}),(p,l)=>{const _=Wt,b=Ce,f=Ut,w=Bt,a=Lt,g=Oo("auto-animate");return h(),x("div",{ref_key:"quickQueryControlBarRef",ref:d,class:De(["w-full select-none h-9 flex items-center justify-between"])},[e(i)?qe((h(),x("div",hs,[o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",onClick:l[0]||(l[0]=u=>v("onShowFilter"))},{default:m(()=>[o(e(le),{name:"lucide:filter"}),o(_,null,{default:m(()=>l[14]||(l[14]=[A("⌘F")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[15]||(l[15]=[y("p",null,"Filter data",-1)])),_:1})]),_:1}),o(gs,{onOnRefresh:l[1]||(l[1]=u=>v("onRefresh"))}),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",onClick:l[2]||(l[2]=u=>v("onToggleHistoryPanel"))},{default:m(()=>[o(e(le),{name:"lucide:terminal"}),o(_,null,{default:m(()=>l[16]||(l[16]=[A("⌘j")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[17]||(l[17]=[y("p",null,"History logs",-1)])),_:1})]),_:1}),p.isViewVirtualTable?U("",!0):(h(),D(e(he),{key:0},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",class:"font-normal",size:"xxs",onClick:l[3]||(l[3]=u=>v("onAddEmptyRow"))},{default:m(()=>[o(e(le),{name:"hugeicons:plus-sign"}),l[18]||(l[18]=A(" Row "))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[19]||(l[19]=[y("p",null,"Add new record",-1)])),_:1})]),_:1})),p.hasEditedRows&&!p.isViewVirtualTable?(h(),D(e(he),{key:1},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",class:"relative overflow-visible",onClick:l[4]||(l[4]=u=>v("onSaveData"))},{default:m(()=>[o(e(le),{name:"lucide:save"}),p.pendingChangesCount?(h(),x("span",bs,B(p.pendingChangesCount),1)):U("",!0),o(_,null,{default:m(()=>l[20]||(l[20]=[A("⌘S")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[21]||(l[21]=[y("p",null,"Save changes",-1)])),_:1})]),_:1})):U("",!0),p.hasEditedRows&&!p.isViewVirtualTable?(h(),D(e(he),{key:2},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",class:"font-normal",onClick:l[5]||(l[5]=u=>v("onDiscardChanges"))},{default:m(()=>[o(e(le),{name:"hugeicons:undo-02"}),l[22]||(l[22]=A(" Discard "))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[23]||(l[23]=[y("p",null,"Discard changes",-1)])),_:1})]),_:1})):U("",!0),p.totalSelectedRows&&!p.isViewVirtualTable?(h(),D(e(he),{key:3},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"xxs",onClick:l[6]||(l[6]=u=>v("onDeleteRows"))},{default:m(()=>[o(e(le),{name:"lucide:trash"}),o(_,null,{default:m(()=>l[24]||(l[24]=[A("⌥⌘⌫")])),_:1})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>[y("p",null,"Delete "+B(p.totalSelectedRows)+" selected rows",1)]),_:1})]),_:1})):U("",!0),p.totalSelectedRows?(h(),x("p",_s," Selected ")):U("",!0),p.totalSelectedRows?(h(),x("p",ws,B(p.totalSelectedRows),1)):U("",!0)])),[[g]]):(h(),x("div",Cs)),e(i)?(h(),x("div",Ss,[o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"iconSm",disabled:!p.isAllowPreviousPage,onClick:l[7]||(l[7]=u=>v("onPreviousPage"))},{default:m(()=>[o(e(le),{name:"lucide:chevron-left"})]),_:1},8,["disabled"])]),_:1}),o(e(_e),null,{default:m(()=>l[25]||(l[25]=[y("p",null,"Previous page",-1)])),_:1})]),_:1}),y("div",xs,[A(B(p.offset+1)+"-"+B(p.offset+p.currentTotalRows)+" ",1),l[26]||(l[26]=y("p",{class:"font-normal text-xs text-primary/60 inline"},"of",-1)),A(" "+B(p.totalRows)+" ",1),l[27]||(l[27]=y("p",{class:"font-normal text-xs text-primary/60 inline"},"rows",-1))]),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"outline",size:"iconSm",disabled:!p.isAllowNextPage,onClick:l[8]||(l[8]=u=>v("onNextPage"))},{default:m(()=>[o(e(le),{name:"lucide:chevron-right"})]),_:1},8,["disabled"])]),_:1}),o(e(_e),null,{default:m(()=>l[28]||(l[28]=[y("p",null,"Next page",-1)])),_:1})]),_:1}),o(vs,{limit:p.limit,offset:p.offset,totalRows:p.totalRows,onOnPaginate:l[9]||(l[9]=u=>v("onPaginate",u))},null,8,["limit","offset","totalRows"])])):(h(),x("div",Ns)),y("div",Ts,[o(a,{"model-value":p.tabView,"onUpdate:modelValue":l[10]||(l[10]=u=>p.$emit("update:tabView",u))},{default:m(()=>[o(w,{class:"grid w-full grid-cols-3 h-[1.625rem]!"},{default:m(()=>[o(f,{value:e(re).Data,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>l[29]||(l[29]=[A(" Data ")])),_:1},8,["value"]),o(f,{value:e(re).Structure,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>l[30]||(l[30]=[A(" Structure ")])),_:1},8,["value"]),o(f,{value:e(re).Erd,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80",disabled:p.isViewVirtualTable},{default:m(()=>l[31]||(l[31]=[A(" ERD ")])),_:1},8,["value","disabled"])]),_:1})]),_:1},8,["model-value"]),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"ghost",size:"iconSm",onClick:l[11]||(l[11]=u=>e(n)("Quick Query"))},{default:m(()=>[e(r).quickQuerySafeModeEnabled?(h(),D(e(le),{key:0,name:"hugeicons:security-check",class:"size-4!"})):(h(),D(e(le),{key:1,name:"lucide:shield-minus",class:"size-4! text-muted-foreground"}))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>[y("p",null," Safe Mode: "+B(e(r).quickQuerySafeModeEnabled?"Enabled":"Disabled"),1),l[32]||(l[32]=y("p",{class:"text-xs text-muted-foreground"},"Click to configure",-1))]),_:1})]),_:1}),o(e(ya),null,{default:m(()=>[o(e(ga),{"as-child":""},{default:m(()=>[o(b,{variant:"ghost",size:"xxs"},{default:m(()=>[o(e(le),{name:"hugeicons:arrow-up-down",class:"size-4!"})]),_:1})]),_:1}),o(e(ha),{align:"end",class:"min-w-44"},{default:m(()=>[o(e(ba),{class:"py-0"},{default:m(()=>l[33]||(l[33]=[A("Null ordering")])),_:1}),o(e(_a)),o(e(fa),{"model-value":e(r).tableAppearanceConfigs.nullOrderPreference,"onUpdate:modelValue":l[12]||(l[12]=u=>e(r).tableAppearanceConfigs.nullOrderPreference=u)},{default:m(()=>[(h(!0),x(fe,null,ke(e(un),u=>(h(),D(e(va),{key:u.value,value:u.value,class:"h-7 cursor-pointer"},{default:m(()=>[A(B(u.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value"])]),_:1})]),_:1}),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(b,{variant:"ghost",size:"iconSm",onClick:l[13]||(l[13]=u=>e(n)("Appearance"))},{default:m(()=>[o(e(le),{name:"hugeicons:settings-04",class:"size-4!"})]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>l[34]||(l[34]=[y("p",null,"Table appearance settings",-1)])),_:1})]),_:1})])],512)}}}),Rs={class:"sticky top-0 z-10 bg-popover"},$s={class:"p-1"},Is={key:3,class:"px-2 py-1 text-sm text-muted-foreground"},ks=Y({__name:"ColumnSelector",props:{columns:{},value:{}},emits:["update:value","update:open"],setup(c,{emit:t}){const r=c,n=t,s=P(""),v=C(()=>s.value.trim().toLowerCase()),d=C(()=>new dn(r.columns,{threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),i=C(()=>new dn(mn,{keys:["label","value"],threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),p=C(()=>{const b=v.value;return b?d.value.search(b).map(f=>f.item):r.columns}),l=C(()=>{const b=v.value;return b?i.value.search(b).map(f=>f.item):mn}),_=b=>{n("update:open",b),b||(s.value="")};return(b,f)=>{const w=qt,a=Kt,g=lt,u=In,S=zt,N=jt,Z=Qt,ie=Vt;return h(),D(ie,{"model-value":b.value,"onUpdate:modelValue":f[4]||(f[4]=J=>n("update:value",J)),"onUpdate:open":_},{default:m(()=>[o(a,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:m(()=>[o(w,{placeholder:"Select field"})]),_:1}),o(Z,null,{default:m(()=>[o(N,null,{default:m(()=>[y("div",Rs,[y("div",$s,[o(g,{"model-value":e(s),"onUpdate:modelValue":f[0]||(f[0]=J=>Ee(s)?s.value=J:null),type:"text",placeholder:"Search fields",class:"h-7 text-sm",autocomplete:"off",onClick:f[1]||(f[1]=Xe(()=>{},["stop"])),onMousedown:f[2]||(f[2]=Xe(()=>{},["stop"])),onKeydown:f[3]||(f[3]=Xe(()=>{},["stop"]))},null,8,["model-value"])]),o(u)]),e(p).length?(h(!0),x(fe,{key:0},ke(e(p),J=>(h(),D(S,{key:J,class:"h-6 text-sm cursor-pointer",value:J},{default:m(()=>[A(B(J),1)]),_:2},1032,["value"]))),128)):U("",!0),e(p).length&&e(l).length?(h(),D(u,{key:1})):U("",!0),e(l).length?(h(!0),x(fe,{key:2},ke(e(l),J=>(h(),D(S,{key:J.value,class:"h-6 text-sm cursor-pointer",value:J.value},{default:m(()=>[A(B(J.label),1)]),_:2},1032,["value"]))),128)):U("",!0),!e(p).length&&!e(l).length?(h(),x("div",Is," No fields found ")):U("",!0)]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),Os=Y({__name:"OperatorSelector",props:{dbType:{},value:{}},emits:["update:value","update:open"],setup(c){const t=c,r=C(()=>Rt[t.dbType]??Rt[ye.MYSQL]??[]);return(n,s)=>{const v=qt,d=Kt,i=zt,p=jt,l=Qt,_=Vt;return h(),D(_,{"model-value":n.value,"onUpdate:modelValue":s[0]||(s[0]=b=>n.$emit("update:value",b)),"onUpdate:open":s[1]||(s[1]=b=>n.$emit("update:open",b))},{default:m(()=>[o(d,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:m(()=>[o(v,{placeholder:"Select operator"})]),_:1}),o(l,null,{default:m(()=>[o(p,null,{default:m(()=>[(h(!0),x(fe,null,ke(e(r),b=>(h(),x(fe,null,[b.value===e(Eo).value?(h(),D(e(In),{key:0})):(h(),D(i,{key:1,class:"h-6 text-sm cursor-pointer",value:b.value},{default:m(()=>[A(B(b.label),1)]),_:2},1032,["value"]))],64))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),Es={class:"text-xs font-medium"},As={class:"text-xs font-medium"},Fs=Y({__name:"ViewParserFilterApply",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function}},setup(c){const t=c,r=P(""),n=P(""),s=()=>{r.value=wn(t.getParserApplyFilter(),{language:"postgresql",keywordCase:"upper"}),n.value=wn(t.getParserAllFilter(),{language:"postgresql",keywordCase:"upper"})};return(v,d)=>(h(),D(e(he),null,{default:m(()=>[o(e(Dn),null,{default:m(()=>[o(e(Pn),{"as-child":""},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(e(Ce),{onClick:s,size:"xxs",variant:"outline"},{default:m(()=>d[0]||(d[0]=[A(" SQL ")])),_:1})]),_:1}),o(e(_e),null,{default:m(()=>d[1]||(d[1]=[y("p",null,"View SQL query",-1)])),_:1})]),_:1}),o(e(Mn),{class:"w-[40rem] p-2 space-y-2","restore-focus":!0},{default:m(()=>[y("div",Es,[d[2]||(d[2]=A(" Curren filter ")),o(e(Dt),{code:e(r),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])]),y("div",As,[d[3]||(d[3]=A(" Apply all filter ")),o(e(Dt),{code:e(n),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])])]),_:1})]),_:1})]),_:1}))}}),Ds={class:"flex justify-between"},Ps={class:"flex items-center gap-0.5 text-xs"},Ms={class:"text-xs flex items-center gap-2"},Ls=Y({__name:"QuickQueryFilterGuide",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function},composeWith:{}},emits:["onChangeComposeWith"],setup(c,{emit:t}){const r=t;return(n,s)=>{const v=qt,d=Kt,i=zt,p=jt,l=Qt,_=Vt,b=Wt;return h(),x("div",Ds,[y("div",Ps,[s[3]||(s[3]=A(" Compose with: ")),o(_,{modelValue:n.composeWith,"onUpdate:modelValue":s[0]||(s[0]=f=>r("onChangeComposeWith",f))},{default:m(()=>[o(d,{class:"w-14 h-5! text-xs cursor-pointer px-1 border-none gap-1 shadow-none"},{default:m(()=>[o(v,{placeholder:"Select operator"})]),_:1}),o(l,null,{default:m(()=>[o(p,null,{default:m(()=>[o(i,{class:"h-5 text-xs cursor-pointer",value:e(ft).AND},{default:m(()=>s[1]||(s[1]=[A(" AND ")])),_:1},8,["value"]),o(i,{class:"h-5 text-xs cursor-pointer",value:e(ft).OR},{default:m(()=>s[2]||(s[2]=[A(" OR ")])),_:1},8,["value"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),y("div",Ms,[y("div",null,[o(b,null,{default:m(()=>s[4]||(s[4]=[A("⌘F")])),_:1}),s[5]||(s[5]=A(": Show"))]),y("div",null,[o(b,null,{default:m(()=>s[6]||(s[6]=[A("Esc")])),_:1}),s[7]||(s[7]=A(": Exit"))]),o(e(Ao),{orientation:"vertical",class:"h-3/4!"}),y("div",null,[o(b,null,{default:m(()=>s[8]||(s[8]=[A("⌘I")])),_:1}),s[9]||(s[9]=A(": Insert"))]),y("div",null,[o(b,null,{default:m(()=>s[10]||(s[10]=[A("⌘⌫")])),_:1}),s[11]||(s[11]=A(": Delete"))]),y("div",null,[o(b,null,{default:m(()=>s[12]||(s[12]=[A("⌘↵")])),_:1}),s[13]||(s[13]=A(": Apply all"))])]),y("div",null,[o(Fs,{getParserApplyFilter:n.getParserApplyFilter,getParserAllFilter:n.getParserAllFilter},null,8,["getParserApplyFilter","getParserAllFilter"])])])}}}),to=Y({__name:"QuickQueryFilter",props:pn({columns:{},dbType:{},baseQuery:{},initFilters:{},composeWith:{}},{isShowFilters:{},isShowFiltersModifiers:{}}),emits:pn(["onSearch","onUpdateFilters","onChangeComposeWith"],["update:isShowFilters"]),setup(c,{expose:t,emit:r}){const n=c,s=Fo(c,"isShowFilters"),v=r,d=P(),i=Ht("filterSearchRefs"),p=C(()=>n.initFilters||[]),l=()=>p.value.map(T=>({...T})),_=T=>{v("onUpdateFilters",T)},b=(T,E)=>{const H=l(),I=H[T];I&&(H[T]={...I,...E},_(H))},f=(T,E)=>{const H=l();H.splice(T,0,{...E}),_(H)},w=T=>{const E=l();E.splice(T,1),_(E)},a=T=>{f(T+1,{isSelect:!0,fieldName:ut.AnyField,operator:W.LIKE_CONTAINS})},g=(T,E)=>{var K;const H=(K=p.value)==null?void 0:K[T],I=(H==null?void 0:H.fieldName)===ut.RawQuery,V=!(H!=null&&H.operator);I&&V?b(T,{...H,fieldName:E,operator:W.LIKE_CONTAINS}):b(T,{...H,fieldName:E})},u=()=>`${n.baseQuery} ${Pt({columns:n.columns,db:n.dbType,filters:p.value,composeWith:n.composeWith})};`,S=()=>`${n.baseQuery} ${Pt({columns:n.columns,db:n.dbType,filters:p.value.map(T=>({...T,isSelect:!0})),composeWith:n.composeWith})};`,N=(T=!1)=>{if(T){v("onSearch");return}v("onSearch")},Z=T=>{var H;const E=(H=p.value)==null?void 0:H[T];E!=null&&E.isSelect||b(T,{...E,isSelect:!0}),N()},ie=()=>{_(p.value.map(T=>({...T,isSelect:!0}))),N()},J=async T=>{var I;const E=(I=p.value)==null?void 0:I[T],H=!!(E!=null&&E.isSelect);w(T),await Be(),T!==0&&oe(T-1),H&&N()},ue=T=>T==null?"":String(T),me=(T,E)=>{b(T,{search:E})},pe=async(T,E)=>{b(T,{isSelect:E}),await N()},oe=T=>{var E,H;i.value&&((H=(E=i.value)==null?void 0:E[T])==null||H.$el.focus())},de=()=>{p.value.length||a(-1),s.value=!0,Be(()=>{const T=p.value.length-1||0;oe(T)})},Ne=()=>i.value?i.value.findIndex(E=>E.$el===document.activeElement):void 0;return vt([{key:"meta+backspace",callback:async()=>{const T=Ne();T===void 0||T<0||J(T)}},{key:"meta+enter",callback:()=>{const T=Ne();T!==void 0&&T>=0&&ie()}},{key:"meta+i",callback:async()=>{const T=Ne();T===void 0||T<0||(a(T),await Be(),oe(T+1))}},{key:"escape",callback:()=>{s.value=!1,N(!0)}}],{target:d}),t({onShowSearch:de,insert:f}),(T,E)=>{const H=Ca,I=lt,V=Ce;return s.value?(h(),x("div",{key:0,ref_key:"quickQueryFilterRef",ref:d,class:De(["h-fit space-y-1",e(p).length&&"pb-2"])},[(h(!0),x(fe,null,ke(e(p),(K,R)=>(h(),x("div",{class:"flex gap-1 items-center",key:R},[o(H,{"model-value":K.isSelect,onClick:E[0]||(E[0]=Xe(()=>{},["stop"])),onKeydown:E[1]||(E[1]=dt(Xe(()=>{},["stop","prevent"]),["enter"])),onKeyup:E[2]||(E[2]=dt(Xe(()=>{},["stop"]),["enter"])),"onUpdate:modelValue":$=>pe(R,!!$)},null,8,["model-value","onUpdate:modelValue"]),o(ks,{columns:T.columns,value:K.fieldName,"onUpdate:value":$=>{g(R,$)},"onUpdate:open":$=>{$||T.$nextTick(()=>oe(R))}},null,8,["columns","value","onUpdate:value","onUpdate:open"]),K.fieldName!==e(ut).RawQuery?(h(),D(Os,{key:0,"db-type":T.dbType,value:K.operator,"onUpdate:value":$=>b(R,{operator:$==null?void 0:String($)}),"onUpdate:open":$=>{$||T.$nextTick(()=>oe(R))}},null,8,["db-type","value","onUpdate:value","onUpdate:open"])):U("",!0),o(I,{"model-value":ue(K.search),type:"text",placeholder:e(Ya)(K.operator||""),class:"w-full h-6 px-2",ref_for:!0,ref_key:"filterSearchRefs",ref:i,onKeyup:E[3]||(E[3]=dt(Xe(()=>N(),["stop"]),["enter"])),"onUpdate:modelValue":$=>me(R,String($))},null,8,["model-value","placeholder","onUpdate:modelValue"]),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(V,{size:"xxs",variant:"outline",onClick:$=>Z(R)},{default:m(()=>E[5]||(E[5]=[A(" Apply ")])),_:2},1032,["onClick"])]),_:2},1024),o(e(_e),null,{default:m(()=>E[6]||(E[6]=[y("p",null,"Apply this filter",-1)])),_:1})]),_:2},1024),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(V,{size:"iconSm",variant:"outline",onClick:$=>J(R)},{default:m(()=>[o(e(le),{name:"hugeicons:minus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(_e),null,{default:m(()=>E[7]||(E[7]=[y("p",null,"Remove filter (Meta+Backspace)",-1)])),_:1})]),_:2},1024),o(e(he),null,{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(V,{size:"iconSm",variant:"outline",onClick:()=>a(R)},{default:m(()=>[o(e(le),{name:"hugeicons:plus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),o(e(_e),null,{default:m(()=>E[8]||(E[8]=[y("p",null,"Add new filter (Meta+I)",-1)])),_:1})]),_:2},1024)]))),128)),e(p).length?(h(),D(Ls,{key:0,getParserApplyFilter:u,getParserAllFilter:S,"compose-with":T.composeWith,onOnChangeComposeWith:E[4]||(E[4]=K=>v("onChangeComposeWith",K))},null,8,["compose-with"])):U("",!0)],2)):U("",!0)}}}),no=Y({__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(c,{emit:t}){const r=yt(),n=c,s=t,v=C(()=>{var u,S,N,Z;return((S=(u=n.cellContextMenu)==null?void 0:u.column)==null?void 0:S.getColId())??((Z=(N=n.cellHeaderContextMenu)==null?void 0:N.column)==null?void 0:Z.getColId())}),d=C(()=>{var u,S,N;return((u=n.cellContextMenu)==null?void 0:u.column.getColDef().headerName)??((N=(S=n.cellHeaderContextMenu)==null?void 0:S.column)==null?void 0:N.getColDef().headerName)??""}),i=u=>{hn(n.selectedRows||[],d.value??"",u)},p=u=>{hn(n.data||[],d.value??"",u)},l=u=>Ft(n.selectedRows||[],n.tableName||"table_data",u,n.schemaName),_=u=>Ft(n.data||[],n.tableName||"table_data",u,n.schemaName),b=u=>bn(n.selectedRows||[],n.tableName||"table_data",u,"selected",n.schemaName),f=u=>bn(n.data||[],n.tableName||"table_data",u,"all",n.schemaName),w=()=>{var S;const u=(S=n.cellContextMenu)==null?void 0:S.value;if(u!==void 0){if(typeof u=="object")return _n(JSON.stringify(u));_n(String(u))}},a=()=>{var u;if(n.cellContextMenu){const S=(u=n.cellContextMenu)==null?void 0:u.data;Ft([S],n.tableName||"table_data","csv-no-header",n.schemaName)}},g=C(()=>{var pe;const u=!!n.cellContextMenu,S=n.selectedRows.length>0,N=n.selectedRows.length,Z=((pe=n.data)==null?void 0:pe.length)||0,ie=!!v.value,J=[{type:z.LABEL,title:`${N} selected`,condition:S&&u},{type:z.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>i("list"),condition:S&&u},{type:z.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>i("json"),condition:S&&u},{type:z.SEPARATOR,condition:S&&u},{type:z.LABEL,title:"All data in column"},{type:z.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>p("list")},{type:z.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>p("json")}],ue=[{type:z.LABEL,title:`${N} selected row(s)`,condition:S},{type:z.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>l("csv-no-header"),condition:S},{type:z.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>l("json"),condition:S},{type:z.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>l("sql"),condition:S},{type:z.SEPARATOR,condition:S},{type:z.LABEL,title:"All rows"},{type:z.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>_("csv-no-header")},{type:z.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>_("json")},{type:z.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>_("sql")}],me=[{type:z.LABEL,title:`${N} selected row${N>1?"s":""}`,condition:S},{type:z.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>b("csv-no-header"),condition:S},{type:z.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>b("csv-with-header"),condition:S},{type:z.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>b("json"),condition:S},{type:z.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>b("sql"),condition:S},{type:z.SEPARATOR,condition:S},{type:z.LABEL,title:`All ${Z.toLocaleString()} row${Z!==1?"s":""}`},{type:z.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>f("csv-no-header")},{type:z.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>f("csv-with-header")},{type:z.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>f("json")},{type:z.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>f("sql")}];return[{title:"View row detail",icon:"hugeicons:view",type:z.ACTION,select:()=>{r.onShowSecondSidebar()},condition:!n.isReferencedTable&&!!n.cellContextMenu},{title:"Filter by value",icon:"lucide:filter",type:z.ACTION,shortcut:"⌘F",select:()=>{s("onFilterByValue")},condition:!!n.cellContextMenu},{title:"Refresh",icon:"hugeicons:refresh",type:z.ACTION,shortcut:"⌘R",select:()=>{s("onRefresh")}},{type:z.SEPARATOR},{type:z.ACTION,title:"Copy current cell",icon:"hugeicons:copy-02",select:w,condition:u},{type:z.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:a,condition:S&&u},{type:z.SEPARATOR,condition:u},{type:z.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:J,condition:ie,desc:d.value||"Select a column"},{type:z.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:ue},{type:z.SEPARATOR},{type:z.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:me}]});return(u,S)=>{const N=wa;return h(),D(N,{contextMenuItems:e(g),onOnClearContextMenu:S[0]||(S[0]=Z=>s("onClearContextMenu"))},{default:m(()=>[Do(u.$slots,"default")]),_:3},8,["contextMenuItems"])}}});function Bs({fieldType:c,isObjectColumn:t,value:r}){const n=t?JSON.stringify(r):r;return c==="bool"?!!n:n===""||n===null||n===void 0?null:n}const Us={class:"flex items-center justify-between"},Vs={class:"truncate"},Ks=Y({__name:"CustomCellUuid",props:{params:{}},setup(c){return(t,r)=>{var n,s;return h(),x("div",Us,[y("span",Vs,B(((s=(n=t.params)==null?void 0:n.formatValue)==null?void 0:s.call(n,t.params.value))||t.params.value),1),t.params.isPrimaryKey&&t.params.value?(h(),D(e(le),{key:0,onClick:r[0]||(r[0]=()=>{t.params.onOpenPreviewReverseTableModal(t.params.value)}),name:"hugeicons:view",class:"min-w-4 w-4! cursor-pointer hover:bg-amber-500"})):U("",!0)])}}}),qs={class:"ag-header-cell-text items-center flex gap-0.5","data-ref":"eText"},Qs={class:"text-xxs!"},js={key:0,class:"ag-sort-indicator-container","data-ref":"eSortIndicator"},zs={key:0,class:"ag-sort-indicator-icon ag-sort-ascending-icon","data-ref":"eSortAsc","aria-hidden":"true"},Hs={key:1,class:"ag-sort-indicator-icon ag-sort-descending-icon","data-ref":"eSortDesc","aria-hidden":"true"},Ws=Y({__name:"CustomHeaderTable",props:{params:{}},setup(c){const t=c,r=()=>{if(!t.params.allowSorting)return;const n=t.params.sort,s=t.params.onUpdateSort;s(n==="ASC"?{order:"DESC",columnName:t.params.displayName}:n==="DESC"?{}:{order:"ASC",columnName:t.params.displayName})};return(n,s)=>(h(),x("div",{class:"ag-header-cell-label cursor-pointer","data-ref":"eLabel",role:"presentation",onClick:r},[y("span",qs,[t.params.isPrimaryKey?(h(),D(e(le),{key:0,name:"lucide:key-round",class:"min-w-3! text-yellow-500"})):U("",!0),t.params.isForeignKey?(h(),D(e(le),{key:1,name:"lucide:key-round",class:"min-w-3!"})):U("",!0),A(" "+B(t.params.displayName)+" ",1),y("p",Qs,B(t.params.dataType),1)]),n.params.sort?(h(),x("span",js,[n.params.sort==="ASC"?(h(),x("span",zs,s[0]||(s[0]=[y("span",{class:"ag-icon ag-icon-asc",role:"presentation",unselectable:"on"},null,-1)]))):(h(),x("span",Hs,s[1]||(s[1]=[y("span",{class:"ag-icon ag-icon-desc",role:"presentation",unselectable:"on"},null,-1)])))])):U("",!0)]))}}),oo=Y({__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(c,{expose:t,emit:r}){const n=c,s=r,v=P(n.defaultPageSize??kt),{gridApi:d,onGridReady:i}=aa(),p=Ht("agGridRef"),l=P(),_=P();Po(p,I=>{s("onFocusCell",void 0),s("onClickOutSide",I)});const b=P([]),f=C(()=>(n.data??[]).map((I,V)=>({[mt]:V+n.offset+1,...I}))),{handleCellMouseOverDebounced:w,handleCellMouseDown:a}=sa({gridApi:d,gridRef:p}),g=C(()=>new Map(n.columnTypes.map(I=>[I.name,I]))),u=I=>{var K;const V=((K=g.value.get(I))==null?void 0:K.type)||"";return["object","json","jsonb"].includes(V)},S=I=>{var Q,ae,ne;const{colDef:V,newValue:K,rowIndex:R}=I,$=Number(R),F=V.field,M=u(F??""),O=((Q=g.value.get(F??""))==null?void 0:Q.type)||"";if($!==null&&F){const ee=(ne=(ae=n==null?void 0:n.data)==null?void 0:ae[$])==null?void 0:ne[F];let ce=ee!==K;M&&(ce=JSON.stringify(ee)!==JSON.stringify(K));const ge=b.value.some(L=>L.rowId===$),k=Bs({fieldType:O,isObjectColumn:M,value:K});if(ce&&!ge){b.value.push({rowId:$,changedData:{[F]:k}});return}ce?b.value=b.value.map(L=>L.rowId===$?{...L,changedData:{...L.changedData,[F]:k}}:L):b.value=b.value.map(L=>{if(L.rowId!==$)return L;const q={...L.changedData};return delete q[F],{...L,changedData:q}}).filter(L=>L.isNewRow||Object.keys(L.changedData).length>0)}},N=C(()=>{var $;if(!(($=n.columnTypes)!=null&&$.length))return[];const I=[];I.push({colId:mt,headerName:na,field:mt,filter:!1,resizable:!0,editable:!1,sortable:!1,type:"indexColumn",headerComponentParams:{allowSorting:!1},pinned:"left",width:ta});const V=new Set(n.primaryKeyColumns),K=new Set(n.foreignKeyColumns),R=new Map(n.foreignKeys.map(F=>[F.column,F]));return n.columnTypes.forEach(({name:F,type:M})=>{const O=F,Q=n.orderBy.columnName===O?n.orderBy.order:void 0,ae=V.has(O),ne=K.has(O),ee=R.get(O),ce=n.isHaveRelationByFieldName(O),ge=ae&&ce||ne&&ee,k=["json","jsonb"].includes(M),L={headerName:O,field:O,colId:O,filter:!1,resizable:!0,editable:!0,sortable:!1,type:"editableColumn",headerComponentParams:{allowSorting:!0,sort:Q,onUpdateSort:q=>{s("update:orderBy",q)},fieldId:O,isPrimaryKey:ae,isForeignKey:ne},cellRenderer:ge?Ks:void 0,cellRendererParams:{isPrimaryKey:ge,onOpenPreviewReverseTableModal:q=>{ne&&ee?s("onOpenForwardReferencedTableModal",{id:q,tableName:ee.referenced_table,columnName:ee.referenced_column,schemaName:ee.referenced_table_schema}):s("onOpenBackReferencedTableModal",{id:q,columnName:O,tableName:n.currentTableName,schemaName:n.currentSchemaName})}},cellEditorSelector:q=>{if(k)return{component:"AgJsonCellEditor",popup:!0,popupPosition:"under"}},valueFormatter:q=>{const te=q.value;return typeof te=="number"||typeof te=="bigint"?te.toString():te===null?"NULL":k?JSON.stringify(te,null,2):te??""},valueSetter:q=>{if(n.isViewOnly)return!1;if(k)try{const te=JSON.parse(q.newValue);return q.data[O]=te,!0}catch(te){return console.error(`Invalid JSON format in column ${O}:`,te),!1}else return q.data[O]=q.newValue,!0}};I.push(L)}),I});function Z(I){const K=I.event.key;return["Backspace","Delete"].some(function(O){return O===K||K.toUpperCase()===O})}const ie=P({headerComponent:Ws,suppressKeyboardEvent:Z}),J=P({editableColumn:{cellStyle:I=>{const V=I.colDef.colId??"";if(!V||!n.data)return;const K=u(V??""),R=Number(I.node.id??I.node.rowIndex),$=n.data[R];if($===void 0)return{backgroundColor:"var(--color-green-100)"};const F={},M=$[V],O=I.value;(M===null||O===null)&&(F.color="var(--muted-foreground)");let Q=!1;return K?Q=JSON.stringify(M)!==JSON.stringify(O):Q=M!==O,Q?(F.backgroundColor="var(--color-orange-200)",delete F.color):F.backgroundColor="unset",F},cellClass:I=>I.column.getColId()===n.selectedColumnFieldId?"col-highlight-cell cellCenter":"cellCenter"}}),ue=la();Fe(ue,I=>{var V;(V=d.value)==null||V.updateGridOptions({theme:I})});const me=C(()=>({components:{AgJsonCellEditor:ra},paginationPageSize:v.value,rowBuffer:Mo,rowClass:"class-row-border-none",getRowStyle:V=>{if((V.node.rowIndex||0)%2===0)return{background:"var(--muted)"}},rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableSelectionWithoutKeys:!1,enableClickSelection:"enableSelection",copySelectedRows:!1},theme:ue.value,pagination:!1,undoRedoCellEditing:!0,undoRedoCellEditingLimit:25,animateRows:!0,onCellMouseDown:a,onCellMouseOver:w,defaultColDef:ie.value,columnTypes:J.value})),pe=()=>{if(d.value){const I=d.value.getSelectedRows();oe(I)}},oe=I=>{s("onSelectedRows",I)},de=()=>{var V,K,R;const I=(V=d.value)==null?void 0:V.getFocusedCell();if(I){const $=(K=d.value)==null?void 0:K.getDisplayedRowAtIndex(I.rowIndex),F=I.column.getColId(),M=(R=$==null?void 0:$.data)==null?void 0:R[F];s("onFocusCell",M??void 0)}},Ne=I=>{var V,K;(V=n.selectedRows)!=null&&V.length||(K=I==null?void 0:I.node)==null||K.setSelected(!0),l.value=I},T=I=>{_.value=I};Fe(()=>n.selectedColumnFieldId,async()=>{var I;await Be(),(I=d.value)==null||I.refreshCells({force:!0})},{flush:"post"});const E=()=>{if(!d.value)return;const I=d.value.getAllGridColumns()||[],V=(n.data||[]).slice(0,10),K=ca({columns:I,rows:V}),R=new Set(n.primaryKeyColumns),$=new Set(n.foreignKeyColumns);d.value.updateGridOptions({columnDefs:I.map(F=>{const M=F.getColDef().field,O=R.has(M),Q=$.has(M),ne=O||Q?oa:0;return{...F.getColDef(),width:K[M]+ne}})})};return t({gridApi:d,editedCells:b,columnDefs:N,cellContextMenu:l,cellHeaderContextMenu:_,clearCellContextMenu:()=>{l.value=void 0,_.value=void 0}}),kn(async()=>{var $,F,M;if(!d.value)return;await Be();const I=d.value.getState(),V=document.querySelector(".ag-body-viewport");V&&(V.scrollTop=(($=I.scroll)==null?void 0:$.top)||0);const K=((F=d.value)==null?void 0:F.getAllGridColumns())||[];let R=0;for(const O of K){if(R>=(((M=I.scroll)==null?void 0:M.left)||0)){d.value.ensureColumnVisible(O.getColId(),"start");break}R+=O.getActualWidth()}}),(I,V)=>(h(),D(e(ia),{onSelectionChanged:pe,onCellValueChanged:S,onGridReady:e(i),onCellFocused:de,onRowDataUpdated:E,onCellContextMenu:Ne,onColumnHeaderContextMenu:T,class:De(n.class),"grid-options":e(me),columnDefs:e(N),rowData:e(f),ref_key:"agGridRef",ref:p},null,8,["onGridReady","class","grid-options","columnDefs","rowData"]))}}),We=320,Nn=34,Gs=24,ot=c=>c<=0?Nn:Math.min(We,Nn+c*Gs),Ys={class:"relative"},Js={key:0,class:"p-2"},Xs={key:2,class:"flex items-center justify-center py-6"},Zs=Y({__name:"IndexesTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["index_name","method","is_unique","is_primary","definition"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(a=>a.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/indexes",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`indexes-${s.value}`,getCachedData:()=>{const a=n.indexesMap[s.value];return a!=null&&a.length?a:void 0},onResponse({response:a}){a._data&&(n.indexesMap[s.value]=a._data)},onResponseError({response:a}){var g;v.value=((g=a._data)==null?void 0:g.message)||"Failed to load indexes"}},"$NyxkuxC1vx"),_=C(()=>(p.value||[]).map(a=>({index_name:a.indexName,method:a.method,is_unique:a.isUnique,is_primary:a.isPrimary,definition:a.definition}))),b=C(()=>_.value.length>0?tt(_.value):nt(r)),f=C(()=>`${ot(_.value.length)}px`),w=()=>{v.value=null,je(`indexes-${s.value}`)};return(a,g)=>{const u=Oe,S=Pe;return h(),x("div",Ys,[o(u,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",Js,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(f)})},[o(e(et),{columns:e(b),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",Xs,[o(S,{title:"No Indexes",desc:"This table has no indexes."})])):U("",!0)])}}}),el={class:"relative"},tl={key:0,class:"p-2"},nl={key:1,class:"flex items-center justify-center py-3"},ol=Y({__name:"RlsTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["policy_name","permissive","command","roles","using_expression","with_check_expression"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(g=>g.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/rls",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`rls-${s.value}`,getCachedData:()=>{const g=n.rlsMap[s.value];if(g!=null&&g.length)return{enabled:!0,policies:g}},onResponse({response:g}){var u;(u=g._data)!=null&&u.policies&&(n.rlsMap[s.value]=g._data.policies)},onResponseError({response:g}){var u;v.value=((u=g._data)==null?void 0:u.message)||"Failed to load RLS policies"}},"$EinB8Z7zho"),_=g=>{if(Array.isArray(g))return g.map(N=>String(N));if(typeof g!="string")return[];const u=g.trim();if(!u)return[];const S=u.startsWith("{")&&u.endsWith("}")?u.slice(1,-1):u;return S?S.split(",").map(N=>N.trim().replace(/^"|"$/g,"")).filter(Boolean):[]},b=C(()=>{var g;return(((g=p.value)==null?void 0:g.policies)||[]).map(u=>({policy_name:u.policyName,permissive:u.permissive,command:u.command,roles:_(u.roles).join(", ")||"—",using_expression:u.usingExpression||"—",with_check_expression:u.withCheckExpression||"—"}))}),f=C(()=>b.value.length>0?tt(b.value):nt(r)),w=C(()=>`${ot(b.value.length)}px`),a=()=>{v.value=null,je(`rls-${s.value}`)};return(g,u)=>{const S=Oe,N=Pe;return h(),x("div",el,[o(S,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",tl,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:a},{default:m(()=>u[0]||(u[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(p)?(h(),x(fe,{key:1},[e(b).length?(h(),x("div",{key:0,style:Ae({maxHeight:`${e(We)}px`,height:e(w)})},[o(e(et),{columns:e(f),data:e(b),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",nl,[o(N,{title:"No Policies",desc:"No RLS policies are defined for this table."})])):U("",!0)],64)):U("",!0)])}}}),al={class:"relative"},sl={key:0,class:"p-2"},ll={key:2,class:"flex items-center justify-center py-3"},rl=Y({__name:"RulesTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["rule_name","event","action_type","definition"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(a=>a.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/rules",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`rules-${s.value}`,getCachedData:()=>{const a=n.rulesMap[s.value];return a!=null&&a.length?a:void 0},onResponse({response:a}){a._data&&(n.rulesMap[s.value]=a._data)},onResponseError({response:a}){var g;v.value=((g=a._data)==null?void 0:g.message)||"Failed to load rules"}},"$u5D1mSLK0A"),_=C(()=>(p.value||[]).map(a=>({rule_name:a.ruleName,event:a.event,action_type:a.actionType,definition:a.definition}))),b=C(()=>_.value.length>0?tt(_.value):nt(r)),f=C(()=>`${ot(_.value.length)}px`),w=()=>{v.value=null,je(`rules-${s.value}`)};return(a,g)=>{const u=Oe,S=Pe;return h(),x("div",al,[o(u,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",sl,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(f)})},[o(e(et),{columns:e(b),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",ll,[o(S,{title:"No Rules",desc:"This table has no rewrite rules."})])):U("",!0)])}}}),il={class:"rounded-md border p-2.5"},cl={key:0,class:"p-2"},ul={key:1,class:"space-y-1.5"},dl={class:"flex items-center gap-1 flex-wrap"},ml={class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},pl={class:"text-[11px] font-mono leading-none text-foreground"},fl={class:"flex flex-wrap gap-1"},vl={class:"text-xxs text-muted-foreground"},yl=Y({__name:"TableMetaInfo",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r={table:"Table",partitioned:"Partitioned Table",foreign:"Foreign Table"},n=P(null),s=C(()=>`${t.schema}.${t.tableName}`),v=$e(),d=C(()=>t.connectionId?v.connections.find(f=>f.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/tables/meta",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,tableName:t.tableName})),key:`table-meta-${s.value}`,onResponseError({response:f}){var w;n.value=((w=f._data)==null?void 0:w.message)||"Failed to load table metadata"}},"$AYAykbrhiy"),l=C(()=>{var w;const f=(w=i.value)==null?void 0:w.type;return f?r[f]??f:"Unknown"}),_=C(()=>{var f,w,a,g,u;return[{label:"Rows",value:((w=(f=i.value)==null?void 0:f.rowEstimate)==null?void 0:w.toLocaleString())??"—",mono:!0},{label:"Total",value:((a=i.value)==null?void 0:a.totalSize)||"—"},{label:"Table",value:((g=i.value)==null?void 0:g.tableSize)||"—"},{label:"Index",value:((u=i.value)==null?void 0:u.indexSize)||"—"}]}),b=()=>{n.value=null,je(`table-meta-${s.value}`)};return(f,w)=>{const a=Oe;return h(),x("div",il,[o(a,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(h(),x("div",cl,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(n)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:b},{default:m(()=>w[0]||(w[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(i)?(h(),x("div",ul,[y("div",dl,[o(e($t),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(l)),1)]),_:1}),y("span",ml,[w[1]||(w[1]=y("span",{class:"text-xxs text-muted-foreground"}," Owner ",-1)),y("span",pl,B(e(i).owner||"—"),1)])]),y("div",fl,[(h(!0),x(fe,null,ke(e(_),g=>(h(),x("div",{key:g.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[y("span",vl,B(g.label),1),y("span",{class:De(["text-[11px] leading-none text-foreground",g.mono?"font-mono":"font-medium"])},B(g.value),3)]))),128))])])):U("",!0)])}}}),gl={class:"relative"},hl={key:0,class:"p-2"},bl={key:2,class:"flex items-center justify-center py-3"},_l=Y({__name:"TriggersTab",props:{schema:{},tableName:{},connectionId:{}},setup(c){const t=c,r=["trigger_name","enabled","timing","events","orientation","definition"],n=Qe(),s=C(()=>`${t.schema}.${t.tableName}`),v=P(null),d=$e(),i=C(()=>t.connectionId?d.connections.find(a=>a.id===t.connectionId):d.selectedConnection),{data:p,status:l}=xe("/api/tables/triggers",{method:"POST",body:C(()=>({...we(i.value),schema:t.schema,table:t.tableName})),key:`triggers-${s.value}`,getCachedData:()=>{const a=n.triggersMap[s.value];return a!=null&&a.length?a:void 0},onResponse({response:a}){a._data&&(n.triggersMap[s.value]=a._data)},onResponseError({response:a}){var g;v.value=((g=a._data)==null?void 0:g.message)||"Failed to load triggers"}},"$S3QU21QNI4"),_=C(()=>(p.value||[]).map(a=>{var g;return{trigger_name:a.triggerName,enabled:a.enabled?"Enabled":"Disabled",timing:a.timing,events:((g=a.events)==null?void 0:g.join(", "))||"—",orientation:a.orientation,definition:a.definition}})),b=C(()=>_.value.length>0?tt(_.value):nt(r)),f=C(()=>`${ot(_.value.length)}px`),w=()=>{v.value=null,je(`triggers-${s.value}`)};return(a,g)=>{const u=Oe,S=Pe;return h(),x("div",gl,[o(u,{visible:e(l)==="pending"},null,8,["visible"]),e(v)?(h(),x("div",hl,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(v)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(f)})},[o(e(et),{columns:e(b),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(l)!=="pending"?(h(),x("div",bl,[o(S,{title:"No Triggers",desc:"This table has no triggers."})])):U("",!0)])}}}),wl={class:"relative"},Cl={key:0,class:"p-2"},Sl={key:2,class:"flex items-center justify-center py-6"},xl=Y({__name:"ViewDependencies",props:{schema:{},viewName:{},connectionId:{}},setup(c){const t=c,r=["depends_on"],n=P(null),s=C(()=>`${t.schema}.${t.viewName}`),v=$e(),d=C(()=>t.connectionId?v.connections.find(w=>w.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/views/dependencies",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,viewName:t.viewName})),key:`view-deps-${s.value}`,onResponseError({response:w}){var a;n.value=((a=w._data)==null?void 0:a.message)||"Failed to load dependencies"}},"$jEYg_hmjWR"),l=C(()=>(i.value||[]).map(w=>({depends_on:w.dependsOn}))),_=C(()=>l.value.length>0?tt(l.value):nt(r)),b=C(()=>`${ot(l.value.length)}px`),f=()=>{n.value=null,je(`view-deps-${s.value}`)};return(w,a)=>{const g=Oe,u=Pe;return h(),x("div",wl,[o(g,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(h(),x("div",Cl,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(n)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:f},{default:m(()=>a[0]||(a[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(l).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(b)})},[o(e(et),{columns:e(_),data:e(l),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(p)!=="pending"?(h(),x("div",Sl,[o(u,{title:"No Dependencies",desc:"This view has no upstream dependencies."})])):U("",!0)])}}}),Nl={class:"relative"},Tl={key:0,class:"p-2"},Rl={key:2,class:"flex items-center justify-center py-6"},$l=Y({__name:"ViewIndexesTab",props:{schema:{},viewName:{},connectionId:{}},setup(c){const t=c,r=["index_name","method","is_unique","definition"],n=P(null),s=C(()=>`${t.schema}.${t.viewName}`),v=$e(),d=C(()=>t.connectionId?v.connections.find(w=>w.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/views/indexes",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,viewName:t.viewName})),key:`view-indexes-${s.value}`,onResponseError({response:w}){var a;n.value=((a=w._data)==null?void 0:a.message)||"Failed to load indexes"}},"$44YnrMDjVX"),l=C(()=>(i.value||[]).map(w=>({index_name:w.indexName,method:w.method,is_unique:w.isUnique,definition:w.definition}))),_=C(()=>l.value.length>0?tt(l.value):nt(r)),b=C(()=>`${ot(l.value.length)}px`),f=()=>{n.value=null,je(`view-indexes-${s.value}`)};return(w,a)=>{const g=Oe,u=Pe;return h(),x("div",Nl,[o(g,{visible:e(p)==="pending"},null,8,["visible"]),e(n)?(h(),x("div",Tl,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(n)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:f},{default:m(()=>a[0]||(a[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(l).length?(h(),x("div",{key:1,style:Ae({maxHeight:`${e(We)}px`,height:e(b)})},[o(e(et),{columns:e(_),data:e(l),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(p)!=="pending"?(h(),x("div",Rl,[o(u,{title:"No Indexes",desc:"This materialized view has no indexes."})])):U("",!0)])}}}),Il={class:"rounded-md border p-2.5 relative"},kl={key:0,class:"p-2"},Ol={key:1,class:"space-y-1.5"},El={class:"flex items-center gap-1 flex-wrap"},Al={key:0,class:"flex flex-wrap gap-1"},Fl={class:"text-xxs text-muted-foreground"},Dl=Y({__name:"ViewMetaInfo",props:{schema:{},viewName:{},connectionId:{}},setup(c){const t=c,r=Qe(),n=C(()=>`${t.schema}.${t.viewName}`),s=P(null),v=$e(),d=C(()=>t.connectionId?v.connections.find(a=>a.id===t.connectionId):v.selectedConnection),{data:i,status:p}=xe("/api/views/meta",{method:"POST",body:C(()=>({...we(d.value),schema:t.schema,viewName:t.viewName})),key:`view-meta-${n.value}`,getCachedData:()=>r.viewMetaMap[n.value]??void 0,onResponse({response:a}){a._data&&(r.viewMetaMap[n.value]=a._data)},onResponseError({response:a}){var g;s.value=((g=a._data)==null?void 0:g.message)||"Failed to load view metadata"}},"$pLysS3IkaY"),l=C(()=>{var a;return((a=i.value)==null?void 0:a.type)==="materialized"}),_=C(()=>l.value?"Materialized View":"Normal View"),b=C(()=>{var a,g,u,S;return l.value?{variant:(u=i.value)!=null&&u.isPopulated?"default":"destructive",label:`Populated: ${(S=i.value)!=null&&S.isPopulated?"Yes":"No"}`}:{variant:(a=i.value)!=null&&a.isUpdatable?"default":"outline",label:`Updatable: ${(g=i.value)!=null&&g.isUpdatable?"Yes":"No"}`}}),f=C(()=>{var a,g,u,S,N;return l.value?[{label:"Rows",value:((g=(a=i.value)==null?void 0:a.rowEstimate)==null?void 0:g.toLocaleString())??"—",mono:!0},{label:"Total",value:((u=i.value)==null?void 0:u.totalSize)??"—"},{label:"Table",value:((S=i.value)==null?void 0:S.tableSize)??"—"},{label:"Index",value:((N=i.value)==null?void 0:N.indexSize)??"—"}]:[]}),w=()=>{s.value=null,je(`view-meta-${n.value}`)};return(a,g)=>{const u=Oe;return h(),x("div",Il,[o(u,{visible:e(p)==="pending"},null,8,["visible"]),e(s)?(h(),x("div",kl,[o(e(ze),{variant:"destructive"},{default:m(()=>[o(e(He),{class:"flex items-center justify-between gap-2"},{default:m(()=>[y("span",null,B(e(s)),1),o(e(Ce),{variant:"outline",size:"xs",onClick:w},{default:m(()=>g[0]||(g[0]=[A("Retry")])),_:1})]),_:1})]),_:1})])):e(i)?(h(),x("div",Ol,[y("div",El,[o(e($t),{variant:"secondary",class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(_)),1)]),_:1}),o(e($t),{variant:e(b).variant,class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(b).label),1)]),_:1},8,["variant"])]),e(f).length?(h(),x("div",Al,[(h(!0),x(fe,null,ke(e(f),S=>(h(),x("div",{key:S.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[y("span",Fl,B(S.label),1),y("span",{class:De(["text-[11px] leading-none text-foreground",S.mono?"font-mono":"font-medium"])},B(S.value),3)]))),128))])):U("",!0)])):U("",!0)])}}}),Pl=Y({__name:"VirtualTableDefinition",props:{schema:{},connectionId:{},viewName:{},viewId:{}},setup(c){const t=c,r=$e(),n=C(()=>t.connectionId?r.connections.find(i=>i.id===t.connectionId):r.selectedConnection),{data:s,status:v}=xe("/api/views/definition",{method:"POST",body:C(()=>({...we(n.value),viewId:t.viewId,schemaName:t.schema,viewName:t.viewName})),key:`${t.schema}.${t.viewId}`},"$ssZRsSgd3z"),d=C(()=>{var i;return(i=s.value)!=null&&i.definition?Sa(s.value.definition):""});return(i,p)=>{const l=Oe,_=Dt,b=Pe;return h(),x("div",{key:`${t.viewId}-${t.viewName}-${t.schema}`,class:"relative"},[o(l,{visible:e(v)==="pending"},null,8,["visible"]),e(d)?(h(),D(_,{key:0,code:e(d),"show-copy-button":"","max-height":"24rem"},null,8,["code"])):e(v)!=="pending"?(h(),D(b,{key:1,title:"No Definition",desc:"No SQL definition is available for this view."})):U("",!0)])}}}),Ml={class:"h-full overflow-y-auto p-1.5"},Ll={class:"space-y-3 pb-2"},Bl={key:0,class:"space-y-1"},Ul={key:1,class:"space-y-1"},Vl={class:"space-y-1"},Kl={class:"space-y-1"},ql={class:"rounded-md border"},Ql={class:"space-y-1"},jl={class:"flex items-center gap-2"},zl={class:"rounded-md border"},Hl={class:"space-y-1"},Wl={class:"rounded-md border"},Gl={class:"space-y-1"},Yl={class:"rounded-md border"},Jl={key:0,class:"space-y-1"},Xl={key:1,class:"space-y-1"},Zl={class:"rounded-md border"},er={class:"space-y-1"},tr={class:"rounded-md border"},ao=Y({__name:"StructureTable",props:{schema:{},tableName:{},connectionId:{},isVirtualTable:{type:Boolean},virtualTableId:{}},setup(c){const t=c,r=["column_name","data_type","is_nullable","default_value","foreign_keys","on_update","on_delete","column_comment"],n=$e(),s=C(()=>t.connectionId?n.connections.find(a=>a.id===t.connectionId):n.selectedConnection),{data:v,status:d}=xe("/api/tables/structure",{method:"POST",body:C(()=>({...we(s.value),schema:t.schema,tableName:t.tableName})),key:`${t.schema}.${t.tableName}`},"$ALIsatagCk"),i=C(()=>{const a=v.value||[];return a.length>0?tt(a):nt(r)}),p=Qe(),l=C(()=>`${t.schema}.${t.tableName}`),{data:_}=xe("/api/tables/rls",{method:"POST",body:C(()=>({...we(s.value),schema:t.schema,table:t.tableName})),key:`rls-${l.value}`,immediate:!t.isVirtualTable},"$SfWGG2Nw15"),{data:b}=xe("/api/views/meta",{method:"POST",body:C(()=>({...we(s.value),schema:t.schema,viewName:t.tableName})),key:`view-meta-struct-${l.value}`,immediate:!!t.isVirtualTable,getCachedData:()=>{if(t.isVirtualTable)return p.viewMetaMap[l.value]},onResponse({response:a}){a._data&&t.isVirtualTable&&(p.viewMetaMap[l.value]=a._data)}},"$Et5thcVWGM"),f=C(()=>{var a;return((a=b.value)==null?void 0:a.type)==="materialized"}),w=C(()=>{const a=(v.value||[]).length;return`${ot(a)}px`});return(a,g)=>{const u=Oe;return h(),x("div",Ml,[y("div",Ll,[a.isVirtualTable?(h(),x("section",Ul,[g[1]||(g[1]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Meta Info"),y("p",{class:"text-xs text-muted-foreground"}," View type and storage metadata ")],-1)),o(Dl,{connectionId:a.connectionId,schema:a.schema,viewName:a.tableName},null,8,["connectionId","schema","viewName"])])):(h(),x("section",Bl,[g[0]||(g[0]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Meta Info"),y("p",{class:"text-xs text-muted-foreground"}," Table type and storage metadata ")],-1)),o(yl,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])),y("section",Vl,[g[2]||(g[2]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Columns"),y("p",{class:"text-xs text-muted-foreground"}," Table column structure and constraints ")],-1)),y("div",{class:"relative",style:Ae({maxHeight:`${e(We)}px`,height:e(w)})},[o(u,{visible:e(d)==="pending"},null,8,["visible"]),o(e(et),{columns:e(i),data:e(v)||[],class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),a.isVirtualTable?(h(),x(fe,{key:3},[a.virtualTableId?(h(),x("section",Jl,[g[8]||(g[8]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Definition"),y("p",{class:"text-xs text-muted-foreground"},"View SQL definition")],-1)),o(Pl,{connectionId:a.connectionId,schema:a.schema,viewName:a.tableName,viewId:a.virtualTableId},null,8,["connectionId","schema","viewName","viewId"])])):U("",!0),e(f)?(h(),x("section",Xl,[g[9]||(g[9]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Indexes"),y("p",{class:"text-xs text-muted-foreground"}," Indexes on materialized view ")],-1)),y("div",Zl,[o($l,{schema:a.schema,viewName:a.tableName,connectionId:a.connectionId},null,8,["schema","viewName","connectionId"])])])):U("",!0),y("section",er,[g[10]||(g[10]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Dependencies"),y("p",{class:"text-xs text-muted-foreground"}," Objects referenced by this view ")],-1)),y("div",tr,[o(xl,{schema:a.schema,viewName:a.tableName,connectionId:a.connectionId},null,8,["schema","viewName","connectionId"])])])],64)):(h(),x(fe,{key:2},[y("section",Kl,[g[3]||(g[3]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Indexes"),y("p",{class:"text-xs text-muted-foreground"}," Available indexes and definitions ")],-1)),y("div",ql,[o(Zs,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])]),y("section",Ql,[y("div",null,[y("div",jl,[g[4]||(g[4]=y("h3",{class:"text-sm font-medium"},"RLS",-1)),e(_)?(h(),D(e($t),{key:0,variant:e(_).enabled?"default":"secondary",class:"h-5 px-1.5 text-xxs"},{default:m(()=>[A(B(e(_).enabled?"Enabled":"Disabled"),1)]),_:1},8,["variant"])):U("",!0)]),g[5]||(g[5]=y("p",{class:"text-xs text-muted-foreground"}," Row-level security status and policies ",-1))]),y("div",zl,[o(ol,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])]),y("section",Hl,[g[6]||(g[6]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Rules"),y("p",{class:"text-xs text-muted-foreground"}," Rewrite rules configured on this table ")],-1)),y("div",Wl,[o(rl,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])]),y("section",Gl,[g[7]||(g[7]=y("div",null,[y("h3",{class:"text-sm font-medium"},"Triggers"),y("p",{class:"text-xs text-muted-foreground"}," Trigger status and trigger definitions ")],-1)),y("div",Yl,[o(_l,{schema:a.schema,tableName:a.tableName,connectionId:a.connectionId},null,8,["schema","tableName","connectionId"])])])],64))])])}}}),nr={class:"px-2"},or={class:"px-2"},ar={class:"flex-1 overflow-hidden px-2 mb-0.5"},sr={key:1,class:"h-full"},so=Y({__name:"ReferencedTable",props:{tableName:{},schemaName:{},initFilters:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(c,{emit:t}){const r=c,n=P(),s=t,{quickQueryFilterRef:v,quickQueryTableRef:d,selectedRows:i,focusedCell:p}=Wn(),l=yt(),_=$e(),{onRequestSafeModeConfirm:b,onSafeModeCancel:f,onSafeModeConfirm:w,safeModeDialogOpen:a,safeModeDialogSql:g,safeModeDialogType:u}=Zn(),S=C(()=>_.connections.find(X=>X.id===r.connectionId)),N=C(()=>{var X;return((X=S.value)==null?void 0:X.type)||ye.POSTGRES}),{columnNames:Z,foreignKeys:ie,primaryKeyColumns:J,tableMetaData:ue,columnTypes:me,foreignKeyColumns:pe}=Jn({tableName:r.tableName,schemaName:r.schemaName,connectionId:r.connectionId,tabViewType:Nt.TableDetail}),{onApplyNewFilter:oe,data:de,baseQueryString:Ne,refreshTableData:T,refreshCount:E,isAllowNextPage:H,isAllowPreviousPage:I,onNextPage:V,onPreviousPage:K,onUpdatePagination:R,totalRows:$,pagination:F,errorMessage:M,openErrorModal:O,orderBy:Q,onUpdateOrderBy:ae,addHistoryLog:ne,filters:ee,isShowFilters:ce,composeWith:ge,onChangeComposeWith:k,isFetchingTableData:L}=Hn({connection:S,primaryKeys:J,columns:Z,connectionId:C(()=>r.connectionId),workspaceId:C(()=>r.workspaceId),tableName:r.tableName,schemaName:r.schemaName,isPersist:!1,initFilters:(r==null?void 0:r.initFilters)||[],initComposeWith:ft.OR});Fe(ue,X=>{X&&(ee.value=(r==null?void 0:r.initFilters)||[],E(),T())},{deep:!0,immediate:!0});const{isMutating:q,onAddEmptyRow:te,onDiscardChanges:Ie,onDeleteRows:Se,onSaveData:Ge,hasEditedRows:Me,pendingChangesCount:rt,onCopyRows:gt,onPasteRows:ht,onRefresh:bt,onSelectedRowsChange:_t,onCopySelectedCell:it,onFocusedCellChange:Ot,onDeselectAll:wt}=Yn({tableName:r.tableName,schemaName:r.schemaName,primaryKeys:J,refreshTableData:T,columnNames:Z,data:de,addHistoryLog:ne,errorMessage:M,openErrorModal:O,selectedRows:i,pagination:F,quickQueryTableRef:d,refreshCount:E,focusedCell:p,connection:S,safeModeEnabled:Tt(l,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:b}),{quickQueryTabView:Le,openedQuickQueryTab:Ct}=Xn(),{onAddFilterByContextCell:St}=Gn({quickQueryFilterRef:v,quickQueryTableRef:d,filters:ee,onApplyNewFilter:oe}),{isHaveRelationByFieldName:Et}=Yt({schemaName:r.schemaName,tableName:r.tableName});return vt([{key:"meta+a",callback:()=>{var X,se;(se=(X=d.value)==null?void 0:X.gridApi)==null||se.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{it()},excludeInput:!0},{key:"meta+v",callback:()=>ht(),excludeInput:!0},{key:"meta+s",callback:()=>Ge(),isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{Se()},isPreventDefault:!0}],{target:n}),(X,se)=>{var Ye,ct;return h(),x(fe,null,[o(Bn,{open:e(O),"onUpdate:open":se[0]||(se[0]=ve=>Ee(O)?O.value=ve:null),message:e(M)||""},null,8,["open","message"]),o(Un,{open:e(a),"onUpdate:open":se[1]||(se[1]=ve=>Ee(a)?a.value=ve:null),sql:e(g),type:e(u),onConfirm:e(w),onCancel:e(f)},null,8,["open","sql","type","onConfirm","onCancel"]),y("div",{ref_key:"containerRef",ref:n,class:"flex flex-col h-full w-full relative",tabindex:"0"},[o(e(Oe),{visible:e(q)||e(L)},null,8,["visible"]),y("div",nr,[o(eo,{"total-selected-rows":(Ye=e(i))==null?void 0:Ye.length,isAllowNextPage:e(H),isAllowPreviousPage:e(I),totalRows:e($),limit:e(F).limit,currentTotalRows:((ct=e(de))==null?void 0:ct.length)||0,offset:e(F).offset,"has-edited-rows":e(Me),"pending-changes-count":e(rt),onOnPaginate:e(R),onOnNextPage:e(V),onOnPreviousPage:e(K),onOnRefresh:e(bt),onOnDiscardChanges:e(Ie),onOnSaveData:e(Ge),onOnDeleteRows:e(Se),onOnAddEmptyRow:e(te),onOnShowFilter:se[2]||(se[2]=async()=>{var ve;await((ve=e(v))==null?void 0:ve.onShowSearch())}),tabView:e(Le),"onUpdate:tabView":se[3]||(se[3]=ve=>Ee(Le)?Le.value=ve: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"])]),y("div",or,[e(Le)===e(re).Data?(h(),D(to,{key:0,ref_key:"quickQueryFilterRef",ref:v,onOnSearch:se[4]||(se[4]=()=>{e(oe)()}),onOnUpdateFilters:se[5]||(se[5]=ve=>{ee.value=ve}),isShowFilters:e(ce),"onUpdate:isShowFilters":se[6]||(se[6]=ve=>Ee(ce)?ce.value=ve:null),initFilters:e(ee),baseQuery:e(Ne),columns:e(Z),dbType:e(N),composeWith:e(ge),onOnChangeComposeWith:e(k)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):U("",!0)]),y("div",ar,[e(Ct)[e(re).Erd]?qe((h(),D(Ln,{key:0,tableId:e(On)({tableName:X.tableName,schemaName:X.schemaName})},null,8,["tableId"])),[[Ze,e(Le)===e(re).Erd]]):U("",!0),e(Ct)[e(re).Structure]?qe((h(),x("div",sr,[o(ao,{schema:X.schemaName,tableName:X.tableName,connectionId:X.connectionId},null,8,["schema","tableName","connectionId"])],512)),[[Ze,e(Le)===e(re).Structure]]):U("",!0),qe(o(no,{"total-selected-rows":e(i).length,"has-edited-rows":e(Me),selectedRows:e(i),"table-name":X.tableName,"schema-name":X.schemaName,isReferencedTable:"",onOnPaginate:e(R),onOnNextPage:e(V),onOnPreviousPage:e(K),onOnRefresh:e(bt),onOnSaveData:e(Ge),onOnDeleteRows:e(Se),onOnAddEmptyRow:e(te),onOnFilterByValue:e(St),onOnCopyRows:e(gt),onOnPasteRows:e(ht),onOnCopySelectedCell:e(it)},{default:m(()=>[o(oo,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:d,"selected-rows":e(i),data:e(de)||[],orderBy:e(Q),onOnSelectedRows:e(_t),"onUpdate:orderBy":e(ae),onOnOpenBackReferencedTableModal:se[7]||(se[7]=ve=>s("onOpenBackReferencedTableModal",ve)),onOnOpenForwardReferencedTableModal:se[8]||(se[8]=ve=>s("onOpenForwardReferencedTableModal",ve)),isHaveRelationByFieldName:e(Et),foreignKeyColumns:e(pe),foreignKeys:e(ie),primaryKeyColumns:e(J),columnTypes:e(me),defaultPageSize:e(kt),offset:e(F).offset,onOnFocusCell:e(Ot),"current-schema-name":X.schemaName,"current-table-name":X.tableName,onOnClickOutSide:e(wt)},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"]),[[Ze,e(Le)===e(re).Data]])])],512)],64)}}}),lr={class:"flex justify-between items-center gap-2 w-full"},rr={class:"relative w-full"},ir={class:"flex flex-1"},cr=Y({__name:"BackReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},selectedTab:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal","update:selectedTab"],setup(c,{emit:t}){const r=c,n=t,{reverseTables:s}=Yt({schemaName:r.schemaName,tableName:r.tableName}),v=P(""),d=C(()=>{var g;const f=new Map,w=fn((g=s.value)==null?void 0:g.used_by)||[];for(const u of w)u.referenced_column===r.columnName&&f.set(u.referencing_table,{table:u.referencing_table,schema:u.referencing_schema});let a=[...f.values()].sort((u,S)=>u.table.localeCompare(S.table));if(v.value){const u=v.value.toLowerCase();a=a.filter(S=>S.table.toLowerCase().includes(u))}return a});Tn(()=>{!r.selectedTab&&d.value.length>0&&n("update:selectedTab",d.value[0].table,d.value[0].schema)});const i=f=>{var g;if(!f)return[];const w=[],a=fn((g=s.value)==null?void 0:g.used_by)||[];for(const u of a)if(u.referencing_table===f){const S={fieldName:u.fk_column,operator:W.EQUAL,search:r.recordId,isSelect:!0};w.push(S)}return w},p=f=>{const{schemaName:w,tableName:a}=b(f);n("update:selectedTab",a,w)},l=f=>{const w=f.target;w instanceof HTMLElement&&w.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},_=f=>`${f.schema}.${f.table}`,b=f=>{const[w,a]=f.split(".");return{schemaName:w,tableName:a}};return(f,w)=>{const a=Ut,g=Bt,u=le,S=Lt;return h(),D(S,{"model-value":_({table:f.selectedTab||"",schema:f.schemaName}),"onUpdate:modelValue":w[4]||(w[4]=N=>p(N)),class:"flex-1 flex-wrap h-full w-full"},{default:m(()=>[y("div",lr,[o(g,{class:"overflow-x-auto w-full justify-start!"},{default:m(()=>[(h(!0),x(fe,null,ke(e(d),N=>(h(),D(a,{class:"cursor-pointer font-normal! flex-none!",onClick:l,value:_(N),key:_(N)},{default:m(()=>[A(B(f.rootSchemaName===N.schema?null:`${N.schema}.`)+B(N.table),1)]),_:2},1032,["value"]))),128))]),_:1}),y("div",null,[y("div",rr,[o(e(lt),{type:"text",placeholder:"Search tables",class:"pr-6 w-48 h-8",modelValue:e(v),"onUpdate:modelValue":w[0]||(w[0]=N=>Ee(v)?v.value=N:null)},null,8,["modelValue"]),e(v)?(h(),x("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:w[1]||(w[1]=N=>v.value="")},[o(u,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):U("",!0)])])]),y("div",ir,[(h(),D(En,null,[(h(),D(so,{key:f.selectedTab,tableName:f.selectedTab||"","schema-name":f.schemaName,"init-filters":i(f.selectedTab),connectionId:r.connectionId,workspaceId:r.workspaceId,onOnOpenBackReferencedTableModal:w[2]||(w[2]=N=>n("onOpenBackReferencedTableModal",N)),onOnOpenForwardReferencedTableModal:w[3]||(w[3]=N=>n("onOpenForwardReferencedTableModal",N))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))],1024))])]),_:1},8,["model-value"])}}}),ur={class:"flex flex-1"},dr=Y({__name:"ForwardReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(c,{emit:t}){const r=c,n=t,s=()=>[{fieldName:r.columnName,operator:W.EQUAL,search:r.recordId,isSelect:!0}];return(v,d)=>(h(),x("div",ur,[(h(),D(so,{key:e(pt)(),tableName:v.tableName,"schema-name":v.schemaName,"init-filters":s(),connectionId:r.connectionId,workspaceId:r.workspaceId,onOnOpenBackReferencedTableModal:d[0]||(d[0]=i=>n("onOpenBackReferencedTableModal",i)),onOnOpenForwardReferencedTableModal:d[1]||(d[1]=i=>n("onOpenForwardReferencedTableModal",i))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))]))}}),mr={class:"flex items-center"},pr=Y({__name:"PreviewRelationTable",props:{open:{type:Boolean},breadcrumbs:{},currentTableName:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onBackPreviousBreadcrumbByIndex","onBackPreviousBreadcrumb","clearBreadcrumb","onUpdateSelectedTabInBreadcrumb","onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(c,{emit:t}){const r=t,n=c,s=C(()=>n.breadcrumbs.length?n.breadcrumbs[n.breadcrumbs.length-1]:null),v=(i,p)=>{r("onUpdateSelectedTabInBreadcrumb",n.breadcrumbs.length-1,i,p)},d=i=>i.type==="backReferenced"?n.rootSchemaName===i.schemaName?i.selectedTab:`${i.schemaName}.${i.selectedTab}`:`${i.schemaName}.${i.tableName}`;return(i,p)=>{const l=le,_=Ce,b=qo,f=Ko,w=Vo,a=Uo,g=Bo;return h(),D(e(Lo),{open:i.open,"onUpdate:open":p[4]||(p[4]=u=>i.$emit("clearBreadcrumb"))},{default:m(()=>[o(e(Ho),{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:m(()=>{var u;return[o(g,null,{default:m(()=>[o(a,null,{default:m(()=>[y("div",mr,[o(_,{onClick:p[0]||(p[0]=S=>i.$emit("onBackPreviousBreadcrumb")),size:"iconMd",variant:"secondary"},{default:m(()=>[o(l,{name:"hugeicons:arrow-left-02",class:"size-4!"})]),_:1}),o(w,null,{default:m(()=>[o(f,{class:"gap-0.5!"},{default:m(()=>[o(e(vn),{class:"hover:cursor-pointer"},{default:m(()=>[o(e(gn),{onClick:p[1]||(p[1]=S=>r("clearBreadcrumb"))},{default:m(()=>[A(B(i.currentTableName),1)]),_:1})]),_:1}),o(b),(h(!0),x(fe,null,ke(i.breadcrumbs,(S,N)=>(h(),x(fe,null,[o(e(vn),{class:De([N!==i.breadcrumbs.length-1&&"hover:cursor-pointer"])},{default:m(()=>[N===i.breadcrumbs.length-1?(h(),D(e(Qo),{key:0},{default:m(()=>[A(B(d(S)),1)]),_:2},1024)):(h(),D(e(gn),{key:1,onClick:Z=>r("onBackPreviousBreadcrumbByIndex",N)},{default:m(()=>[A(B(d(S)),1)]),_:2},1032,["onClick"]))]),_:2},1032,["class"]),N<i.breadcrumbs.length-1?(h(),D(b,{key:0})):U("",!0)],64))),256))]),_:1})]),_:1})])]),_:1})]),_:1}),(h(),D(En,null,[e(s)?(h(),D(jo(((u=e(s))==null?void 0:u.type)==="backReferenced"?cr:dr),zo({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]=S=>r("onOpenBackReferencedTableModal",S)),onOnOpenForwardReferencedTableModal:p[3]||(p[3]=S=>r("onOpenForwardReferencedTableModal",S)),"onUpdate:selectedTab":v}),null,16)):U("",!0)],1024))]}),_:1})]),_:1},8,["open"])}}}),fr=["innerHTML"],vr=Y({__name:"QuickQueryHistoryLogItem",props:{log:{},highlighter:{}},setup(c){const t=c,r=P("");return Fe([()=>t.log,()=>t.highlighter],async()=>{const n=(t.log||"").trim();t.highlighter&&(r.value=t.highlighter.codeToHtml(n,{lang:"plsql",theme:"catppuccin-latte"}))},{immediate:!0}),(n,s)=>(h(),x("div",{class:"[&_code]:text-wrap w-full [&>.catppuccin-latte]:bg-background!",innerHTML:r.value},null,8,fr))}}),yr={class:"flex flex-1 flex-col h-full"},gr={class:"flex flex-1 h-full items-center justify-between"},hr={class:"flex items-center gap-1"},br={key:0,class:"flex items-center justify-center h-full w-full"},_r=["data-index"],wr={class:"pb-2 leading-relaxed text-xs"},Cr={class:"text-xxs"},Sr={class:"text-xxs"},xr=Y({__name:"QuickQueryHistoryLogsPanel",props:{tableName:{},schemaName:{}},setup(c){const t=c,r=P("all"),n=Kn(),{qqLogs:s}=Mt(n),v=C(()=>r.value==="all"?s.value:n.getLogsByTableId(t)),d=Ht("wrapperRef"),{height:i}=Wo(d),p=P(null),l=Go({get count(){return v.value.length},getScrollElement:()=>p.value,estimateSize:()=>39}),_=C(()=>l.value.getVirtualItems()),b=C(()=>l.value.getTotalSize()),f=g=>{g&&l.value.measureElement(g)},w=g=>new Date(g).toLocaleString(),a=P();return Yo(async()=>{const g=xa({themes:[Ra],langs:[Ta],engine:Na()});a.value=await g}),Jo(async()=>{l.value&&(await Be(),l.value.scrollToIndex(v.value.length-1))}),Fe(()=>v.value,async()=>{l.value&&(await Be(),l.value.scrollToIndex(v.value.length-1))},{deep:!0}),(g,u)=>{const S=Ut,N=Bt,Z=Lt,ie=le,J=Ce,ue=Pe,me=An,pe=Fn;return h(),x("div",yr,[y("div",gr,[o(Z,{modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=oe=>r.value=oe),class:"pt-1"},{default:m(()=>[o(N,{class:"h-7!"},{default:m(()=>[o(S,{value:"all",class:"h-5! font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>u[2]||(u[2]=[A(" All logs ")])),_:1},8,["value"]),o(S,{value:"one-table",class:"h-5! font-medium text-xs cursor-pointer text-primary/80"},{default:m(()=>u[3]||(u[3]=[A(" Only this table ")])),_:1},8,["value"])]),_:1})]),_:1},8,["modelValue"]),u[8]||(u[8]=y("div",null,[y("p",{class:"font-medium text-xs"},"Logs history")],-1)),y("div",hr,[r.value==="all"?(h(),D(e(he),{key:0},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(J,{variant:"outline",size:"xxs",onClick:e(n).deleteAllLogs},{default:m(()=>[o(ie,{name:"lucide:trash"}),u[4]||(u[4]=y("p",{class:"font-normal"},"Delete all logs",-1))]),_:1},8,["onClick"])]),_:1}),o(e(_e),null,{default:m(()=>u[5]||(u[5]=[y("p",null,"Delete all logs",-1)])),_:1})]),_:1})):(h(),D(e(he),{key:1},{default:m(()=>[o(e(be),{"as-child":""},{default:m(()=>[o(J,{variant:"outline",size:"xxs",onClick:u[1]||(u[1]=oe=>e(n).deleteLogsOfTable(t))},{default:m(()=>[o(ie,{name:"lucide:trash"}),u[6]||(u[6]=y("p",{class:"font-normal"},"Delete logs",-1))]),_:1})]),_:1}),o(e(_e),null,{default:m(()=>u[7]||(u[7]=[y("p",null,"Delete logs for this table",-1)])),_:1})]),_:1}))])]),v.value.length?(h(),D(pe,{key:1,class:"py-0 mt-1 h-full rounded-none shadow-none border-none overflow-auto",ref_key:"wrapperRef",ref:d},{default:m(()=>[o(me,{class:"p-0"},{default:m(()=>{var oe;return[y("div",{ref_key:"parentRef",ref:p,style:Ae({height:`${e(i)}px`}),class:"w-full overflow-y-auto contain-strict h-full"},[y("div",{style:Ae({height:`${b.value}px`,width:"100%",position:"relative"})},[y("div",{style:Ae({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${((oe=_.value[0])==null?void 0:oe.start)??0}px)`})},[(h(!0),x(fe,null,ke(_.value,de=>(h(),x("div",{key:de.key.toString(),"data-index":de.index,ref_for:!0,ref:f},[y("div",wr,[y("span",Cr,"["+B(w(v.value[de.index].createdAt))+"] ",1),y("span",Sr," : "+B(e($a)(v.value[de.index].queryTime||0)),1),o(vr,{highlighter:a.value,log:v.value[de.index].logs},null,8,["highlighter","log"])])],8,_r))),128))],4)],4)],4)]}),_:1})]),_:1},512)):(h(),x("div",br,[o(ue,{title:"No logs found",desc:"There are no execution logs to display for this table."})]))])}}}),Nr=({quickQueryTableRef:c})=>{const t=P(void 0),r=()=>{var v,d,i,p,l,_,b;t.value=void 0,(i=(d=(v=c.value)==null?void 0:v.gridApi)==null?void 0:d.ensureIndexVisible)==null||i.call(d,0,"top"),(l=(p=c.value)==null?void 0:p.gridApi)==null||l.refreshHeader(),(b=(_=c.value)==null?void 0:_.gridApi)==null||b.refreshCells({force:!0})},n=v=>{var d,i,p,l,_,b;v&&((i=(d=c.value)==null?void 0:d.gridApi)==null||i.ensureColumnVisible(v,"middle"),(l=(p=c.value)==null?void 0:p.gridApi)==null||l.refreshCells({force:!0}),(b=(_=c.value)==null?void 0:_.gridApi)==null||b.refreshHeader())};return{resetGridState:r,selectedColumnFieldId:t,handleSelectColumn:v=>{t.value=v,n(v)}}},Tr={class:"px-1"},Rr={class:"px-2"},$r={class:"flex-1 overflow-hidden px-1 mb-0.5"},Ir={key:1,class:"h-full"},ei=Y({__name:"QuickQuery",props:{connectionId:{},workspaceId:{},tableName:{},schemaName:{},tabViewType:{},virtualTableId:{}},setup(c){const t=c,r=yt(),n=$e(),s=C(()=>{const j=n.connections.find(G=>G.id===t.connectionId);return(j==null?void 0:j.connectionString)||""}),v=C(()=>{var j;return((j=n.selectedConnection)==null?void 0:j.type)||ye.POSTGRES}),d=C(()=>t.tableName),i=C(()=>t.schemaName),p=P([]),l=P(),{onRequestSafeModeConfirm:_,onSafeModeCancel:b,onSafeModeConfirm:f,safeModeDialogOpen:w,safeModeDialogSql:a,safeModeDialogType:g}=Zn(),{quickQueryFilterRef:u,quickQueryTableRef:S,selectedRows:N,focusedCell:Z}=Wn(),{columnNames:ie,foreignKeys:J,primaryKeyColumns:ue,tableMetaData:me,columnTypes:pe,foreignKeyColumns:oe,isVirtualTable:de}=Jn({tableName:d.value,schemaName:i.value,connectionId:t.connectionId,tabViewType:t.tabViewType}),{onApplyNewFilter:Ne,data:T,baseQueryString:E,refreshTableData:H,refreshCount:I,isAllowNextPage:V,isAllowPreviousPage:K,onNextPage:R,onPreviousPage:$,onUpdatePagination:F,totalRows:M,pagination:O,errorMessage:Q,openErrorModal:ae,orderBy:ne,onUpdateOrderBy:ee,addHistoryLog:ce,filters:ge,isShowFilters:k,onChangeComposeWith:L,composeWith:q,isFetchingTableData:te}=Hn({connection:Tt(n,"selectedConnection"),primaryKeys:ue,columns:ie,connectionId:C(()=>t.connectionId),workspaceId:C(()=>t.workspaceId),tableName:d.value,schemaName:i.value});Fe(me,j=>{j!=null&&j.columns&&j.columns.length>0&&(I(),H())},{deep:!0,immediate:!0});const{isMutating:Ie,onAddEmptyRow:Se,onDiscardChanges:Ge,onDeleteRows:Me,onSaveData:rt,hasEditedRows:gt,pendingChangesCount:ht,onCopyRows:bt,onPasteRows:_t,onRefresh:it,onSelectedRowsChange:Ot,onCopySelectedCell:wt,onFocusedCellChange:Le}=Yn({tableName:d.value,schemaName:i.value,primaryKeys:ue,refreshTableData:H,columnNames:ie,data:T,addHistoryLog:ce,errorMessage:Q,openErrorModal:ae,selectedRows:N,pagination:O,quickQueryTableRef:S,refreshCount:I,focusedCell:Z,safeModeEnabled:Tt(r,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:_,connection:Tt(n,"selectedConnection")}),{handleSelectColumn:Ct,selectedColumnFieldId:St,resetGridState:Et}=Nr({quickQueryTableRef:S}),{quickQueryTabView:X,openedQuickQueryTab:se}=Xn({onTabChanged:j=>{j!==re.Data&&r.onCloseBottomPanel()}}),Ye=P(!0);kn(()=>{Ye.value=!0}),Xo(()=>{Ye.value=!1});const ct=({id:j,tableName:G,columnName:Ue,schemaName:Ve})=>{p.value.push({id:pt(),type:"backReferenced",schemaName:Ve,tableName:G,columnName:Ue,recordId:j})},ve=({id:j,tableName:G,columnName:Ue,schemaName:Ve})=>{p.value.push({id:pt(),type:"forwardReferenced",schemaName:Ve,tableName:G,columnName:Ue,recordId:j})},{onAddFilterByContextCell:lo}=Gn({quickQueryFilterRef:u,quickQueryTableRef:S,filters:ge,onApplyNewFilter:Ne}),{isHaveRelationByFieldName:ro}=Yt({schemaName:i.value,tableName:d.value}),at=C(()=>p.value.length>0),At=C(()=>de.value);vt([{key:"meta+a",callback:()=>{var j,G;at.value||(G=(j=S.value)==null?void 0:j.gridApi)==null||G.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{at.value||wt()},excludeInput:!0},{key:"meta+v",callback:()=>{at.value||_t()},excludeInput:!0},{key:"meta+s",callback:()=>{at.value||At.value||rt()},isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{at.value||At.value||Me()},isPreventDefault:!0}],{target:l}),vt([{key:"meta+f",callback:async()=>{var j;at.value||await((j=u.value)==null?void 0:j.onShowSearch())}}]);const Jt=P();Fe(()=>{var j;return(j=S.value)==null?void 0:j.columnDefs},()=>{var j,G;(j=S.value)!=null&&j.columnDefs&&(Jt.value=(G=S.value)==null?void 0:G.columnDefs)},{immediate:!0,deep:!0});const io=(j,G,Ue)=>{p.value[j]&&(p.value[j].selectedTab=G,p.value[j].schemaName=Ue)},co=()=>{p.value=[]},uo=()=>{p.value.pop()},mo=j=>{const G=p.value.filter((Ue,Ve)=>Ve<=j);p.value=G};return(j,G)=>{var Ve,Xt,Zt,en,tn,nn;const Ue=Oe;return h(),x(fe,null,[e(p).length?(h(),D(pr,{key:0,open:e(p).length>0,breadcrumbs:e(p),currentTableName:e(d),connectionId:j.connectionId,workspaceId:j.workspaceId,rootSchemaName:e(i),onClearBreadcrumb:co,onOnOpenBackReferencedTableModal:ct,onOnOpenForwardReferencedTableModal:ve,onOnUpdateSelectedTabInBreadcrumb:io,onOnBackPreviousBreadcrumb:uo,onOnBackPreviousBreadcrumbByIndex:mo},null,8,["open","breadcrumbs","currentTableName","connectionId","workspaceId","rootSchemaName"])):U("",!0),o(Un,{open:e(w),"onUpdate:open":G[0]||(G[0]=Re=>Ee(w)?w.value=Re:null),sql:e(a),type:e(g),onConfirm:e(f),onCancel:e(b)},null,8,["open","sql","type","onConfirm","onCancel"]),e(Ye)?(h(),D(yn,{key:1,defer:"",to:"#preview-select-row"},[((Ve=e(N))==null?void 0:Ve.length)!==1||e(X)!==e(re).Data?(h(),D(ja,{key:0,"table-name":e(d),"schema-name":e(i),columns:e(Jt),columnTypes:e(pe),selectedColumnFieldId:e(St),handleSelectColumn:e(Ct),onResetSelectedCol:e(Et)},null,8,["table-name","schema-name","columns","columnTypes","selectedColumnFieldId","handleSelectColumn","onResetSelectedCol"])):(h(),D(cs,{key:1,columnTypes:e(pe),selectedRow:(Xt=e(N))!=null&&Xt.length?e(N)[0]:null},null,8,["columnTypes","selectedRow"]))])):U("",!0),e(Ye)?(h(),D(yn,{key:2,defer:"",to:"#bottom-panel"},[o(xr,{tableName:e(d),"schema-name":e(i)},null,8,["tableName","schema-name"])])):U("",!0),o(Bn,{open:e(ae),"onUpdate:open":G[1]||(G[1]=Re=>Ee(ae)?ae.value=Re:null),message:e(Q)||""},null,8,["open","message"]),y("div",{ref_key:"containerRef",ref:l,class:"flex flex-col h-full w-full relative",tabindex:"0"},[o(Ue,{visible:e(Ie)||e(te)},null,8,["visible"]),y("div",Tr,[o(eo,{"total-selected-rows":(Zt=e(N))==null?void 0:Zt.length,isAllowNextPage:e(V),isAllowPreviousPage:e(K),totalRows:e(M),limit:e(O).limit,currentTotalRows:((en=e(T))==null?void 0:en.length)||0,offset:e(O).offset,"has-edited-rows":e(gt),"pending-changes-count":e(ht),isViewVirtualTable:e(de),onOnPaginate:e(F),onOnNextPage:e(R),onOnPreviousPage:e($),onOnRefresh:e(it),onOnDiscardChanges:e(Ge),onOnSaveData:e(rt),onOnDeleteRows:e(Me),onOnAddEmptyRow:e(Se),onOnShowFilter:G[2]||(G[2]=()=>{var Re;(Re=e(u))==null||Re.onShowSearch()}),onOnToggleHistoryPanel:e(r).onToggleBottomPanel,tabView:e(X),"onUpdate:tabView":G[3]||(G[3]=Re=>Ee(X)?X.value=Re:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","pending-changes-count","isViewVirtualTable","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnDiscardChanges","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnToggleHistoryPanel","tabView"])]),y("div",Rr,[e(X)===e(re).Data?(h(),D(to,{key:0,ref_key:"quickQueryFilterRef",ref:u,onOnSearch:G[4]||(G[4]=()=>{e(Ne)()}),onOnUpdateFilters:G[5]||(G[5]=Re=>{ge.value=Re}),isShowFilters:e(k),"onUpdate:isShowFilters":G[6]||(G[6]=Re=>Ee(k)?k.value=Re:null),initFilters:e(ge),baseQuery:e(E),columns:e(ie),dbType:e(v),composeWith:e(q),onOnChangeComposeWith:e(L)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):U("",!0)]),y("div",$r,[e(se)[e(re).Erd]?qe((h(),D(Ln,{key:0,tableId:e(On)({tableName:e(d),schemaName:e(i)})},null,8,["tableId"])),[[Ze,e(X)===e(re).Erd]]):U("",!0),e(se)[e(re).Structure]?qe((h(),x("div",Ir,[o(ao,{isVirtualTable:e(de),schema:e(i),tableName:e(d),connectionString:e(s),virtualTableId:t.virtualTableId},null,8,["isVirtualTable","schema","tableName","connectionString","virtualTableId"])],512)),[[Ze,e(X)===e(re).Structure]]):U("",!0),qe(o(no,{data:e(T),"total-selected-rows":e(N).length,"has-edited-rows":e(gt),cellContextMenu:(tn=e(S))==null?void 0:tn.cellContextMenu,cellHeaderContextMenu:(nn=e(S))==null?void 0:nn.cellHeaderContextMenu,selectedRows:e(N),"table-name":e(d),"schema-name":e(i),onOnClearContextMenu:G[7]||(G[7]=Re=>{var on;return(on=e(S))==null?void 0:on.clearCellContextMenu()}),onOnPaginate:e(F),onOnNextPage:e(R),onOnPreviousPage:e($),onOnRefresh:e(it),onOnSaveData:e(rt),onOnDeleteRows:e(Me),onOnAddEmptyRow:e(Se),onOnFilterByValue:e(lo),onOnCopyRows:e(bt),onOnPasteRows:e(_t),onOnCopySelectedCell:e(wt)},{default:m(()=>[o(oo,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:S,"selected-rows":e(N),data:e(T)||[],orderBy:e(ne),onOnSelectedRows:e(Ot),"onUpdate:orderBy":e(ee),onOnOpenBackReferencedTableModal:ct,onOnOpenForwardReferencedTableModal:ve,isHaveRelationByFieldName:e(ro),foreignKeyColumns:e(oe),foreignKeys:e(J),primaryKeyColumns:e(ue),columnTypes:e(pe),defaultPageSize:e(kt),offset:e(O).offset,onOnFocusCell:e(Le),selectedColumnFieldId:e(St),"current-schema-name":e(i),"current-table-name":e(d),isViewOnly:e(At)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","selectedColumnFieldId","current-schema-name","current-table-name","isViewOnly"])]),_:1},8,["data","total-selected-rows","has-edited-rows","cellContextMenu","cellHeaderContextMenu","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnFilterByValue","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[Ze,e(X)===e(re).Data]])])],512)],64)}}});export{ei as default};