orcaq 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DzJD_fir.js → -p9JbKy8.js} +3 -3
- package/.output/public/_nuxt/019vQzZn.js +1 -0
- package/.output/public/_nuxt/0lRW_xjL.js +1 -0
- package/.output/public/_nuxt/{BV6TSzbC.js → 3UJtAGbG.js} +3 -2
- package/.output/public/_nuxt/ACOLmAuq.js +15 -0
- package/.output/public/_nuxt/B1X10hvy.js +261 -0
- package/.output/public/_nuxt/B27ECqWz.js +220 -0
- package/.output/public/_nuxt/B6EI6PpE.js +1 -0
- package/.output/public/_nuxt/B8JnYxjr.js +2 -0
- package/.output/public/_nuxt/B9Mt45db.js +1 -0
- package/.output/public/_nuxt/B9zSkyFO.js +1 -0
- package/.output/public/_nuxt/BCcTASq_.js +139 -0
- package/.output/public/_nuxt/BJxYuvXF.js +7 -0
- package/.output/public/_nuxt/{FyrDS92w.js → BM4vnZvX.js} +101 -101
- package/.output/public/_nuxt/BNYR501z.js +1 -0
- package/.output/public/_nuxt/BQOaPJzs.js +145 -0
- package/.output/public/_nuxt/BUDtG__q.js +1 -0
- package/.output/public/_nuxt/BVLVn__t.js +9 -0
- package/.output/public/_nuxt/{KlH93fIm.js → BY1l0S_M.js} +1 -1
- package/.output/public/_nuxt/{ClnidwGv.js → B_PBOfFN.js} +2 -2
- package/.output/public/_nuxt/{y68LmDX2.js → BcvJQkv0.js} +1 -1
- package/.output/public/_nuxt/{llxtZpFD.js → BdN9B2_l.js} +2 -2
- package/.output/public/_nuxt/BflvengI.js +1 -0
- package/.output/public/_nuxt/BgolbRTO.js +1 -0
- package/.output/public/_nuxt/BhUkpIlA.js +1 -0
- package/.output/public/_nuxt/BsoQBloB.js +24 -0
- package/.output/public/_nuxt/BwISH3M4.js +1 -0
- package/.output/public/_nuxt/C-M4q4KX.js +1 -0
- package/.output/public/_nuxt/C07rlnlv.js +1 -0
- package/.output/public/_nuxt/C27bL9Es.js +1 -0
- package/.output/public/_nuxt/C2Ziircr.js +1 -0
- package/.output/public/_nuxt/C3NWXcpd.js +39 -0
- package/.output/public/_nuxt/C5p44jKD.js +1 -0
- package/.output/public/_nuxt/C617vhDd.js +1 -0
- package/.output/public/_nuxt/C6Vqzp-9.js +7 -0
- package/.output/public/_nuxt/C7C8tPlA.js +65 -0
- package/.output/public/_nuxt/C8S0o4Gy.js +1 -0
- package/.output/public/_nuxt/CHOD7i6O.js +4 -0
- package/.output/public/_nuxt/CNlsVoWh.js +1 -0
- package/.output/public/_nuxt/CQb_mUBo.js +1 -0
- package/.output/public/_nuxt/{MLO1tLKS.js → CSTzT9hP.js} +1 -1
- package/.output/public/_nuxt/CVliJ52o.js +162 -0
- package/.output/public/_nuxt/CWGdTiOD.js +1 -0
- package/.output/public/_nuxt/{CzF1NEwP.js → CWkPMmwS.js} +2 -2
- package/.output/public/_nuxt/CffFK_qY.js +189 -0
- package/.output/public/_nuxt/Cgy4ijjN.js +67 -0
- package/.output/public/_nuxt/ChkFTcxr.js +43 -0
- package/.output/public/_nuxt/Cjgqfl1g.js +10 -0
- package/.output/public/_nuxt/ClBBUcFW.js +1 -0
- package/.output/public/_nuxt/{DFd73eNR.js → ClYziJpO.js} +1 -1
- package/.output/public/_nuxt/CmKTTxBW.js +1 -0
- package/.output/public/_nuxt/CuRyxljq.js +1 -0
- package/.output/public/_nuxt/CvTHaPAO.js +1 -0
- package/.output/public/_nuxt/{HQyqkOpZ.js → CwdIiq6J.js} +1 -1
- package/.output/public/_nuxt/Cx4Bnfq1.js +2 -0
- package/.output/public/_nuxt/CyJtwmzi.js +331 -0
- package/.output/public/_nuxt/{ubO-cWd-.js → D-H6_V16.js} +1 -1
- package/.output/public/_nuxt/D-SDqguC.js +1 -0
- package/.output/public/_nuxt/{6I72R6kW.js → D-XwprNU.js} +1 -1
- package/.output/public/_nuxt/D3G5Xy_-.js +1 -0
- package/.output/public/_nuxt/D4jn2f-6.js +255 -0
- package/.output/public/_nuxt/D9o5Pdvp.js +1 -0
- package/.output/public/_nuxt/DDYV6jDr.js +1 -0
- package/.output/public/_nuxt/DFArp87o.js +1 -0
- package/.output/public/_nuxt/{C_CjS9Yt.js → DFZIXzfU.js} +1 -1
- package/.output/public/_nuxt/DHRNt0p9.js +1 -0
- package/.output/public/_nuxt/DLHYqHwF.js +24 -0
- package/.output/public/_nuxt/{D8pqASdN.js → DLKku6fV.js} +1 -1
- package/.output/public/_nuxt/DNZpxuwM.js +1 -0
- package/.output/public/_nuxt/DRKnK1N_.js +132 -0
- package/.output/public/_nuxt/DVxTxYP4.js +34 -0
- package/.output/public/_nuxt/{DQiMjOqm.js → DWgjNKGq.js} +1 -1
- package/.output/public/_nuxt/DX6XiGOO.js +1 -0
- package/.output/public/_nuxt/DYm57BZk.js +2 -0
- package/.output/public/_nuxt/DaQw8gVp.js +1 -0
- package/.output/public/_nuxt/DcfsxCxL.js +36 -0
- package/.output/public/_nuxt/DgnsV5Qb.js +1 -0
- package/.output/public/_nuxt/DkY69STm.js +292 -0
- package/.output/public/_nuxt/DkggUtNN.js +30 -0
- package/.output/public/_nuxt/Dnx67EG9.js +68 -0
- package/.output/public/_nuxt/{DVe5MHjS.js → DnxDSFih.js} +1 -1
- package/.output/public/_nuxt/Do5Fyo7J.js +1 -0
- package/.output/public/_nuxt/{h2fvG4Xe.js → Dqirx7MF.js} +1 -1
- package/.output/public/_nuxt/{WrapperErdDiagram.DsE2QNGr.css → ErdDiagram.Cnqgwj9d.css} +1 -1
- package/.output/public/_nuxt/FIJP2AmN.js +73 -0
- package/.output/public/_nuxt/Gi6I4Gst.js +1 -0
- package/.output/public/_nuxt/{C26aAkUg.js → GoTwJjoS.js} +1 -1
- package/.output/public/_nuxt/Hs25HoUO.js +22 -0
- package/.output/public/_nuxt/IitECNfD.js +89 -0
- package/.output/public/_nuxt/J2CvNR3L.js +1 -0
- package/.output/public/_nuxt/LFK46Fls.js +61 -0
- package/.output/public/_nuxt/LK6Q8l0D.js +1 -0
- package/.output/public/_nuxt/Oh9SO2qg.js +1 -0
- package/.output/public/_nuxt/{CtRc_P0d.js → P_8UoGnr.js} +2 -2
- package/.output/public/_nuxt/UqWhjgOc.js +10 -0
- package/.output/public/_nuxt/V5yaR3hv.js +2 -0
- package/.output/public/_nuxt/XWTuAj6n.js +1 -0
- package/.output/public/_nuxt/XqwbcqcW.js +1 -0
- package/.output/public/_nuxt/ZdjmUBoX.js +70 -0
- package/.output/public/_nuxt/_8UrUcVF.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/27a307c3-bfc5-4ccd-94b8-387eb94981bb.json +1 -0
- package/.output/public/_nuxt/cKBf5-av.js +1 -0
- package/.output/public/_nuxt/c_huf6xz.js +162 -0
- package/.output/public/_nuxt/entry.DeK5kcSi.css +1 -0
- package/.output/public/_nuxt/gO22NLpn.js +1 -0
- package/.output/public/_nuxt/index.xxedlMJo.css +1 -0
- package/.output/public/_nuxt/kc-op4gz.js +12 -0
- package/.output/public/_nuxt/lSaGvORn.js +10 -0
- package/.output/public/_nuxt/lY3EyFEK.js +1 -0
- package/.output/public/_nuxt/qsFoMdT2.js +1 -0
- package/.output/public/_nuxt/sE-55p4e.js +1 -0
- package/.output/public/_nuxt/tMhdAKU2.js +3 -0
- package/.output/public/_nuxt/trZyeId5.js +70 -0
- package/.output/public/_nuxt/uyCIL8xw.js +1 -0
- package/.output/server/chunks/_/db-connection.mjs +17 -3
- package/.output/server/chunks/_/db-connection.mjs.map +1 -1
- package/.output/server/chunks/_/instance-insights.factory.mjs.map +1 -1
- package/.output/server/chunks/_/metadata.factory.mjs +4 -5
- package/.output/server/chunks/_/metadata.factory.mjs.map +1 -1
- package/.output/server/chunks/_/query.factory.mjs +31 -2
- package/.output/server/chunks/_/query.factory.mjs.map +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +1302 -546
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +712 -364
- package/.output/server/chunks/routes/api/ai/agent.mjs +258 -89
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/chat.mjs +1 -2
- package/.output/server/chunks/routes/api/ai/chat.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +1 -2
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +1 -2
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +5 -3
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +12 -10
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +5 -3
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +1 -2
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +14 -12
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +12 -10
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +1 -2
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -2
- package/.output/server/index.mjs +1 -2
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/README.md +8 -2
- package/package.json +1 -1
- package/.output/public/_nuxt/8_EuFD3X.js +0 -1
- package/.output/public/_nuxt/B6H7odCi.js +0 -1
- package/.output/public/_nuxt/B7nSJBpY.js +0 -1
- package/.output/public/_nuxt/BBNxNerU.js +0 -1
- package/.output/public/_nuxt/BDKd-SA5.js +0 -1
- package/.output/public/_nuxt/BDRdbLz0.js +0 -1
- package/.output/public/_nuxt/BKWWO5HE.js +0 -1
- package/.output/public/_nuxt/BVKG-F8j.js +0 -1
- package/.output/public/_nuxt/BoGW82nK.js +0 -1
- package/.output/public/_nuxt/Bs_ItSbk.js +0 -1
- package/.output/public/_nuxt/Btu7FO8S.js +0 -1
- package/.output/public/_nuxt/C04Tz2vC.js +0 -67
- package/.output/public/_nuxt/C4JPKbJK.js +0 -1
- package/.output/public/_nuxt/C5KSeJUi.js +0 -8
- package/.output/public/_nuxt/CDnZBTSk.js +0 -1
- package/.output/public/_nuxt/CKq06U7u.js +0 -19
- package/.output/public/_nuxt/CQpD-JHn.js +0 -1
- package/.output/public/_nuxt/Chcc8yNZ.js +0 -1
- package/.output/public/_nuxt/CpzDNDcD.js +0 -1
- package/.output/public/_nuxt/Cs1HkKH7.js +0 -1
- package/.output/public/_nuxt/CsYOf3m-.js +0 -39
- package/.output/public/_nuxt/Ctr2mpV9.js +0 -2
- package/.output/public/_nuxt/D2j2esR5.js +0 -3
- package/.output/public/_nuxt/D4ZGn1tW.js +0 -1
- package/.output/public/_nuxt/D6YseYA6.js +0 -1
- package/.output/public/_nuxt/D7EPcL9i.js +0 -1
- package/.output/public/_nuxt/DCMJS6Fh.js +0 -1
- package/.output/public/_nuxt/D_G1mAJ8.js +0 -3
- package/.output/public/_nuxt/De1hkrJC.js +0 -1
- package/.output/public/_nuxt/DnCs9xpG.js +0 -1
- package/.output/public/_nuxt/DvJ2MjiW.js +0 -2
- package/.output/public/_nuxt/Dzr_z_mY.js +0 -9
- package/.output/public/_nuxt/OEVyCyyD.js +0 -1
- package/.output/public/_nuxt/builds/meta/0ab6db39-d52b-46b9-a687-0df3b4c65db5.json +0 -1
- package/.output/public/_nuxt/builds/meta/dev.json +0 -1
- package/.output/public/_nuxt/e_Ir8LP9.js +0 -1
- package/.output/public/_nuxt/entry.XV7TCKso.css +0 -1
- package/.output/public/_nuxt/fRxmPZZB.js +0 -8
- package/.output/public/_nuxt/logo.BsJ2Dfin.png +0 -0
- package/.output/public/_nuxt/q4KcRwD-.js +0 -1
- package/.output/public/_nuxt/qIKg23Pc.js +0 -1
- package/.output/public/_nuxt/txD20ixW.js +0 -1
- package/.output/public/_nuxt/x2HBvptj.js +0 -1
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{k as wn,E as S,d as X,w as Cn,g as N,o as b,l as a,e as p,h as v,x as V,b as e,F as fe,s as Pe,n as Ee,q as de,ao as qe,cL as Sn,cM as ct,cN as Y,cO as dt,r as E,aS as tn,cP as Nt,cQ as nn,cR as la,bf as _e,aC as Te,a4 as Ft,M as He,b0 as We,al as Mt,ac as _t,bj as Be,bk as Qe,a2 as ra,a3 as ia,c as D,a as U,W as Oe,R as at,aI as Le,y as he,z as ge,m as we,p as O,B as be,K as an,bc as At,b9 as mt,aG as Ae,as as ca,aJ as Tt,bq as ua,aL as da,cS as on,cT as sn,X as Bt,at as Lt,bd as Ut,Z as Vt,$ as Kt,Y as Ot,a0 as xn,a1 as jt,cU as ma,aM as ln,aN as pa,bs as zt,f as fa,cV as va,cW as ya,ba as Nn,aa as Re,aR as $e,_ as Ue,aO as St,bB as wt,bx as Tn,bC as rn,bE as Rn,C as ha,D as ga,O as ba,V as _a,ax as wa,ay as Ca,az as cn,bF as Sa,cX as xa,t as Na,G as Ta,bN as Ra,bt as $a,cY as Ia,aD as ka,bh as Oa,cZ as un}from"./FyrDS92w.js";import{_ as $n,a as In,f as dn}from"./e_Ir8LP9.js";import{u as Ce,r as Ve}from"./y68LmDX2.js";import{d as kn,c as On,u as Ea,b as Aa,e as Pa,f as Da,F as Fa,g as Ma,_ as Ge}from"./ClnidwGv.js";import{k as Ba,m as La,Z as Ua,p as Va,o as Ht,s as Ct,d as Ka}from"./C26aAkUg.js";import{u as En,_ as An}from"./D2j2esR5.js";import{u as xt}from"./kehy-5uo.js";import{a as ja,_ as Pn}from"./CsYOf3m-.js";import{_ as Dn}from"./BDKd-SA5.js";import{H as ut,D as za,a as Ha,b as Qa}from"./Bdtn2mn5.js";import{d as Fn,t as Mn,e as qa,_ as Bn,f as Ln,g as Un,h as Wa}from"./Dzr_z_mY.js";import{_ as Ga}from"./C4JPKbJK.js";import{_ as mn}from"./ubO-cWd-.js";import{_ as Qt,a as qt,b as Wt}from"./D6YseYA6.js";import{_ as Gt}from"./qIKg23Pc.js";import{_ as Ya}from"./DnCs9xpG.js";import{_ as Pt,c as pn,a as Et,e as fn,b as vn}from"./DzJD_fir.js";import{f as yn,b as Ja}from"./llxtZpFD.js";import{C as j,j as Xa}from"./OEVyCyyD.js";import{b as Ye,a as Je}from"./BVmBXPoG.js";import{_ as Ke,a as je}from"./h2fvG4Xe.js";import{c as Za,a as eo,p as to,b as no}from"./DQiMjOqm.js";import{a as ao}from"./-lZvfnzr.js";import"./Btu7FO8S.js";import"./CzF1NEwP.js";import"./DCMJS6Fh.js";const oo=y=>{if(!Array.isArray(y)||y.length===0)return;let t="";y.forEach((c,n)=>{const s=Object.entries(c).map(([f,l])=>`${l}`).join(" ");t+=s,n<y.length-1&&(t+=`
|
|
2
|
-
`)}),navigator.clipboard.writeText(t).catch(c=>{console.error("Failed to copy: ",c)})};function so(y){return La(Ua,y)}function lo(y){return Ba(Va,y)}const ro=({tableName:y,schemaName:t})=>{var l;const{connectionStore:c}=wn(),{data:n,status:s}=Ce("/api/tables/size",{method:"POST",body:{tableName:y,dbConnectionString:(l=c.selectedConnection)==null?void 0:l.connectionString,schema:t},key:`table-size-${y}-${t}`},"$1Ta2y3cNQa");return{tableSize:S(()=>n.value||{}),status:s}},io={class:"gap-0 flex flex-col h-full w-full p-1"},co={class:"flex flex-col gap-y-1"},uo={class:"flex items-center justify-between w-full"},mo={class:"text-xs opacity-75"},po={class:"flex items-center justify-between gap-4"},fo={class:"text-xs opacity-75"},vo={class:"flex items-center justify-between gap-4"},yo={class:"text-xs opacity-75"},ho=["onClick"],go={class:"flex justify-between text-xs w-full overflow-hidden"},bo=["title"],_o={class:"opacity-50 w-1/4 min-w-[100px] text-right"},wo=X({__name:"QuickQueryTableSummary",props:{tableName:{},schemaName:{},columns:{},selectedColumnFieldId:{},handleSelectColumn:{type:Function},columnTypes:{}},emits:["resetSelectedCol"],setup(y,{emit:t}){const c=t,{tableSize:n}=ro({tableName:y.tableName,schemaName:y.schemaName}),s=S(()=>{var l;return(((l=y.columns)==null?void 0:l.map(r=>{var u;const g=(u=y.columnTypes)==null?void 0:u.find(_=>_.name===r.field&&_.name);return g?{...r,type:(g==null?void 0:g.type)||""}:r}))||[]).slice(1)}),f=l=>l==="timestamp without time zone"?"timestamp":l||"";return Cn(l=>{l(()=>{y.selectedColumnFieldId!==void 0&&c("resetSelectedCol")})}),(l,r)=>{var C;const g=$n,u=In,_=de;return b(),N("div",io,[a(u,{class:"py-1 rounded-md"},{default:p(()=>[a(g,{class:"px-2"},{default:p(()=>[v("div",co,[v("div",uo,[r[0]||(r[0]=v("span",{class:"text-xs font-medium"},"Table Size:",-1)),v("span",mo,V(e(n).tableSize),1)]),v("div",po,[r[1]||(r[1]=v("span",{class:"text-xs font-medium"},"Data Size:",-1)),v("span",fo,V(e(n).dataSize),1)]),v("div",vo,[r[2]||(r[2]=v("span",{class:"text-xs font-medium"},"Index Size:",-1)),v("span",yo,V(e(n).indexSize),1)])])]),_:1})]),_:1}),a(u,{class:Ee(e(dn)("mt-1 py-2 px-1 h-full overflow-y-auto custom-scrollbar rounded-md",((C=l.columns)==null?void 0:C.length)===0&&"hidden"))},{default:p(()=>[a(g,{class:"px-0"},{default:p(()=>[(b(!0),N(fe,null,Pe(e(s),i=>(b(),N("div",{key:i==null?void 0:i.field,class:Ee(["cursor-pointer hover:bg-accent/50 rounded-sm",e(dn)(l.selectedColumnFieldId===(i==null?void 0:i.field)&&"bg-accent/90")])},[v("div",{class:"flex items-center gap-2 justify-start p-1",onClick:h=>l.handleSelectColumn(i==null?void 0:i.field)},[a(_,{name:"lucide:columns-3",class:"size-4 min-w-3"}),v("div",go,[v("span",{class:"w-3/4 truncate max-w-[220px] overflow-hidden text-ellipsis whitespace-nowrap inline-block",title:i==null?void 0:i.headerName},V((i==null?void 0:i.headerName)||""),9,bo),v("span",_o,V(f(Array.isArray(i==null?void 0:i.type)?i==null?void 0:i.type.join(", "):i==null?void 0:i.type)),1)])],8,ho)],2))),128))]),_:1})]),_:1},8,["class"])])}}}),Vn=Ht({isSelect:Ka().optional(),fieldName:Ct(),operator:Ct().optional(),search:Ct().optional()}),Co=y=>t=>y===qe.POSTGRES?`$${t}`:"?",Kn=y=>t=>y===qe.POSTGRES?`"${t}"`:`\`${t}\``,hn=({col:y,op:t})=>({where:`${y} ${t}`,params:[]}),gn=({col:y,op:t,search:c,nextPlaceholder:n})=>{const s=c.split(",").map(l=>l.trim()).filter(Boolean);if(!s.length)return{where:"",params:[]};const f=s.map(()=>n()).join(", ");return{where:`${y} ${t} (${f})`,params:s}},bn=({col:y,op:t,search:c})=>({where:`${y} ${t} ${c}`,params:[]}),xe=({col:y,op:t,search:c,db:n,nextPlaceholder:s})=>{const f=t.toUpperCase().startsWith("NOT"),l=t.toUpperCase().startsWith("ILIKE"),r=n===qe.POSTGRES&&l?"ILIKE":"LIKE";let g=c;return t.endsWith("%VALUE%")?g=`%${c}%`:t.endsWith("%VALUE")?g=`%${c}`:t.endsWith("VALUE%")&&(g=`${c}%`),{where:`${y}::TEXT ${f?" NOT ":" "}${r} ${s()}`,params:[g]}},nt=({col:y,op:t,search:c,nextPlaceholder:n})=>({where:`${y} ${t} ${n()}`,params:[c]}),jn={[Y.IS_NULL]:hn,[Y.IS_NOT_NULL]:hn,[Y.IN]:gn,[Y.NOT_IN]:gn,[Y.BETWEEN]:bn,[Y.NOT_BETWEEN]:bn,[Y.LIKE]:xe,[Y.ILIKE]:xe,[Y.LIKE_CONTAINS]:xe,[Y.LIKE_PREFIX]:xe,[Y.LIKE_SUFFIX]:xe,[Y.ILIKE_CONTAINS]:xe,[Y.ILIKE_PREFIX]:xe,[Y.ILIKE_SUFFIX]:xe,[Y.NOT_LIKE_CONTAINS]:xe,[Y.NOT_LIKE_PREFIX]:xe,[Y.NOT_LIKE_SUFFIX]:xe,[Y.NOT_ILIKE_CONTAINS]:xe,[Y.NOT_ILIKE_PREFIX]:xe,[Y.NOT_ILIKE_SUFFIX]:xe,[Y.EQUAL]:nt,[Y.NOT_EQUAL]:nt,[Y.LESS]:nt,[Y.GREATER]:nt,[Y.LESS_EQUAL]:nt,[Y.GREATER_EQUAL]:nt};function So({search:y,columns:t,db:c,op:n,nextPlaceholder:s}){const f=Kn(c),l=jn[n],r=[],g=[];return t.forEach(u=>{const _=f(u),C=l({col:_,op:n,search:y,db:c,nextPlaceholder:s});C.where&&(r.push(C.where),g.push(...C.params))}),{where:r.length?`(${r.join(" OR ")})`:"",params:g}}function xo({filters:y,db:t,columns:c=[],composeWith:n=dt.AND}){const s=[],f=[];let l=1;const r=Co(t),g=()=>r(l++),u=Kn(t),_=({where:i,params:h})=>{i&&(s.push(i),f.push(...h))},C=new Set(Sn[t].map(i=>i.value.toUpperCase()));return y.forEach(i=>{if(!(i!=null&&i.isSelect))return;const h=Vn.parse(i);if(h.fieldName===ct.AnyField){const w=So({search:h.search||"",columns:c,db:t,op:h.operator,nextPlaceholder:g});w.where&&(s.push(w.where),f.push(...w.params));return}if(h.fieldName===ct.RawQuery){if(!h.search)return;s.push(`(${h.search})`);return}const o=u(h.fieldName),m=(h.operator??Y.LIKE_CONTAINS).toUpperCase(),d=C.has(m)?m:Y.LIKE_CONTAINS;_(jn[d]({col:o,op:d,search:h.search??"",db:t,nextPlaceholder:g}))}),{where:s.length?`WHERE ${s.join(` ${n} `)}`:"",params:f}}function Dt({filters:y,db:t,columns:c=[],composeWith:n}){const{where:s,params:f}=xo({filters:y,db:t,columns:c,composeWith:n});if(!s)return"";const l=r=>r===null?"NULL":typeof r=="number"?String(r):`'${String(r).replace(/'/g,"''")}'`;if(t===qe.POSTGRES){let r=s;return f.forEach((g,u)=>{r=r.replace(new RegExp(`\\$${u+1}\\b`,"g"),l(g))}),r}else{let r=0;return s.replace(/\?/g,()=>l(f[r++]))}}function No(y){const t=y.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 To({schemaName:y,tableName:t,pKeys:c,update:n,pKeyValue:s}){if(!t||!(c!=null&&c.length)||!n||!Object.keys(n).length)throw new Error("Invalid input: tableName, pKeys, and update object are required");const f=Object.entries(n).map(([g,u])=>u===null?`"${g}" = NULL`:typeof u=="string"?`"${g}" = '${u.replace(/'/g,"''")}'`:`"${g}" = ${u}`).join(", "),l=c.map(g=>`"${g}" = '${s[g]}'`).join(" AND ");return`UPDATE "${y}"."${t}" SET ${f} WHERE ${l}`}function Ro({schemaName:y,tableName:t,pKeys:c,pKeyValue:n}){if(!t||!(c!=null&&c.length))throw new Error("Invalid input: tableName and pKeys are required");const s=c.map(l=>`"${l}" = '${n[l]}'`).join(" AND ");return`DELETE FROM "${y}"."${t}" WHERE ${s}`}function $o({schemaName:y,tableName:t,insertData:c}){if(!t||!c)throw new Error("Invalid input: tableName, insertData object are required");const n=Object.entries(c).map(([l])=>`"${l}"`).join(", "),s=Object.values(c).map(l=>l===null?"NULL":typeof l=="string"?`'${l.replace(/'/g,"''")}'`:l).join(", ");return`INSERT INTO "${y}"."${t}" (${n}) VALUES (${s})`}function zn(y){const t=y.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:y,connection:t,primaryKeys:c,columns:n,isPersist:s=!0,schemaName:f,workspaceId:l,connectionId:r,initFilters:g,initComposeWith:u})=>{const _=En(),C=E(!1),i=E(""),h=tn({limit:Nt,offset:0}),o=E([]),m=tn({}),d=E(!1),w=E(dt.AND),T=S(()=>`${nn} "${f}"."${y}"`),ee=S(()=>d.value?Dt({columns:n.value,db:qe.POSTGRES,filters:o.value,composeWith:w.value}):""),le=S(()=>{let k="";m!=null&&m.columnName&&(m!=null&&m.order)?k=`ORDER BY "${m.columnName}" ${m.order}`:c.value[0]?k=`ORDER BY "${c.value[0]}" ASC`:k=`ORDER BY "${n.value[0]}" ASC`;const q=`LIMIT ${h.limit}`,oe=`OFFSET ${h.offset}`;return`${nn} "${f}"."${y}" ${ee.value||""} ${k} ${q} ${oe}`}),z=S(()=>`${la} "${f}"."${y}" ${ee.value||""}`),ce=(k,q=0,oe,ve)=>{_.createLog({tableName:y,schemaName:f,logs:k,queryTime:q,error:oe,errorMessage:ve})},{data:me,status:$,refresh:A}=Ce("/api/query/execute",{method:"POST",body:{query:le,..._e(t.value)},watch:!1,immediate:!1,key:y,cache:"default",onResponseError:k=>{var oe,ve,pe,W;const q=(ve=(oe=k.response)==null?void 0:oe._data)==null?void 0:ve.data;C.value=!0,i.value=((W=(pe=k.response)==null?void 0:pe._data)==null?void 0:W.message)||"",ce(le.value,0,q,i.value)},onResponse:({response:k})=>{var q;k.ok&&ce(le.value,(q=k._data)==null?void 0:q.queryTime)}},"$CR5sijiGqB"),{refresh:Q,data:ne,status:Se}=Ce("/api/query/execute",{method:"POST",body:{query:z,..._e(t.value)},watch:!1,immediate:!1,key:`${y}-count`,cache:"default",onResponse:({response:k})=>{var q;k.ok&&ce(z.value,(q=k._data)==null?void 0:q.queryTime)}},"$2oQhQUxDSL"),ye=S(()=>{var k,q,oe;return Number(((oe=(q=(k=ne.value)==null?void 0:k.result)==null?void 0:q[0])==null?void 0:oe.count)||0)}),I=S(()=>h.offset+h.limit<ye.value),x=S(()=>h.offset>0),R=({limit:k,offset:q})=>{k<=0||q<0||(h.limit=k,h.offset=q,A())},P=({columnName:k,order:q})=>{m.columnName=k,m.order=q,A()},G=()=>{I&&(h.offset+=h.limit,A())},F=()=>{if(!x)return;const k=h.offset-h.limit;k<0?h.offset=0:h.offset=k,A()},M=k=>{w.value=k,h.offset=0,A(),Q()},B=()=>{h.offset=0,A(),Q()},L=()=>`${l==null?void 0:l.value}-${r==null?void 0:r.value}-${f}-${y}`;Te([o,h,m,d],kn(()=>{if(!s)return;const k=L();localStorage.setItem(k,JSON.stringify({filters:o.value,pagination:h,orderBy:m,isShowFilters:d.value,composeWith:w.value}))},Ft),{deep:!0}),(()=>{if(!s){g&&(o.value=g,d.value=!0),u&&(w.value=u);return}const k=L(),q=localStorage.getItem(k);if(q){const{filters:oe,pagination:ve,orderBy:pe,isShowFilters:W,composeWith:re}=JSON.parse(q);pe&&(m.columnName=pe.columnName,m.order=pe.order),ve&&(h.limit=ve.limit,h.offset=ve.offset),oe&&(o.value=oe),re&&(w.value=re),d.value=!!W}})();const ue=S(()=>$.value==="pending"),se=S(()=>{var k;return((k=me.value)==null?void 0:k.result)||[]});return{whereClauses:ee,pagination:h,queryString:le,onUpdatePagination:R,isAllowNextPage:I,isAllowPreviousPage:x,onNextPage:G,onPreviousPage:F,queryCountString:z,data:se,isFetchingTableData:ue,refreshTableData:A,refreshCount:Q,totalRows:ye,onApplyNewFilter:B,baseQueryString:T,openErrorModal:C,onUpdateOrderBy:P,orderBy:m,errorMessage:i,filters:o,addHistoryLog:ce,isShowFilters:d,onChangeComposeWith:M,composeWith:w}};var te=(y=>(y.Data="Data",y.Structure="Structure",y.Erd="Erd",y))(te||{});const Qn=()=>{const y=E(),t=E(),c=E([]),n=E(void 0),s=E(!1);return{quickQueryFilterRef:y,quickQueryTableRef:t,selectedRows:c,isMutating:s,focusedCell:n}};function qn(y){const{tableName:t,schemaName:c,primaryKeys:n,columnNames:s,data:f,selectedRows:l,pagination:r,addHistoryLog:g,refreshTableData:u,refreshCount:_,openErrorModal:C,errorMessage:i,quickQueryTableRef:h,focusedCell:o,safeModeEnabled:m,onRequestSafeModeConfirm:d,connection:w}=y,T=E(!1),ee=async()=>{var x;const I=(x=h.value)==null?void 0:x.gridApi;I&&(I==null||I.deselectAll(),I==null||I.clearFocusedCell(),_(),u())},le=I=>{l.value=I},z=I=>{o&&(o.value=I)},ce=async()=>{var R,P,G,F;if(!f.value||!((P=(R=h.value)==null?void 0:R.editedCells)!=null&&P.length)){He.info("No changes to save.");return}const I=(G=h.value)==null?void 0:G.editedCells,x=[];if(I.forEach(M=>{var se;const B=!!Object.keys(M.changedData).length,L=(se=f.value)==null?void 0:se[M.rowId],ae=B&&L,ue=B&&!L;if(ae){const k=To({tableName:t,schemaName:c,update:M.changedData,pKeys:n.value,pKeyValue:L});x.push(k)}else if(ue){const k=$o({tableName:t,schemaName:c,insertData:M.changedData});x.push(k)}}),!x.length){He.info("No valid changes to save.");return}if(!(m!=null&&m.value&&d&&!await d(x.join(`
|
|
3
|
-
`),"save"))){T.value=!0;try{const{queryTime:M}=await $fetch("/api/tables/bulk-update",{method:"POST",body:{sqlUpdateStatements:x,..._e(w.value)},onResponseError({response:B}){var ue,se,k;const L=(se=(ue=B==null?void 0:B._data)==null?void 0:ue.data)==null?void 0:se.driverError,ae=(k=B==null?void 0:B._data)==null?void 0:k.message;C.value=!0,console.error("Error during bulk update:",B==null?void 0:B._data),i.value=ae||"An unknown error occurred during update.",g(x.join(`
|
|
4
|
-
`),0,L,ae)}});(F=h.value)!=null&&F.editedCells&&(h.value.editedCells=[]),g(x.join(`
|
|
5
|
-
`),M),_(),u(),He.success("Data saved successfully!")}catch(M){console.error("Fetch error in onSaveData:",M)}finally{T.value=!1}}},me=async()=>{var x,R;if(!l.value.length){He.info("No rows selected for deletion.");return}const I=[];if(l.value.forEach(P=>{const G=Ro({tableName:t,schemaName:c,pKeys:n.value,pKeyValue:P});I.push(G)}),!(m!=null&&m.value&&d&&!await d(I.join(`
|
|
6
|
-
`),"delete"))){T.value=!0;try{const{queryTime:P}=await $fetch("/api/tables/bulk-delete",{method:"POST",body:{sqlDeleteStatements:I,..._e(w.value)},onResponseError({response:F}){var L,ae,ue;const M=(ae=(L=F==null?void 0:F._data)==null?void 0:L.data)==null?void 0:ae.driverError,B=(ue=F==null?void 0:F._data)==null?void 0:ue.message;C.value=!0,i.value=B||"An unknown error occurred during deletion.",g(I.join(`
|
|
7
|
-
`),0,M,B)}});if(((x=l.value)==null?void 0:x.length)===((R=f.value)==null?void 0:R.length)&&r.offset>0){const F=r.offset-r.limit;r.offset=F>0?F:0}g(I.join(`
|
|
8
|
-
`),P||0),_(),u(),He.success("Rows deleted successfully!")}catch(P){console.error("Fetch error in onDeleteRows:",P)}finally{T.value=!1}}},$=()=>{var F;const I=(F=h.value)==null?void 0:F.gridApi;if(!I){He.error("Table grid API not available to add row.");return}let x=0;I.forEachNode(()=>x++);const R=x,P={[ut]:R+1,...Object.fromEntries(s.value.map(M=>[M,void 0]))};I.applyTransaction({add:[P],addIndex:R}),I.setFocusedCell(R,s.value[0]);const G=I.getRowNode(R.toString());G&&(I.deselectAll(),G.setSelected(!0),He.message("Empty row added. Please fill in data and save."))},A=S(()=>{var x;let I=0;return(x=h.value)==null||x.editedCells.forEach(R=>{Object.keys(R.changedData).length&&I++}),!!I});return{onAddEmptyRow:$,onDeleteRows:me,onSaveData:ce,isMutating:T,hasEditedRows:A,onCopyRows:()=>{const I=l.value;if(!I)return;const x=I.map(R=>{var G;const P=((R==null?void 0:R[ut])||1)-1;return(G=f.value)==null?void 0:G[P]});oo(x)},onPasteRows:async()=>{var R,P;const I=(R=h.value)==null?void 0:R.gridApi;if(!I)return;const x=I.getFocusedCell();x&&(x==null||x.rowIndex,(P=x==null?void 0:x.column)==null||P.getColId(),await navigator.clipboard.readText())},onRefresh:ee,onSelectedRowsChange:le,onCopySelectedCell:async()=>{o!=null&&o.value&&await navigator.clipboard.writeText(On(o.value)||"")},onFocusedCellChange:z,onDeselectAll:()=>{var x;(x=h.value)!=null&&x.gridApi}}}const Wn=({tableName:y,schemaName:t,connectionId:c,tabViewType:n})=>{const s=We(),{schemas:f}=Mt(s),l=S(()=>{const o=f.value[c];if(o)return o.find(m=>m.name===t)}),r=S(()=>{var o,m,d,w;switch(n){case _t.TableDetail:return(m=(o=l.value)==null?void 0:o.tableDetails)==null?void 0:m[y];case _t.ViewDetail:{const T=(w=(d=l.value)==null?void 0:d.viewDetails)==null?void 0:w[y];return{columns:T==null?void 0:T.columns,foreign_keys:[],primary_keys:[],table_id:T==null?void 0:T.view_id}}default:return null}}),g=S(()=>n===_t.ViewDetail),u=S(()=>{var o,m;return((m=(o=r.value)==null?void 0:o.columns)==null?void 0:m.map(d=>d.name))||[]}),_=S(()=>{var o;return(((o=r.value)==null?void 0:o.foreign_keys)||[]).map(m=>m.column)}),C=S(()=>{var o;return((o=r.value)==null?void 0:o.foreign_keys)||[]}),i=S(()=>{var o;return(((o=r.value)==null?void 0:o.primary_keys)||[]).map(m=>m.column)}),h=S(()=>{var o,m;return((m=(o=r.value)==null?void 0:o.columns)==null?void 0:m.map(d=>({name:d.name,type:d.short_type_name})))||[]});return{primaryKeyColumns:i,foreignKeys:C,columnNames:u,tableMetaData:r,columnTypes:h,foreignKeyColumns:_,isVirtualTable:g}},Yt=({schemaName:y,tableName:t})=>{const{schemaStore:c}=wn(),{activeReservedSchemas:n}=Mt(c),s=S(()=>(n.value||[]).find(g=>g.table===t&&g.schema===y)),f=S(()=>{var g,u;const r=new Map;return(u=(g=s.value)==null?void 0:g.used_by)==null||u.forEach(_=>{r.set(_.referenced_column,!0)}),r});return{activeReservedSchemas:n,reverseTables:s,isHaveRelationByFieldName:r=>f.value.has(r)}};function Gn(){const y=E(!1),t=E(""),c=E("save");let n=null;return{safeModeDialogOpen:y,safeModeDialogSql:t,safeModeDialogType:c,onRequestSafeModeConfirm:(r,g)=>new Promise(u=>{t.value=r,c.value=g,y.value=!0,n=u}),onSafeModeConfirm:()=>{n&&(n(!0),n=null),y.value=!1},onSafeModeCancel:()=>{n&&(n(!1),n=null),y.value=!1}}}const Io=["for"],ko=["for"],Oo=X({__name:"DynamicForm",props:{fields:{},validationSchema:{},class:{}},setup(y,{expose:t}){const c=y,n=Fn({validationSchema:Mn(c.validationSchema),name:`dynamic-form-${xt()}`});return t({form:n}),(s,f)=>(b(),N("div",{class:Ee(c.class)},[(b(!0),N(fe,null,Pe(s.fields,l=>Be((b(),N("div",{key:l.name},[v("div",{class:Ee(["flex justify-between pb-0.5",l.titleClass])},[v("label",{class:"text-xs text-right",for:l.name},V(l.label),9,Io),v("label",{class:"text-xs text-right text-primary/80",for:l.name},V(l.type),9,ko)],2),a(e(qa),{as:l.as,id:l.name,name:l.name,class:Ee(l.class),placeholder:l.placeholder},null,8,["as","id","name","class","placeholder"])])),[[Qe,l.isShow]])),128))],2))}}),Eo={class:"relative w-full p-1"},Ao={class:"absolute left-3 top-2.5 w-4"},Po={key:0,class:"flex items-center justify-center h-40"},Do=X({__name:"PreviewSelectedRow",props:{columnTypes:{},selectedRow:{}},setup(y){const t=y,c=S(()=>{const _={};return t.columnTypes.forEach(C=>{const i=zn(C.type);i==="boolean"?_[C.name]=lo().optional():i==="number"?_[C.name]=so().optional():_[C.name]=Ct().optional()}),_}),n=ra(""),s=ia(n,Ft),f=S(()=>{const _=[],C=s.value.toLowerCase().trim();return t.columnTypes.forEach(i=>{const h=i.name.toLowerCase(),o=C?h.includes(C):!0;_.push({label:i.name,type:i.type,as:Ga,name:i.name,class:"px-1 py-0.5 h-fit min-h-6! text-primary/80 font-normal!",placeholder:"NULL",isShow:o})}),_}),l=S(()=>{const _=s.value.toLowerCase().trim();return _?!t.columnTypes.some(C=>C.name.toLowerCase().includes(_)):!1}),r=S(()=>Ht(c.value)),g=E(),u=_=>{const C=Object.entries(_).reduce((i,[h,o])=>(i[h]=On(o||""),i),{});Le(()=>{var i;(i=g.value)==null||i.form.setValues(C)})};return Te(()=>[t.selectedRow,g],([_])=>{_&&u(_)},{immediate:!0,deep:!0}),(_,C)=>{const i=de,h=at;return b(),N(fe,null,[v("div",Eo,[v("div",Ao,[a(i,{name:"lucide:search",class:"stroke-3!"})]),a(h,{type:"text",placeholder:"Search fields ...",class:"pr-6 pl-6 w-full h-8",modelValue:e(n),"onUpdate:modelValue":C[0]||(C[0]=o=>Oe(n)?n.value=o:null)},null,8,["modelValue"]),e(n)?(b(),N("div",{key:0,class:"absolute right-3 top-2.5 w-4 cursor-pointer rounded-md hover:bg-accent",onClick:C[1]||(C[1]=o=>n.value="")},[a(i,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):U("",!0)]),e(l)?(b(),N("div",Po," No field match! ")):(b(),D(Oo,{key:1,ref_key:"dynamicForm",ref:g,class:"space-y-1 p-1 overflow-y-auto",fields:e(f),"validation-schema":e(r)},null,8,["fields","validation-schema"]))],64)}}}),Fo={class:"grid gap-3"},Mo={class:"grid gap-2"},Bo={class:"grid grid-cols-3 items-center gap-4"},Lo={class:"grid grid-cols-3 items-center gap-4"},Uo={class:"flex justify-center"},Vo=X({__name:"QuickPagination",props:{limit:{},offset:{},totalRows:{}},emits:["onPaginate"],setup(y,{emit:t}){const c=y,n=t,s=E(0),f=E(0),l=E(!1),r=()=>{s.value=c.limit,f.value=c.offset},g=()=>{if(f.value>c.totalRows){f.value=c.totalRows-1;return}f.value<0&&(f.value=c.offset)},u=()=>{if(s.value>c.totalRows){s.value=c.totalRows;return}s.value<0&&(s.value=c.limit)},_=()=>{g(),u(),n("onPaginate",{limit:s.value,offset:f.value}),l.value=!1};return(C,i)=>(b(),D(e(he),null,{default:p(()=>[a(e(Bn),{open:l.value,"onUpdate:open":i[2]||(i[2]=h=>l.value=h)},{default:p(()=>[a(e(Ln),{"as-child":""},{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(e(we),{onClick:r,variant:"outline",size:"xxs"},{default:p(()=>[O(V(C.limit),1)]),_:1})]),_:1}),a(e(be),null,{default:p(()=>i[3]||(i[3]=[v("p",null,"Pagination settings",-1)])),_:1})]),_:1}),a(e(Un),{class:"w-64"},{default:p(()=>[v("div",Fo,[i[7]||(i[7]=v("div",{class:"space-y-2"},[v("h4",{class:"font-medium leading-none"},"Pagination"),v("p",{class:"text-sm text-muted-foreground"},"Set limit and offset")],-1)),v("div",Mo,[v("div",Bo,[a(e(an),{for:"limit"},{default:p(()=>i[4]||(i[4]=[O("Limit")])),_:1}),a(e(at),{id:"limit",type:"number",modelValue:s.value,"onUpdate:modelValue":i[0]||(i[0]=h=>s.value=h),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"1",onBlur:u,onKeyup:At(_,["enter"])},null,8,["modelValue"])]),v("div",Lo,[a(e(an),{for:"offset"},{default:p(()=>i[5]||(i[5]=[O("Offset")])),_:1}),a(e(at),{id:"offset",type:"number",modelValue:f.value,"onUpdate:modelValue":i[1]||(i[1]=h=>f.value=h),modelModifiers:{number:!0},class:"col-span-2 h-6",min:"0",onBlur:g,onKeyup:At(_,["enter"])},null,8,["modelValue"])])]),v("div",Uo,[a(e(we),{size:"xs",class:"px-6",onClick:_},{default:p(()=>i[6]||(i[6]=[O("Go")])),_:1})])])]),_:1})]),_:1},8,["open"])]),_:1}))}}),Ko=X({__name:"RefreshButton",emits:["onRefresh"],setup(y,{emit:t}){const c=t,n=E(0),s=()=>{n.value+=360,c("onRefresh")};return mt([{key:"meta+r",callback:()=>{s()}}],{isPreventDefault:!0}),(f,l)=>(b(),D(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(e(we),{variant:"outline",size:"xxs",onClick:s,"aria-label":"Refresh table"},{default:p(()=>[a(e(de),{name:"hugeicons:refresh",style:Ae({transform:`rotate(${n.value}deg)`}),class:"icon-transition"},null,8,["style"]),a(e(Gt),null,{default:p(()=>l[0]||(l[0]=[O("⌘R")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:p(()=>l[1]||(l[1]=[v("p",null,"Refresh data",-1)])),_:1})]),_:1}))}}),jo=ca(Ko,[["__scopeId","data-v-d56d89e4"]]),zo={key:0,class:"flex items-center gap-1"},Ho={key:1,class:"font-normal text-xs text-primary/60"},Qo={key:2,class:"font-normal text-sm text-primary"},qo={key:1},Wo={key:2,class:"flex items-center gap-2"},Go={class:"font-normal text-sm text-primary/80"},Yo={key:3},Jo={class:"flex items-center gap-1"},Yn=X({__name:"QuickQueryControlBar",props:{isAllowNextPage:{type:Boolean},isAllowPreviousPage:{type:Boolean},totalRows:{},limit:{},offset:{},currentTotalRows:{},totalSelectedRows:{},hasEditedRows:{type:Boolean},tabView:{},isViewVirtualTable:{type:Boolean}},emits:["onRefresh","onPaginate","onNextPage","onPreviousPage","onShowFilter","onSaveData","onAddEmptyRow","onDeleteRows","onToggleHistoryPanel","update:tabView"],setup(y,{emit:t}){const c=Tt(),{openSettings:n}=da(),s=y,f=t,l=E(),r=S(()=>s.tabView===te.Data);return(g,u)=>{const _=Gt,C=we,i=Wt,h=qt,o=Qt,m=ua("auto-animate");return b(),N("div",{ref_key:"quickQueryControlBarRef",ref:l,class:Ee(["w-full select-none h-9 flex items-center justify-between"])},[e(r)?Be((b(),N("div",zo,[a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"outline",size:"xxs",onClick:u[0]||(u[0]=d=>f("onShowFilter"))},{default:p(()=>[a(e(de),{name:"lucide:filter"}),a(_,null,{default:p(()=>u[12]||(u[12]=[O("⌘F")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:p(()=>u[13]||(u[13]=[v("p",null,"Filter data",-1)])),_:1})]),_:1}),a(jo,{onOnRefresh:u[1]||(u[1]=d=>f("onRefresh"))}),U("",!0),a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"outline",size:"xxs",onClick:u[3]||(u[3]=d=>f("onToggleHistoryPanel"))},{default:p(()=>[a(e(de),{name:"lucide:terminal"}),a(_,null,{default:p(()=>u[15]||(u[15]=[O("⌘j")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:p(()=>u[16]||(u[16]=[v("p",null,"History logs",-1)])),_:1})]),_:1}),g.totalSelectedRows?(b(),N("p",Ho," Selected ")):U("",!0),g.totalSelectedRows?(b(),N("p",Qo,V(g.totalSelectedRows),1)):U("",!0),g.hasEditedRows&&!g.isViewVirtualTable?(b(),D(e(he),{key:3},{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"outline",size:"xxs",onClick:u[4]||(u[4]=d=>f("onSaveData"))},{default:p(()=>[a(e(de),{name:"lucide:save"}),a(_,null,{default:p(()=>u[17]||(u[17]=[O("⌘S")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:p(()=>u[18]||(u[18]=[v("p",null,"Save changes",-1)])),_:1})]),_:1})):U("",!0),g.totalSelectedRows&&!g.isViewVirtualTable?(b(),D(e(he),{key:4},{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"outline",size:"xxs",onClick:u[5]||(u[5]=d=>f("onDeleteRows"))},{default:p(()=>[a(e(de),{name:"lucide:trash"}),a(_,null,{default:p(()=>u[19]||(u[19]=[O("⌥⌘⌫")])),_:1})]),_:1})]),_:1}),a(e(be),null,{default:p(()=>u[20]||(u[20]=[v("p",null,"Delete selected rows",-1)])),_:1})]),_:1})):U("",!0)])),[[m]]):(b(),N("div",qo)),e(r)?(b(),N("div",Wo,[a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"outline",size:"iconSm",disabled:!g.isAllowPreviousPage,onClick:u[6]||(u[6]=d=>f("onPreviousPage"))},{default:p(()=>[a(e(de),{name:"lucide:chevron-left"})]),_:1},8,["disabled"])]),_:1}),a(e(be),null,{default:p(()=>u[21]||(u[21]=[v("p",null,"Previous page",-1)])),_:1})]),_:1}),v("div",Go,[O(V(g.offset+1)+"-"+V(g.offset+g.currentTotalRows)+" ",1),u[22]||(u[22]=v("p",{class:"font-normal text-xs text-primary/60 inline"},"of",-1)),O(" "+V(g.totalRows)+" ",1),u[23]||(u[23]=v("p",{class:"font-normal text-xs text-primary/60 inline"},"rows",-1))]),a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"outline",size:"iconSm",disabled:!g.isAllowNextPage,onClick:u[7]||(u[7]=d=>f("onNextPage"))},{default:p(()=>[a(e(de),{name:"lucide:chevron-right"})]),_:1},8,["disabled"])]),_:1}),a(e(be),null,{default:p(()=>u[24]||(u[24]=[v("p",null,"Next page",-1)])),_:1})]),_:1}),a(Vo,{limit:g.limit,offset:g.offset,totalRows:g.totalRows,onOnPaginate:u[8]||(u[8]=d=>f("onPaginate",d))},null,8,["limit","offset","totalRows"])])):(b(),N("div",Yo)),v("div",Jo,[a(o,{"model-value":g.tabView,"onUpdate:modelValue":u[9]||(u[9]=d=>g.$emit("update:tabView",d))},{default:p(()=>[a(h,{class:"grid w-full grid-cols-3 h-[1.625rem]!"},{default:p(()=>[a(i,{value:e(te).Data,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:p(()=>u[25]||(u[25]=[O(" Data ")])),_:1},8,["value"]),a(i,{value:e(te).Structure,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:p(()=>u[26]||(u[26]=[O(" Structure ")])),_:1},8,["value"]),a(i,{value:e(te).Erd,class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80",disabled:g.isViewVirtualTable},{default:p(()=>u[27]||(u[27]=[O(" ERD ")])),_:1},8,["value","disabled"])]),_:1})]),_:1},8,["model-value"]),a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"ghost",size:"iconSm",onClick:u[10]||(u[10]=d=>e(n)("Quick Query"))},{default:p(()=>[e(c).quickQuerySafeModeEnabled?(b(),D(e(de),{key:0,name:"hugeicons:security-check",class:"size-4!"})):(b(),D(e(de),{key:1,name:"lucide:shield-minus",class:"size-4! text-muted-foreground"}))]),_:1})]),_:1}),a(e(be),null,{default:p(()=>[v("p",null," Safe Mode: "+V(e(c).quickQuerySafeModeEnabled?"Enabled":"Disabled"),1),u[28]||(u[28]=v("p",{class:"text-xs text-muted-foreground"},"Click to configure",-1))]),_:1})]),_:1}),a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(C,{variant:"ghost",size:"iconSm",onClick:u[11]||(u[11]=d=>e(n)("Appearance"))},{default:p(()=>[a(e(de),{name:"hugeicons:settings-04",class:"size-4!"})]),_:1})]),_:1}),a(e(be),null,{default:p(()=>u[29]||(u[29]=[v("p",null,"Table appearance settings",-1)])),_:1})]),_:1})])],512)}}}),Xo={class:"sticky top-0 z-10 bg-popover"},Zo={class:"p-1"},es={key:3,class:"px-2 py-1 text-sm text-muted-foreground"},ts=X({__name:"ColumnSelector",props:{columns:{},value:{}},emits:["update:value","update:open"],setup(y,{emit:t}){const c=y,n=t,s=E(""),f=S(()=>s.value.trim().toLowerCase()),l=S(()=>new on(c.columns,{threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),r=S(()=>new on(sn,{keys:["label","value"],threshold:.35,ignoreLocation:!0,minMatchCharLength:1})),g=S(()=>{const C=f.value;return C?l.value.search(C).map(i=>i.item):c.columns}),u=S(()=>{const C=f.value;return C?r.value.search(C).map(i=>i.item):sn}),_=C=>{n("update:open",C),C||(s.value="")};return(C,i)=>{const h=Ut,o=Lt,m=at,d=xn,w=jt,T=Kt,ee=Vt,le=Bt;return b(),D(le,{"model-value":C.value,"onUpdate:modelValue":i[4]||(i[4]=z=>n("update:value",z)),"onUpdate:open":_},{default:p(()=>[a(o,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:p(()=>[a(h,{placeholder:"Select field"})]),_:1}),a(ee,null,{default:p(()=>[a(T,null,{default:p(()=>[v("div",Xo,[v("div",Zo,[a(m,{"model-value":e(s),"onUpdate:modelValue":i[0]||(i[0]=z=>Oe(s)?s.value=z:null),type:"text",placeholder:"Search fields",class:"h-7 text-sm",autocomplete:"off",onClick:i[1]||(i[1]=Ot(()=>{},["stop"])),onMousedown:i[2]||(i[2]=Ot(()=>{},["stop"])),onKeydown:i[3]||(i[3]=Ot(()=>{},["stop"]))},null,8,["model-value"])]),a(d)]),e(g).length?(b(!0),N(fe,{key:0},Pe(e(g),z=>(b(),D(w,{key:z,class:"h-6 text-sm cursor-pointer",value:z},{default:p(()=>[O(V(z),1)]),_:2},1032,["value"]))),128)):U("",!0),e(g).length&&e(u).length?(b(),D(d,{key:1})):U("",!0),e(u).length?(b(!0),N(fe,{key:2},Pe(e(u),z=>(b(),D(w,{key:z.value,class:"h-6 text-sm cursor-pointer",value:z.value},{default:p(()=>[O(V(z.label),1)]),_:2},1032,["value"]))),128)):U("",!0),!e(g).length&&!e(u).length?(b(),N("div",es," No fields found ")):U("",!0)]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),ns=X({__name:"OperatorSelector",props:{dbType:{},value:{}},emits:["update:value","update:open"],setup(y){const t=y,c=S(()=>Sn[t.dbType]);return(n,s)=>{const f=Ut,l=Lt,r=jt,g=Kt,u=Vt,_=Bt;return b(),D(_,{"model-value":n.value,"onUpdate:modelValue":s[0]||(s[0]=C=>n.$emit("update:value",C)),"onUpdate:open":s[1]||(s[1]=C=>n.$emit("update:open",C))},{default:p(()=>[a(l,{class:"w-36 min-w-36 h-6! text-sm cursor-pointer px-2"},{default:p(()=>[a(f,{placeholder:"Select operator"})]),_:1}),a(u,null,{default:p(()=>[a(g,null,{default:p(()=>[(b(!0),N(fe,null,Pe(e(c),C=>(b(),N(fe,null,[C.value===e(ma).value?(b(),D(e(xn),{key:0})):(b(),D(r,{key:1,class:"h-6 text-sm cursor-pointer",value:C.value},{default:p(()=>[O(V(C.label),1)]),_:2},1032,["value"]))],64))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),as={class:"text-xs font-medium"},os={class:"text-xs font-medium"},ss=X({__name:"ViewParserFilterApply",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function}},setup(y){const t=y,c=E(""),n=E(""),s=()=>{c.value=yn(t.getParserApplyFilter(),{language:"postgresql",keywordCase:"upper"}),n.value=yn(t.getParserAllFilter(),{language:"postgresql",keywordCase:"upper"})};return(f,l)=>(b(),D(e(he),null,{default:p(()=>[a(e(Bn),null,{default:p(()=>[a(e(Ln),{"as-child":""},{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(e(we),{onClick:s,size:"xxs",variant:"outline"},{default:p(()=>l[0]||(l[0]=[O(" SQL ")])),_:1})]),_:1}),a(e(be),null,{default:p(()=>l[1]||(l[1]=[v("p",null,"View SQL query",-1)])),_:1})]),_:1}),a(e(Un),{class:"w-[40rem] p-2 space-y-2","restore-focus":!0},{default:p(()=>[v("div",as,[l[2]||(l[2]=O(" Curren filter ")),a(e(Pt),{code:e(c),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])]),v("div",os,[l[3]||(l[3]=O(" Apply all filter ")),a(e(Pt),{code:e(n),language:"sql","max-height":"15rem",class:"mt-1"},null,8,["code"])])]),_:1})]),_:1})]),_:1}))}}),ls={class:"flex justify-between"},rs={class:"flex items-center gap-0.5 text-xs"},is={class:"text-xs flex items-center gap-2"},cs=X({__name:"QuickQueryFilterGuide",props:{getParserApplyFilter:{type:Function},getParserAllFilter:{type:Function},composeWith:{}},emits:["onChangeComposeWith"],setup(y,{emit:t}){const c=t;return(n,s)=>{const f=Ut,l=Lt,r=jt,g=Kt,u=Vt,_=Bt,C=Gt;return b(),N("div",ls,[v("div",rs,[s[3]||(s[3]=O(" Compose with: ")),a(_,{modelValue:n.composeWith,"onUpdate:modelValue":s[0]||(s[0]=i=>c("onChangeComposeWith",i))},{default:p(()=>[a(l,{class:"w-14 h-5! text-xs cursor-pointer px-1 border-none gap-1 shadow-none"},{default:p(()=>[a(f,{placeholder:"Select operator"})]),_:1}),a(u,null,{default:p(()=>[a(g,null,{default:p(()=>[a(r,{class:"h-5 text-xs cursor-pointer",value:e(dt).AND},{default:p(()=>s[1]||(s[1]=[O(" AND ")])),_:1},8,["value"]),a(r,{class:"h-5 text-xs cursor-pointer",value:e(dt).OR},{default:p(()=>s[2]||(s[2]=[O(" OR ")])),_:1},8,["value"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),v("div",is,[v("div",null,[a(C,null,{default:p(()=>s[4]||(s[4]=[O("⌘F")])),_:1}),s[5]||(s[5]=O(": Show"))]),v("div",null,[a(C,null,{default:p(()=>s[6]||(s[6]=[O("Esc")])),_:1}),s[7]||(s[7]=O(": Exit"))]),a(e(ja),{orientation:"vertical",class:"h-3/4!"}),v("div",null,[a(C,null,{default:p(()=>s[8]||(s[8]=[O("⌘I")])),_:1}),s[9]||(s[9]=O(": Insert"))]),v("div",null,[a(C,null,{default:p(()=>s[10]||(s[10]=[O("⌘⌫")])),_:1}),s[11]||(s[11]=O(": Delete"))]),v("div",null,[a(C,null,{default:p(()=>s[12]||(s[12]=[O("⌘↵")])),_:1}),s[13]||(s[13]=O(": Apply all"))])]),v("div",null,[a(ss,{getParserApplyFilter:n.getParserApplyFilter,getParserAllFilter:n.getParserAllFilter},null,8,["getParserApplyFilter","getParserAllFilter"])])])}}}),Jn=X({__name:"QuickQueryFilter",props:ln({columns:{},dbType:{},baseQuery:{},initFilters:{},composeWith:{}},{isShowFilters:{},isShowFiltersModifiers:{}}),emits:ln(["onSearch","onUpdateFilters","onChangeComposeWith"],["update:isShowFilters"]),setup(y,{expose:t,emit:c}){const n=y,s=pa(y,"isShowFilters"),f=c,l=E(),r=zt("filterSearchRefs"),g=Ht({filters:Vn.array()});Fn({validationSchema:Mn(g),initialValues:{filters:n.initFilters||[]},keepValuesOnUnmount:!1});const{remove:u,fields:_,insert:C,update:i}=Wa("filters");Te(_,kn(()=>{f("onUpdateFilters",_.value.map($=>$.value)||[])},Ft),{deep:!0});const h=$=>{C($+1,{isSelect:!0,fieldName:ct.RawQuery})},o=($,A)=>{var ye,I;const Q=(I=(ye=_.value)==null?void 0:ye[$])==null?void 0:I.value,ne=(Q==null?void 0:Q.fieldName)===ct.RawQuery,Se=!(Q!=null&&Q.operator);ne&&Se?i($,{...Q,fieldName:A,operator:Y.LIKE_CONTAINS}):i($,{...Q,fieldName:A})},m=()=>`${n.baseQuery} ${Dt({columns:n.columns,db:n.dbType,filters:_.value.map($=>$.value)||[]})};`,d=()=>`${n.baseQuery} ${Dt({columns:n.columns,db:n.dbType,filters:_.value.map($=>({...$.value,isSelect:!0}))||[]})};`,w=($=!1)=>{if($){f("onSearch");return}f("onSearch")},T=$=>{var Q,ne;const A=(ne=(Q=_.value)==null?void 0:Q[$])==null?void 0:ne.value;A!=null&&A.isSelect||i($,{...A,isSelect:!0}),w()},ee=()=>{_.value.forEach(($,A)=>{i(A,{...$.value,isSelect:!0})}),w()},le=async $=>{u($),await Le(),$!==0&&z($-1),f("onUpdateFilters",_.value.map(A=>A.value)||[]),w()},z=$=>{var A,Q;r.value&&((Q=(A=r.value)==null?void 0:A[$])==null||Q.$el.focus())},ce=()=>{_.value.length||h(-1),s.value=!0,Le(()=>{const $=_.value.length-1||0;z($)})},me=()=>r.value?r.value.findIndex(A=>A.$el===document.activeElement):void 0;return mt([{key:"meta+backspace",callback:async()=>{const $=me();$!==void 0&&le($)}},{key:"meta+enter",callback:()=>{const $=me();$!==void 0&&$>=0&&ee()}},{key:"meta+i",callback:async()=>{const $=me();$!==void 0&&(h($),await Le(),z($+1))}},{key:"escape",callback:()=>{s.value=!1,w(!0)}}],{target:l}),t({onShowSearch:ce,insert:C}),($,A)=>{const Q=Ya,ne=at,Se=we;return s.value?(b(),N("div",{key:0,ref_key:"quickQueryFilterRef",ref:l,class:Ee(["h-fit space-y-1",e(_).length&&"pb-2"]),onKeyup:A[1]||(A[1]=At(()=>w(),["enter"]))},[(b(!0),N(fe,null,Pe(e(_),({key:ye,value:I},x)=>(b(),N("div",{class:"flex gap-1 items-center",key:ye},[a(Q,{"model-value":I.isSelect,"onUpdate:modelValue":R=>I.isSelect=R},null,8,["model-value","onUpdate:modelValue"]),a(ts,{columns:$.columns,value:I.fieldName,"onUpdate:value":R=>{o(x,R)},"onUpdate:open":R=>{R||$.$nextTick(()=>z(x))}},null,8,["columns","value","onUpdate:value","onUpdate:open"]),I.fieldName!==e(ct).RawQuery?(b(),D(ns,{key:0,"db-type":$.dbType,value:I.operator,"onUpdate:value":R=>I.operator=R,"onUpdate:open":R=>{R||$.$nextTick(()=>z(x))}},null,8,["db-type","value","onUpdate:value","onUpdate:open"])):U("",!0),a(ne,{"model-value":I.search,"onUpdate:modelValue":R=>I.search=R,type:"text",placeholder:e(No)(I.operator||""),class:"w-full h-6 px-2",ref_for:!0,ref_key:"filterSearchRefs",ref:r},null,8,["model-value","onUpdate:modelValue","placeholder"]),a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(Se,{size:"xxs",variant:"outline",onClick:R=>T(x)},{default:p(()=>A[2]||(A[2]=[O(" Apply ")])),_:2},1032,["onClick"])]),_:2},1024),a(e(be),null,{default:p(()=>A[3]||(A[3]=[v("p",null,"Apply this filter",-1)])),_:1})]),_:2},1024),a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(Se,{size:"iconSm",variant:"outline",onClick:R=>le(x)},{default:p(()=>[a(e(de),{name:"hugeicons:minus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),a(e(be),null,{default:p(()=>A[4]||(A[4]=[v("p",null,"Remove filter (Meta+Backspace)",-1)])),_:1})]),_:2},1024),a(e(he),null,{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(Se,{size:"iconSm",variant:"outline",onClick:()=>h(x)},{default:p(()=>[a(e(de),{name:"hugeicons:plus-sign"})]),_:2},1032,["onClick"])]),_:2},1024),a(e(be),null,{default:p(()=>A[5]||(A[5]=[v("p",null,"Add new filter (Meta+I)",-1)])),_:1})]),_:2},1024)]))),128)),e(_).length?(b(),D(cs,{key:0,getParserApplyFilter:m,getParserAllFilter:d,"compose-with":$.composeWith,onOnChangeComposeWith:A[0]||(A[0]=ye=>f("onChangeComposeWith",ye))},null,8,["compose-with"])):U("",!0)],34)):U("",!0)}}}),Xn=X({__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(y,{emit:t}){const{onShowSecondSidebar:c}=Tt(),n=y,s=t,f=S(()=>{var d,w,T,ee;return((w=(d=n.cellContextMenu)==null?void 0:d.column)==null?void 0:w.getColId())??((ee=(T=n.cellHeaderContextMenu)==null?void 0:T.column)==null?void 0:ee.getColId())}),l=S(()=>{var d,w,T;return((d=n.cellContextMenu)==null?void 0:d.column.getColDef().headerName)??((T=(w=n.cellHeaderContextMenu)==null?void 0:w.column)==null?void 0:T.getColDef().headerName)??""}),r=d=>{pn(n.selectedRows||[],l.value??"",d)},g=d=>{pn(n.data||[],l.value??"",d)},u=d=>Et(n.selectedRows||[],n.tableName||"table_data",d,n.schemaName),_=d=>Et(n.data||[],n.tableName||"table_data",d,n.schemaName),C=d=>fn(n.selectedRows||[],n.tableName||"table_data",d,"selected",n.schemaName),i=d=>fn(n.data||[],n.tableName||"table_data",d,"all",n.schemaName),h=()=>{var w;const d=(w=n.cellContextMenu)==null?void 0:w.value;if(d!==void 0){if(typeof d=="object")return vn(JSON.stringify(d));vn(String(d))}},o=()=>{var d;if(n.cellContextMenu){const w=(d=n.cellContextMenu)==null?void 0:d.data;Et([w],n.tableName||"table_data","csv-no-header",n.schemaName)}},m=S(()=>{var $;const d=!!n.cellContextMenu,w=n.selectedRows.length>0,T=n.selectedRows.length,ee=(($=n.data)==null?void 0:$.length)||0,le=!!f.value,z=[{type:j.LABEL,title:`${T} selected`,condition:w&&d},{type:j.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>r("list"),condition:w&&d},{type:j.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>r("json"),condition:w&&d},{type:j.SEPARATOR,condition:w&&d},{type:j.LABEL,title:"All data in column"},{type:j.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>g("list")},{type:j.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>g("json")}],ce=[{type:j.LABEL,title:`${T} selected row(s)`,condition:w},{type:j.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>u("csv-no-header"),condition:w},{type:j.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>u("json"),condition:w},{type:j.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>u("sql"),condition:w},{type:j.SEPARATOR,condition:w},{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:`${T} selected row${T>1?"s":""}`,condition:w},{type:j.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>C("csv-no-header"),condition:w},{type:j.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>C("csv-with-header"),condition:w},{type:j.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>C("json"),condition:w},{type:j.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>C("sql"),condition:w},{type:j.SEPARATOR,condition:w},{type:j.LABEL,title:`All ${ee.toLocaleString()} row${ee!==1?"s":""}`},{type:j.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>i("csv-no-header")},{type:j.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>i("csv-with-header")},{type:j.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>i("json")},{type:j.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>i("sql")}];return[{title:"View row detail",icon:"hugeicons:view",type:j.ACTION,select:()=>{c()},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:h,condition:d},{type:j.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:o,condition:w&&d},{type:j.SEPARATOR,condition:d},{type:j.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:z,condition:le,desc:l.value||"Select a column"},{type:j.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:ce},{type:j.SEPARATOR},{type:j.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:me}]});return(d,w)=>{const T=Xa;return b(),D(T,{contextMenuItems:e(m),onOnClearContextMenu:w[0]||(w[0]=ee=>s("onClearContextMenu"))},{default:p(()=>[fa(d.$slots,"default")]),_:3},8,["contextMenuItems"])}}}),us={class:"flex items-center justify-between"},ds={class:"truncate"},ms=X({__name:"CustomCellUuid",props:{params:{}},setup(y){return(t,c)=>{var n,s;return b(),N("div",us,[v("span",ds,V(((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?(b(),D(e(de),{key:0,onClick:c[0]||(c[0]=()=>{t.params.onOpenPreviewReverseTableModal(t.params.value)}),name:"hugeicons:view",class:"min-w-4 w-4! cursor-pointer hover:bg-amber-500"})):U("",!0)])}}}),ps={class:"ag-header-cell-text items-center flex gap-0.5","data-ref":"eText"},fs={class:"text-[10px]!"},vs={key:0,class:"ag-sort-indicator-container","data-ref":"eSortIndicator"},ys={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"},gs=X({__name:"CustomHeaderTable",props:{params:{}},setup(y){const t=y,c=()=>{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)=>(b(),N("div",{class:"ag-header-cell-label cursor-pointer","data-ref":"eLabel",role:"presentation",onClick:c},[v("span",ps,[t.params.isPrimaryKey?(b(),D(e(de),{key:0,name:"lucide:key-round",class:"min-w-3! text-yellow-500"})):U("",!0),t.params.isForeignKey?(b(),D(e(de),{key:1,name:"lucide:key-round",class:"min-w-3!"})):U("",!0),O(" "+V(t.params.displayName)+" ",1),v("p",fs,V(t.params.dataType),1)]),n.params.sort?(b(),N("span",vs,[n.params.sort==="ASC"?(b(),N("span",ys,s[0]||(s[0]=[v("span",{class:"ag-icon ag-icon-asc",role:"presentation",unselectable:"on"},null,-1)]))):(b(),N("span",hs,s[1]||(s[1]=[v("span",{class:"ag-icon ag-icon-desc",role:"presentation",unselectable:"on"},null,-1)])))])):U("",!0)]))}}),Zn=X({__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(y,{expose:t,emit:c}){const n=y,s=c,f=E(n.defaultPageSize??Nt),{gridApi:l,onGridReady:r}=Ea(),g=zt("agGridRef"),u=E(),_=E();va(g,x=>{s("onFocusCell",void 0),s("onClickOutSide",x)});const C=E([]),i=S(()=>(n.data??[]).map((x,R)=>({[ut]:R+n.offset+1,...x}))),{handleCellMouseOverDebounced:h,handleCellMouseDown:o}=Aa({gridApi:l,gridRef:g}),m=S(()=>new Map(n.columnTypes.map(x=>[x.name,x]))),d=x=>{var P;const R=((P=m.value.get(x))==null?void 0:P.type)||"";return["object","json","jsonb"].includes(R)},w=x=>{var ue,se,k;const{colDef:R,newValue:P,rowIndex:G}=x,F=Number(G),M=R.field,B=d(M??""),ae=(((ue=m.value.get(M??""))==null?void 0:ue.type)||"")==="bool";if(F!==null&&M){const q=(k=(se=n==null?void 0:n.data)==null?void 0:se[F])==null?void 0:k[M];let oe=q!==P;B&&(oe=JSON.stringify(q)!==JSON.stringify(P));const ve=C.value.some(W=>W.rowId===F);let pe=B?JSON.stringify(P):P;if(pe||(pe=null),ae&&(pe=!!pe),oe&&!ve){C.value.push({rowId:F,changedData:{[M]:pe}});return}oe?C.value=C.value.map(W=>W.rowId===F?{...W,changedData:{...W.changedData,[M]:pe}}:W):C.value=C.value.map(W=>{if(W.rowId===F){const re=W.changedData;return delete re[M],{...W,changedData:re}}return W})}},T=S(()=>{var F;if(!((F=n.columnTypes)!=null&&F.length))return[];const x=[];x.push({colId:ut,headerName:Ha,field:ut,filter:!1,resizable:!0,editable:!1,sortable:!1,type:"indexColumn",headerComponentParams:{allowSorting:!1},pinned:"left",width:za});const R=new Set(n.primaryKeyColumns),P=new Set(n.foreignKeyColumns),G=new Map(n.foreignKeys.map(M=>[M.column,M]));return n.columnTypes.forEach(({name:M,type:B})=>{const L=M,ae=n.orderBy.columnName===L?n.orderBy.order:void 0,ue=R.has(L),se=P.has(L),k=G.get(L),q=n.isHaveRelationByFieldName(L),oe=ue&&q||se&&k,ve=["json","jsonb"].includes(B),pe={headerName:L,field:L,colId:L,filter:!1,resizable:!0,editable:!0,sortable:!1,type:"editableColumn",headerComponentParams:{allowSorting:!0,sort:ae,onUpdateSort:W=>{s("update:orderBy",W)},fieldId:L,isPrimaryKey:ue,isForeignKey:se},cellRenderer:oe?ms:void 0,cellRendererParams:{isPrimaryKey:oe,onOpenPreviewReverseTableModal:W=>{se&&k?s("onOpenForwardReferencedTableModal",{id:W,tableName:k.referenced_table,columnName:k.referenced_column,schemaName:k.referenced_table_schema}):s("onOpenBackReferencedTableModal",{id:W,columnName:L,tableName:n.currentTableName,schemaName:n.currentSchemaName})}},cellEditorSelector:W=>{if(ve)return{component:"AgJsonCellEditor",popup:!0,popupPosition:"under"}},valueFormatter:W=>{const re=W.value;return typeof re=="number"||typeof re=="bigint"?re.toString():re===null?"NULL":ve?JSON.stringify(re,null,2):re??""},valueSetter:W=>{if(n.isViewOnly)return!1;if(ve)try{const re=JSON.parse(W.newValue);return W.data[L]=re,!0}catch(re){return console.error(`Invalid JSON format in column ${L}:`,re),!1}else return W.data[L]=W.newValue,!0}};x.push(pe)}),x});function ee(x){const P=x.event.key;return["Backspace","Delete"].some(function(L){return L===P||P.toUpperCase()===L})}const le=E({headerComponent:gs,suppressKeyboardEvent:ee}),z=E({editableColumn:{cellStyle:x=>{const R=x.colDef.colId??"";if(!R||!n.data)return;const P=d(R??""),G=Number(x.node.id??x.node.rowIndex),F=n.data[G];if(F===void 0)return{backgroundColor:"var(--color-green-200)"};const M={},B=F[R],L=x.value;(B===null||L===null)&&(M.color="var(--muted-foreground)");let ae=!1;return P?ae=JSON.stringify(B)!==JSON.stringify(L):ae=B!==L,ae?(M.backgroundColor="var(--color-orange-200)",delete M.color):M.backgroundColor="unset",M},cellClass:x=>x.column.getColId()===n.selectedColumnFieldId?"col-highlight-cell cellCenter":"cellCenter"}}),ce=Pa();Te(ce,x=>{var R;(R=l.value)==null||R.updateGridOptions({theme:x})});const me=S(()=>({components:{AgJsonCellEditor:Da},paginationPageSize:f.value,rowBuffer:ya,rowClass:"class-row-border-none",getRowStyle:R=>{if((R.node.rowIndex||0)%2===0)return{background:"var(--muted)"}},rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1,enableSelectionWithoutKeys:!1,enableClickSelection:"enableSelection",copySelectedRows:!1},theme:ce.value,pagination:!1,undoRedoCellEditing:!0,undoRedoCellEditingLimit:25,animateRows:!0,onCellMouseDown:o,onCellMouseOver:h,defaultColDef:le.value,columnTypes:z.value})),$=()=>{if(l.value){const x=l.value.getSelectedRows();A(x)}},A=x=>{s("onSelectedRows",x)},Q=()=>{var R,P,G;const x=(R=l.value)==null?void 0:R.getFocusedCell();if(x){const F=(P=l.value)==null?void 0:P.getDisplayedRowAtIndex(x.rowIndex),M=x.column.getColId(),B=(G=F==null?void 0:F.data)==null?void 0:G[M];s("onFocusCell",B??void 0)}},ne=x=>{var R,P;(R=n.selectedRows)!=null&&R.length||(P=x==null?void 0:x.node)==null||P.setSelected(!0),u.value=x},Se=x=>{_.value=x};Te(()=>n.selectedColumnFieldId,async()=>{var x;await Le(),(x=l.value)==null||x.refreshCells({force:!0})},{flush:"post"});const ye=()=>{if(!l.value)return;const x=l.value.getAllGridColumns()||[],R=(n.data||[]).slice(0,10),P=Ma({columns:x,rows:R}),G=new Set(n.primaryKeyColumns),F=new Set(n.foreignKeyColumns);l.value.updateGridOptions({columnDefs:x.map(M=>{const B=M.getColDef().field,L=G.has(B),ae=F.has(B),se=L||ae?Qa:0;return{...M.getColDef(),width:P[B]+se}})})};return t({gridApi:l,editedCells:C,columnDefs:T,cellContextMenu:u,cellHeaderContextMenu:_,clearCellContextMenu:()=>{u.value=void 0,_.value=void 0}}),Nn(async()=>{var F,M,B;if(!l.value)return;await Le();const x=l.value.getState(),R=document.querySelector(".ag-body-viewport");R&&(R.scrollTop=((F=x.scroll)==null?void 0:F.top)||0);const P=((M=l.value)==null?void 0:M.getAllGridColumns())||[];let G=0;for(const L of P){if(G>=(((B=x.scroll)==null?void 0:B.left)||0)){l.value.ensureColumnVisible(L.getColId(),"start");break}G+=L.getActualWidth()}}),(x,R)=>(b(),D(e(Fa),{onSelectionChanged:$,onCellValueChanged:w,onGridReady:e(r),onCellFocused:Q,onRowDataUpdated:ye,onCellContextMenu:ne,onColumnHeaderContextMenu:Se,class:Ee(n.class),"grid-options":e(me),columnDefs:e(T),rowData:e(i),ref_key:"agGridRef",ref:g},null,8,["onGridReady","class","grid-options","columnDefs","rowData"]))}}),ze=320,_n=34,bs=24,Xe=y=>y<=0?_n:Math.min(ze,_n+y*bs),_s={class:"relative"},ws={key:0,class:"p-2"},Cs={key:2,class:"flex items-center justify-center py-6"},Ss=X({__name:"IndexesTab",props:{schema:{},tableName:{},connectionId:{}},setup(y){const t=y,c=["index_name","method","is_unique","is_primary","definition"],n=We(),s=S(()=>`${t.schema}.${t.tableName}`),f=E(null),l=Re(),r=S(()=>t.connectionId?l.connections.find(o=>o.id===t.connectionId):l.selectedConnection),{data:g,status:u}=Ce("/api/tables/indexes",{method:"POST",body:S(()=>({..._e(r.value),schema:t.schema,table:t.tableName})),key:`indexes-${s.value}`,getCachedData:()=>{const o=n.indexesMap[s.value];return o!=null&&o.length?o:void 0},onResponse({response:o}){o._data&&(n.indexesMap[s.value]=o._data)},onResponseError({response:o}){var m;f.value=((m=o._data)==null?void 0:m.message)||"Failed to load indexes"}},"$NyxkuxC1vx"),_=S(()=>(g.value||[]).map(o=>({index_name:o.indexName,method:o.method,is_unique:o.isUnique,is_primary:o.isPrimary,definition:o.definition}))),C=S(()=>_.value.length>0?Ye(_.value):Je(c)),i=S(()=>`${Xe(_.value.length)}px`),h=()=>{f.value=null,Ve(`indexes-${s.value}`)};return(o,m)=>{const d=$e,w=Ue;return b(),N("div",_s,[a(d,{visible:e(u)==="pending"},null,8,["visible"]),e(f)?(b(),N("div",ws,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(f)),1),a(e(we),{variant:"outline",size:"xs",onClick:h},{default:p(()=>m[0]||(m[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(b(),N("div",{key:1,style:Ae({maxHeight:`${e(ze)}px`,height:e(i)})},[a(e(Ge),{columns:e(C),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(u)!=="pending"?(b(),N("div",Cs,[a(w,{title:"No Indexes",desc:"This table has no indexes."})])):U("",!0)])}}}),xs={class:"relative"},Ns={key:0,class:"p-2"},Ts={key:1,class:"flex items-center justify-center py-3"},Rs=X({__name:"RlsTab",props:{schema:{},tableName:{},connectionId:{}},setup(y){const t=y,c=["policy_name","permissive","command","roles","using_expression","with_check_expression"],n=We(),s=S(()=>`${t.schema}.${t.tableName}`),f=E(null),l=Re(),r=S(()=>t.connectionId?l.connections.find(m=>m.id===t.connectionId):l.selectedConnection),{data:g,status:u}=Ce("/api/tables/rls",{method:"POST",body:S(()=>({..._e(r.value),schema:t.schema,table:t.tableName})),key:`rls-${s.value}`,getCachedData:()=>{const m=n.rlsMap[s.value];if(m!=null&&m.length)return{enabled:!0,policies:m}},onResponse({response:m}){var d;(d=m._data)!=null&&d.policies&&(n.rlsMap[s.value]=m._data.policies)},onResponseError({response:m}){var d;f.value=((d=m._data)==null?void 0:d.message)||"Failed to load RLS policies"}},"$EinB8Z7zho"),_=m=>{if(Array.isArray(m))return m.map(T=>String(T));if(typeof m!="string")return[];const d=m.trim();if(!d)return[];const w=d.startsWith("{")&&d.endsWith("}")?d.slice(1,-1):d;return w?w.split(",").map(T=>T.trim().replace(/^"|"$/g,"")).filter(Boolean):[]},C=S(()=>{var m;return(((m=g.value)==null?void 0:m.policies)||[]).map(d=>({policy_name:d.policyName,permissive:d.permissive,command:d.command,roles:_(d.roles).join(", ")||"—",using_expression:d.usingExpression||"—",with_check_expression:d.withCheckExpression||"—"}))}),i=S(()=>C.value.length>0?Ye(C.value):Je(c)),h=S(()=>`${Xe(C.value.length)}px`),o=()=>{f.value=null,Ve(`rls-${s.value}`)};return(m,d)=>{const w=$e,T=Ue;return b(),N("div",xs,[a(w,{visible:e(u)==="pending"},null,8,["visible"]),e(f)?(b(),N("div",Ns,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(f)),1),a(e(we),{variant:"outline",size:"xs",onClick:o},{default:p(()=>d[0]||(d[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(g)?(b(),N(fe,{key:1},[e(C).length?(b(),N("div",{key:0,style:Ae({maxHeight:`${e(ze)}px`,height:e(h)})},[a(e(Ge),{columns:e(i),data:e(C),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(u)!=="pending"?(b(),N("div",Ts,[a(T,{title:"No Policies",desc:"No RLS policies are defined for this table."})])):U("",!0)],64)):U("",!0)])}}}),$s={class:"relative"},Is={key:0,class:"p-2"},ks={key:2,class:"flex items-center justify-center py-3"},Os=X({__name:"RulesTab",props:{schema:{},tableName:{},connectionId:{}},setup(y){const t=y,c=["rule_name","event","action_type","definition"],n=We(),s=S(()=>`${t.schema}.${t.tableName}`),f=E(null),l=Re(),r=S(()=>t.connectionId?l.connections.find(o=>o.id===t.connectionId):l.selectedConnection),{data:g,status:u}=Ce("/api/tables/rules",{method:"POST",body:S(()=>({..._e(r.value),schema:t.schema,table:t.tableName})),key:`rules-${s.value}`,getCachedData:()=>{const o=n.rulesMap[s.value];return o!=null&&o.length?o:void 0},onResponse({response:o}){o._data&&(n.rulesMap[s.value]=o._data)},onResponseError({response:o}){var m;f.value=((m=o._data)==null?void 0:m.message)||"Failed to load rules"}},"$u5D1mSLK0A"),_=S(()=>(g.value||[]).map(o=>({rule_name:o.ruleName,event:o.event,action_type:o.actionType,definition:o.definition}))),C=S(()=>_.value.length>0?Ye(_.value):Je(c)),i=S(()=>`${Xe(_.value.length)}px`),h=()=>{f.value=null,Ve(`rules-${s.value}`)};return(o,m)=>{const d=$e,w=Ue;return b(),N("div",$s,[a(d,{visible:e(u)==="pending"},null,8,["visible"]),e(f)?(b(),N("div",Is,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(f)),1),a(e(we),{variant:"outline",size:"xs",onClick:h},{default:p(()=>m[0]||(m[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(b(),N("div",{key:1,style:Ae({maxHeight:`${e(ze)}px`,height:e(i)})},[a(e(Ge),{columns:e(C),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(u)!=="pending"?(b(),N("div",ks,[a(w,{title:"No Rules",desc:"This table has no rewrite rules."})])):U("",!0)])}}}),Es={class:"rounded-md border p-2.5"},As={key:0,class:"p-2"},Ps={key:1,class:"space-y-1.5"},Ds={class:"flex items-center gap-1 flex-wrap"},Fs={class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},Ms={class:"text-[11px] font-mono leading-none text-foreground"},Bs={class:"flex flex-wrap gap-1"},Ls={class:"text-[10px] text-muted-foreground"},Us=X({__name:"TableMetaInfo",props:{schema:{},tableName:{},connectionId:{}},setup(y){const t=y,c={table:"Table",partitioned:"Partitioned Table",foreign:"Foreign Table"},n=E(null),s=S(()=>`${t.schema}.${t.tableName}`),f=Re(),l=S(()=>t.connectionId?f.connections.find(i=>i.id===t.connectionId):f.selectedConnection),{data:r,status:g}=Ce("/api/tables/meta",{method:"POST",body:S(()=>({..._e(l.value),schema:t.schema,tableName:t.tableName})),key:`table-meta-${s.value}`,onResponseError({response:i}){var h;n.value=((h=i._data)==null?void 0:h.message)||"Failed to load table metadata"}},"$AYAykbrhiy"),u=S(()=>{var h;const i=(h=r.value)==null?void 0:h.type;return i?c[i]??i:"Unknown"}),_=S(()=>{var i,h,o,m,d;return[{label:"Rows",value:((h=(i=r.value)==null?void 0:i.rowEstimate)==null?void 0:h.toLocaleString())??"—",mono:!0},{label:"Total",value:((o=r.value)==null?void 0:o.totalSize)||"—"},{label:"Table",value:((m=r.value)==null?void 0:m.tableSize)||"—"},{label:"Index",value:((d=r.value)==null?void 0:d.indexSize)||"—"}]}),C=()=>{n.value=null,Ve(`table-meta-${s.value}`)};return(i,h)=>{const o=$e;return b(),N("div",Es,[a(o,{visible:e(g)==="pending"},null,8,["visible"]),e(n)?(b(),N("div",As,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(n)),1),a(e(we),{variant:"outline",size:"xs",onClick:C},{default:p(()=>h[0]||(h[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(r)?(b(),N("div",Ps,[v("div",Ds,[a(e(St),{variant:"secondary",class:"h-5 px-1.5 text-[10px]"},{default:p(()=>[O(V(e(u)),1)]),_:1}),v("span",Fs,[h[1]||(h[1]=v("span",{class:"text-[10px] text-muted-foreground"}," Owner ",-1)),v("span",Ms,V(e(r).owner||"—"),1)])]),v("div",Bs,[(b(!0),N(fe,null,Pe(e(_),m=>(b(),N("div",{key:m.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[v("span",Ls,V(m.label),1),v("span",{class:Ee(["text-[11px] leading-none text-foreground",m.mono?"font-mono":"font-medium"])},V(m.value),3)]))),128))])])):U("",!0)])}}}),Vs={class:"relative"},Ks={key:0,class:"p-2"},js={key:2,class:"flex items-center justify-center py-3"},zs=X({__name:"TriggersTab",props:{schema:{},tableName:{},connectionId:{}},setup(y){const t=y,c=["trigger_name","enabled","timing","events","orientation","definition"],n=We(),s=S(()=>`${t.schema}.${t.tableName}`),f=E(null),l=Re(),r=S(()=>t.connectionId?l.connections.find(o=>o.id===t.connectionId):l.selectedConnection),{data:g,status:u}=Ce("/api/tables/triggers",{method:"POST",body:S(()=>({..._e(r.value),schema:t.schema,table:t.tableName})),key:`triggers-${s.value}`,getCachedData:()=>{const o=n.triggersMap[s.value];return o!=null&&o.length?o:void 0},onResponse({response:o}){o._data&&(n.triggersMap[s.value]=o._data)},onResponseError({response:o}){var m;f.value=((m=o._data)==null?void 0:m.message)||"Failed to load triggers"}},"$S3QU21QNI4"),_=S(()=>(g.value||[]).map(o=>{var m;return{trigger_name:o.triggerName,enabled:o.enabled?"Enabled":"Disabled",timing:o.timing,events:((m=o.events)==null?void 0:m.join(", "))||"—",orientation:o.orientation,definition:o.definition}})),C=S(()=>_.value.length>0?Ye(_.value):Je(c)),i=S(()=>`${Xe(_.value.length)}px`),h=()=>{f.value=null,Ve(`triggers-${s.value}`)};return(o,m)=>{const d=$e,w=Ue;return b(),N("div",Vs,[a(d,{visible:e(u)==="pending"},null,8,["visible"]),e(f)?(b(),N("div",Ks,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(f)),1),a(e(we),{variant:"outline",size:"xs",onClick:h},{default:p(()=>m[0]||(m[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(_).length?(b(),N("div",{key:1,style:Ae({maxHeight:`${e(ze)}px`,height:e(i)})},[a(e(Ge),{columns:e(C),data:e(_),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(u)!=="pending"?(b(),N("div",js,[a(w,{title:"No Triggers",desc:"This table has no triggers."})])):U("",!0)])}}}),Hs={class:"relative"},Qs={key:0,class:"p-2"},qs={key:2,class:"flex items-center justify-center py-6"},Ws=X({__name:"ViewDependencies",props:{schema:{},viewName:{},connectionId:{}},setup(y){const t=y,c=["depends_on"],n=E(null),s=S(()=>`${t.schema}.${t.viewName}`),f=Re(),l=S(()=>t.connectionId?f.connections.find(h=>h.id===t.connectionId):f.selectedConnection),{data:r,status:g}=Ce("/api/views/dependencies",{method:"POST",body:S(()=>({..._e(l.value),schema:t.schema,viewName:t.viewName})),key:`view-deps-${s.value}`,onResponseError({response:h}){var o;n.value=((o=h._data)==null?void 0:o.message)||"Failed to load dependencies"}},"$jEYg_hmjWR"),u=S(()=>(r.value||[]).map(h=>({depends_on:h.dependsOn}))),_=S(()=>u.value.length>0?Ye(u.value):Je(c)),C=S(()=>`${Xe(u.value.length)}px`),i=()=>{n.value=null,Ve(`view-deps-${s.value}`)};return(h,o)=>{const m=$e,d=Ue;return b(),N("div",Hs,[a(m,{visible:e(g)==="pending"},null,8,["visible"]),e(n)?(b(),N("div",Qs,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(n)),1),a(e(we),{variant:"outline",size:"xs",onClick:i},{default:p(()=>o[0]||(o[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(u).length?(b(),N("div",{key:1,style:Ae({maxHeight:`${e(ze)}px`,height:e(C)})},[a(e(Ge),{columns:e(_),data:e(u),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(g)!=="pending"?(b(),N("div",qs,[a(d,{title:"No Dependencies",desc:"This view has no upstream dependencies."})])):U("",!0)])}}}),Gs={class:"relative"},Ys={key:0,class:"p-2"},Js={key:2,class:"flex items-center justify-center py-6"},Xs=X({__name:"ViewIndexesTab",props:{schema:{},viewName:{},connectionId:{}},setup(y){const t=y,c=["index_name","method","is_unique","definition"],n=E(null),s=S(()=>`${t.schema}.${t.viewName}`),f=Re(),l=S(()=>t.connectionId?f.connections.find(h=>h.id===t.connectionId):f.selectedConnection),{data:r,status:g}=Ce("/api/views/indexes",{method:"POST",body:S(()=>({..._e(l.value),schema:t.schema,viewName:t.viewName})),key:`view-indexes-${s.value}`,onResponseError({response:h}){var o;n.value=((o=h._data)==null?void 0:o.message)||"Failed to load indexes"}},"$44YnrMDjVX"),u=S(()=>(r.value||[]).map(h=>({index_name:h.indexName,method:h.method,is_unique:h.isUnique,definition:h.definition}))),_=S(()=>u.value.length>0?Ye(u.value):Je(c)),C=S(()=>`${Xe(u.value.length)}px`),i=()=>{n.value=null,Ve(`view-indexes-${s.value}`)};return(h,o)=>{const m=$e,d=Ue;return b(),N("div",Gs,[a(m,{visible:e(g)==="pending"},null,8,["visible"]),e(n)?(b(),N("div",Ys,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(n)),1),a(e(we),{variant:"outline",size:"xs",onClick:i},{default:p(()=>o[0]||(o[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(u).length?(b(),N("div",{key:1,style:Ae({maxHeight:`${e(ze)}px`,height:e(C)})},[a(e(Ge),{columns:e(_),data:e(u),class:"h-full",columnKeyBy:"field"},null,8,["columns","data"])],4)):e(g)!=="pending"?(b(),N("div",Js,[a(d,{title:"No Indexes",desc:"This materialized view has no indexes."})])):U("",!0)])}}}),Zs={class:"rounded-md border p-2.5 relative"},el={key:0,class:"p-2"},tl={key:1,class:"space-y-1.5"},nl={class:"flex items-center gap-1 flex-wrap"},al={key:0,class:"flex flex-wrap gap-1"},ol={class:"text-[10px] text-muted-foreground"},sl=X({__name:"ViewMetaInfo",props:{schema:{},viewName:{},connectionId:{}},setup(y){const t=y,c=We(),n=S(()=>`${t.schema}.${t.viewName}`),s=E(null),f=Re(),l=S(()=>t.connectionId?f.connections.find(o=>o.id===t.connectionId):f.selectedConnection),{data:r,status:g}=Ce("/api/views/meta",{method:"POST",body:S(()=>({..._e(l.value),schema:t.schema,viewName:t.viewName})),key:`view-meta-${n.value}`,getCachedData:()=>c.viewMetaMap[n.value]??void 0,onResponse({response:o}){o._data&&(c.viewMetaMap[n.value]=o._data)},onResponseError({response:o}){var m;s.value=((m=o._data)==null?void 0:m.message)||"Failed to load view metadata"}},"$pLysS3IkaY"),u=S(()=>{var o;return((o=r.value)==null?void 0:o.type)==="materialized"}),_=S(()=>u.value?"Materialized View":"Normal View"),C=S(()=>{var o,m,d,w;return u.value?{variant:(d=r.value)!=null&&d.isPopulated?"default":"destructive",label:`Populated: ${(w=r.value)!=null&&w.isPopulated?"Yes":"No"}`}:{variant:(o=r.value)!=null&&o.isUpdatable?"default":"outline",label:`Updatable: ${(m=r.value)!=null&&m.isUpdatable?"Yes":"No"}`}}),i=S(()=>{var o,m,d,w,T;return u.value?[{label:"Rows",value:((m=(o=r.value)==null?void 0:o.rowEstimate)==null?void 0:m.toLocaleString())??"—",mono:!0},{label:"Total",value:((d=r.value)==null?void 0:d.totalSize)??"—"},{label:"Table",value:((w=r.value)==null?void 0:w.tableSize)??"—"},{label:"Index",value:((T=r.value)==null?void 0:T.indexSize)??"—"}]:[]}),h=()=>{s.value=null,Ve(`view-meta-${n.value}`)};return(o,m)=>{const d=$e;return b(),N("div",Zs,[a(d,{visible:e(g)==="pending"},null,8,["visible"]),e(s)?(b(),N("div",el,[a(e(Ke),{variant:"destructive"},{default:p(()=>[a(e(je),{class:"flex items-center justify-between gap-2"},{default:p(()=>[v("span",null,V(e(s)),1),a(e(we),{variant:"outline",size:"xs",onClick:h},{default:p(()=>m[0]||(m[0]=[O("Retry")])),_:1})]),_:1})]),_:1})])):e(r)?(b(),N("div",tl,[v("div",nl,[a(e(St),{variant:"secondary",class:"h-5 px-1.5 text-[10px]"},{default:p(()=>[O(V(e(_)),1)]),_:1}),a(e(St),{variant:e(C).variant,class:"h-5 px-1.5 text-[10px]"},{default:p(()=>[O(V(e(C).label),1)]),_:1},8,["variant"])]),e(i).length?(b(),N("div",al,[(b(!0),N(fe,null,Pe(e(i),w=>(b(),N("div",{key:w.label,class:"inline-flex items-center gap-1 rounded-md border bg-muted/20 px-1.5 py-0.5"},[v("span",ol,V(w.label),1),v("span",{class:Ee(["text-[11px] leading-none text-foreground",w.mono?"font-mono":"font-medium"])},V(w.value),3)]))),128))])):U("",!0)])):U("",!0)])}}}),ll=X({__name:"VirtualTableDefinition",props:{schema:{},connectionId:{},viewName:{},viewId:{}},setup(y){const t=y,c=Re(),n=S(()=>t.connectionId?c.connections.find(r=>r.id===t.connectionId):c.selectedConnection),{data:s,status:f}=Ce("/api/views/definition",{method:"POST",body:S(()=>({..._e(n.value),viewId:t.viewId,schemaName:t.schema,viewName:t.viewName})),key:`${t.schema}.${t.viewId}`},"$ssZRsSgd3z"),l=S(()=>{var r;return(r=s.value)!=null&&r.definition?Ja(s.value.definition):""});return(r,g)=>{const u=$e,_=Pt,C=Ue;return b(),N("div",{key:`${t.viewId}-${t.viewName}-${t.schema}`,class:"relative"},[a(u,{visible:e(f)==="pending"},null,8,["visible"]),e(l)?(b(),D(_,{key:0,code:e(l),"show-copy-button":"","max-height":"24rem"},null,8,["code"])):e(f)!=="pending"?(b(),D(C,{key:1,title:"No Definition",desc:"No SQL definition is available for this view."})):U("",!0)])}}}),rl={class:"h-full overflow-y-auto p-1.5"},il={class:"space-y-3 pb-2"},cl={key:0,class:"space-y-1"},ul={key:1,class:"space-y-1"},dl={class:"space-y-1"},ml={class:"space-y-1"},pl={class:"rounded-md border"},fl={class:"space-y-1"},vl={class:"flex items-center gap-2"},yl={class:"rounded-md border"},hl={class:"space-y-1"},gl={class:"rounded-md border"},bl={class:"space-y-1"},_l={class:"rounded-md border"},wl={key:0,class:"space-y-1"},Cl={key:1,class:"space-y-1"},Sl={class:"rounded-md border"},xl={class:"space-y-1"},Nl={class:"rounded-md border"},ea=X({__name:"StructureTable",props:{schema:{},tableName:{},connectionId:{},isVirtualTable:{type:Boolean},virtualTableId:{}},setup(y){const t=y,c=["column_name","data_type","is_nullable","default_value","foreign_keys","on_update","on_delete","column_comment"],n=Re(),s=S(()=>t.connectionId?n.connections.find(o=>o.id===t.connectionId):n.selectedConnection),{data:f,status:l}=Ce("/api/tables/structure",{method:"POST",body:S(()=>({..._e(s.value),schema:t.schema,tableName:t.tableName})),key:`${t.schema}.${t.tableName}`},"$ALIsatagCk"),r=S(()=>{const o=f.value||[];return o.length>0?Ye(o):Je(c)}),g=We(),u=S(()=>`${t.schema}.${t.tableName}`),{data:_}=Ce("/api/tables/rls",{method:"POST",body:S(()=>({..._e(s.value),schema:t.schema,table:t.tableName})),key:`rls-${u.value}`,immediate:!t.isVirtualTable},"$SfWGG2Nw15"),{data:C}=Ce("/api/views/meta",{method:"POST",body:S(()=>({..._e(s.value),schema:t.schema,viewName:t.tableName})),key:`view-meta-struct-${u.value}`,immediate:!!t.isVirtualTable,getCachedData:()=>{if(t.isVirtualTable)return g.viewMetaMap[u.value]},onResponse({response:o}){o._data&&t.isVirtualTable&&(g.viewMetaMap[u.value]=o._data)}},"$Et5thcVWGM"),i=S(()=>{var o;return((o=C.value)==null?void 0:o.type)==="materialized"}),h=S(()=>{const o=(f.value||[]).length;return`${Xe(o)}px`});return(o,m)=>{const d=$e;return b(),N("div",rl,[v("div",il,[o.isVirtualTable?(b(),N("section",ul,[m[1]||(m[1]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Meta Info"),v("p",{class:"text-xs text-muted-foreground"}," View type and storage metadata ")],-1)),a(sl,{connectionId:o.connectionId,schema:o.schema,viewName:o.tableName},null,8,["connectionId","schema","viewName"])])):(b(),N("section",cl,[m[0]||(m[0]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Meta Info"),v("p",{class:"text-xs text-muted-foreground"}," Table type and storage metadata ")],-1)),a(Us,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])),v("section",dl,[m[2]||(m[2]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Columns"),v("p",{class:"text-xs text-muted-foreground"}," Table column structure and constraints ")],-1)),v("div",{class:"relative",style:Ae({maxHeight:`${e(ze)}px`,height:e(h)})},[a(d,{visible:e(l)==="pending"},null,8,["visible"]),a(e(Ge),{columns:e(r),data:e(f)||[],class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),o.isVirtualTable?(b(),N(fe,{key:3},[o.virtualTableId?(b(),N("section",wl,[m[8]||(m[8]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Definition"),v("p",{class:"text-xs text-muted-foreground"},"View SQL definition")],-1)),a(ll,{connectionId:o.connectionId,schema:o.schema,viewName:o.tableName,viewId:o.virtualTableId},null,8,["connectionId","schema","viewName","viewId"])])):U("",!0),e(i)?(b(),N("section",Cl,[m[9]||(m[9]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Indexes"),v("p",{class:"text-xs text-muted-foreground"}," Indexes on materialized view ")],-1)),v("div",Sl,[a(Xs,{schema:o.schema,viewName:o.tableName,connectionId:o.connectionId},null,8,["schema","viewName","connectionId"])])])):U("",!0),v("section",xl,[m[10]||(m[10]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Dependencies"),v("p",{class:"text-xs text-muted-foreground"}," Objects referenced by this view ")],-1)),v("div",Nl,[a(Ws,{schema:o.schema,viewName:o.tableName,connectionId:o.connectionId},null,8,["schema","viewName","connectionId"])])])],64)):(b(),N(fe,{key:2},[v("section",ml,[m[3]||(m[3]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Indexes"),v("p",{class:"text-xs text-muted-foreground"}," Available indexes and definitions ")],-1)),v("div",pl,[a(Ss,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])]),v("section",fl,[v("div",null,[v("div",vl,[m[4]||(m[4]=v("h3",{class:"text-sm font-medium"},"RLS",-1)),e(_)?(b(),D(e(St),{key:0,variant:e(_).enabled?"default":"secondary",class:"h-5 px-1.5 text-[10px]"},{default:p(()=>[O(V(e(_).enabled?"Enabled":"Disabled"),1)]),_:1},8,["variant"])):U("",!0)]),m[5]||(m[5]=v("p",{class:"text-xs text-muted-foreground"}," Row-level security status and policies ",-1))]),v("div",yl,[a(Rs,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])]),v("section",hl,[m[6]||(m[6]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Rules"),v("p",{class:"text-xs text-muted-foreground"}," Rewrite rules configured on this table ")],-1)),v("div",gl,[a(Os,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])]),v("section",bl,[m[7]||(m[7]=v("div",null,[v("h3",{class:"text-sm font-medium"},"Triggers"),v("p",{class:"text-xs text-muted-foreground"}," Trigger status and trigger definitions ")],-1)),v("div",_l,[a(zs,{schema:o.schema,tableName:o.tableName,connectionId:o.connectionId},null,8,["schema","tableName","connectionId"])])])],64))])])}}}),Tl={class:"px-2"},Rl={class:"px-2"},$l={class:"flex-1 overflow-hidden px-2 mb-0.5"},Il={key:1,class:"h-full"},ta=X({__name:"ReferencedTable",props:{tableName:{},schemaName:{},initFilters:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(y,{emit:t}){const c=y,n=E(),s=t,{quickQueryFilterRef:f,quickQueryTableRef:l,selectedRows:r,focusedCell:g}=Qn(),u=Tt(),_=Re(),{onRequestSafeModeConfirm:C,onSafeModeCancel:i,onSafeModeConfirm:h,safeModeDialogOpen:o,safeModeDialogSql:m,safeModeDialogType:d}=Gn(),w=S(()=>_.connections.find(J=>J.id===c.connectionId)),{columnNames:T,foreignKeys:ee,primaryKeyColumns:le,tableMetaData:z,columnTypes:ce,foreignKeyColumns:me}=Wn({tableName:c.tableName,schemaName:c.schemaName,connectionId:c.connectionId,tabViewType:_t.TableDetail}),{onApplyNewFilter:$,data:A,baseQueryString:Q,refreshTableData:ne,refreshCount:Se,isAllowNextPage:ye,isAllowPreviousPage:I,onNextPage:x,onPreviousPage:R,onUpdatePagination:P,totalRows:G,pagination:F,errorMessage:M,openErrorModal:B,orderBy:L,onUpdateOrderBy:ae,addHistoryLog:ue,filters:se,isShowFilters:k,composeWith:q,onChangeComposeWith:oe,isFetchingTableData:ve}=Hn({connection:w,primaryKeys:le,columns:T,connectionId:S(()=>c.connectionId),workspaceId:S(()=>c.workspaceId),tableName:c.tableName,schemaName:c.schemaName,isPersist:!1,initFilters:(c==null?void 0:c.initFilters)||[],initComposeWith:dt.OR});Te(z,J=>{J&&(se.value=(c==null?void 0:c.initFilters)||[],Se(),ne())},{deep:!0,immediate:!0});const{isMutating:pe,onAddEmptyRow:W,onDeleteRows:re,onSaveData:Ze,hasEditedRows:et,onCopyRows:ot,onPasteRows:st,onRefresh:pt,onSelectedRowsChange:ft,onCopySelectedCell:lt,onFocusedCellChange:Rt,onDeselectAll:vt}=qn({tableName:c.tableName,schemaName:c.schemaName,primaryKeys:le,refreshTableData:ne,columnNames:T,data:A,addHistoryLog:ue,errorMessage:M,openErrorModal:B,selectedRows:r,pagination:F,quickQueryTableRef:l,refreshCount:Se,focusedCell:g,connection:w,safeModeEnabled:wt(u,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:C}),De=E(te.Data),$t=async()=>{var Z,Fe,Me;const J=(Z=l.value)==null?void 0:Z.cellContextMenu;if(J){const ie=J.colDef.field||"",It=J.value,ht={fieldName:ie,isSelect:!0,operator:Y.EQUAL,search:It};(Fe=f.value)==null||Fe.insert(se.value.length,ht),(Me=f==null?void 0:f.value)==null||Me.onShowSearch(),se.value.push(ht),$()}},{isHaveRelationByFieldName:yt}=Yt({schemaName:c.schemaName,tableName:c.tableName}),rt=E({[te.Data]:!0,[te.Structure]:!1,[te.Erd]:!1});return Te(De,J=>{rt.value[J]=!0}),mt([{key:"meta+a",callback:()=>{var J,Z;(Z=(J=l.value)==null?void 0:J.gridApi)==null||Z.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{lt()},excludeInput:!0},{key:"meta+v",callback:()=>st(),excludeInput:!0},{key:"meta+s",callback:()=>Ze(),isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{re()},isPreventDefault:!0}],{target:n}),(J,Z)=>{var Fe,Me;return b(),N(fe,null,[a(An,{open:e(B),"onUpdate:open":Z[0]||(Z[0]=ie=>Oe(B)?B.value=ie:null),message:e(M)||""},null,8,["open","message"]),a(Dn,{open:e(o),"onUpdate:open":Z[1]||(Z[1]=ie=>Oe(o)?o.value=ie:null),sql:e(m),type:e(d),onConfirm:e(h),onCancel:e(i)},null,8,["open","sql","type","onConfirm","onCancel"]),v("div",{ref_key:"containerRef",ref:n,class:"flex flex-col h-full w-full relative",tabindex:"0"},[a(e($e),{visible:e(pe)||e(ve)},null,8,["visible"]),v("div",Tl,[a(Yn,{"total-selected-rows":(Fe=e(r))==null?void 0:Fe.length,isAllowNextPage:e(ye),isAllowPreviousPage:e(I),totalRows:e(G),limit:e(F).limit,currentTotalRows:((Me=e(A))==null?void 0:Me.length)||0,offset:e(F).offset,"has-edited-rows":e(et),onOnPaginate:e(P),onOnNextPage:e(x),onOnPreviousPage:e(R),onOnRefresh:e(pt),onOnSaveData:e(Ze),onOnDeleteRows:e(re),onOnAddEmptyRow:e(W),onOnShowFilter:Z[2]||(Z[2]=async()=>{var ie;await((ie=e(f))==null?void 0:ie.onShowSearch())}),tabView:e(De),"onUpdate:tabView":Z[3]||(Z[3]=ie=>Oe(De)?De.value=ie:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","tabView"])]),v("div",Rl,[e(De)===e(te).Data?(b(),D(Jn,{key:0,ref_key:"quickQueryFilterRef",ref:f,onOnSearch:Z[4]||(Z[4]=()=>{e($)()}),onOnUpdateFilters:Z[5]||(Z[5]=ie=>{se.value=ie}),isShowFilters:e(k),"onUpdate:isShowFilters":Z[6]||(Z[6]=ie=>Oe(k)?k.value=ie:null),initFilters:e(se),baseQuery:e(Q),columns:e(T),dbType:e(qe).POSTGRES,composeWith:e(q),onOnChangeComposeWith:e(oe)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):U("",!0)]),v("div",$l,[e(rt)[e(te).Erd]?Be((b(),D(Pn,{key:0,tableId:e(Tn)({tableName:J.tableName,schemaName:J.schemaName})},null,8,["tableId"])),[[Qe,e(De)===e(te).Erd]]):U("",!0),e(rt)[e(te).Structure]?Be((b(),N("div",Il,[a(ea,{schema:J.schemaName,tableName:J.tableName,connectionId:J.connectionId},null,8,["schema","tableName","connectionId"])],512)),[[Qe,e(De)===e(te).Structure]]):U("",!0),Be(a(Xn,{"total-selected-rows":e(r).length,"has-edited-rows":e(et),selectedRows:e(r),"table-name":J.tableName,"schema-name":J.schemaName,isReferencedTable:"",onOnPaginate:e(P),onOnNextPage:e(x),onOnPreviousPage:e(R),onOnRefresh:e(pt),onOnSaveData:e(Ze),onOnDeleteRows:e(re),onOnAddEmptyRow:e(W),onOnFilterByValue:$t,onOnCopyRows:e(ot),onOnPasteRows:e(st),onOnCopySelectedCell:e(lt)},{default:p(()=>[a(Zn,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:l,"selected-rows":e(r),data:e(A)||[],orderBy:e(L),onOnSelectedRows:e(ft),"onUpdate:orderBy":e(ae),onOnOpenBackReferencedTableModal:Z[7]||(Z[7]=ie=>s("onOpenBackReferencedTableModal",ie)),onOnOpenForwardReferencedTableModal:Z[8]||(Z[8]=ie=>s("onOpenForwardReferencedTableModal",ie)),isHaveRelationByFieldName:e(yt),foreignKeyColumns:e(me),foreignKeys:e(ee),primaryKeyColumns:e(le),columnTypes:e(ce),defaultPageSize:e(Nt),offset:e(F).offset,onOnFocusCell:e(Rt),"current-schema-name":J.schemaName,"current-table-name":J.tableName,onOnClickOutSide:e(vt)},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","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[Qe,e(De)===e(te).Data]])])],512)],64)}}}),kl={class:"flex justify-between items-center gap-2 w-full"},Ol={class:"relative w-full"},El={class:"flex flex-1"},Al=X({__name:"BackReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},selectedTab:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal","update:selectedTab"],setup(y,{emit:t}){const c=y,n=t,{reverseTables:s}=Yt({schemaName:c.schemaName,tableName:c.tableName}),f=E(""),l=S(()=>{var m;const i=new Map,h=rn((m=s.value)==null?void 0:m.used_by)||[];for(const d of h)d.referenced_column===c.columnName&&i.set(d.referencing_table,{table:d.referencing_table,schema:d.referencing_schema});let o=[...i.values()].sort((d,w)=>d.table.localeCompare(w.table));if(f.value){const d=f.value.toLowerCase();o=o.filter(w=>w.table.toLowerCase().includes(d))}return o});Cn(()=>{!c.selectedTab&&l.value.length>0&&n("update:selectedTab",l.value[0].table,l.value[0].schema)});const r=i=>{var m;if(!i)return[];const h=[],o=rn((m=s.value)==null?void 0:m.used_by)||[];for(const d of o)if(d.referencing_table===i){const w={fieldName:d.fk_column,operator:Y.EQUAL,search:c.recordId,isSelect:!0};h.push(w)}return h},g=i=>{const{schemaName:h,tableName:o}=C(i);n("update:selectedTab",o,h)},u=i=>{const h=i.target;h instanceof HTMLElement&&h.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},_=i=>`${i.schema}.${i.table}`,C=i=>{const[h,o]=i.split(".");return{schemaName:h,tableName:o}};return(i,h)=>{const o=Wt,m=qt,d=de,w=Qt;return b(),D(w,{"model-value":_({table:i.selectedTab||"",schema:i.schemaName}),"onUpdate:modelValue":h[4]||(h[4]=T=>g(T)),class:"flex-1 flex-wrap h-full w-full"},{default:p(()=>[v("div",kl,[a(m,{class:"overflow-x-auto w-full justify-start!"},{default:p(()=>[(b(!0),N(fe,null,Pe(e(l),T=>(b(),D(o,{class:"cursor-pointer font-normal! flex-none!",onClick:u,value:_(T),key:_(T)},{default:p(()=>[O(V(i.rootSchemaName===T.schema?null:`${T.schema}.`)+V(T.table),1)]),_:2},1032,["value"]))),128))]),_:1}),v("div",null,[v("div",Ol,[a(e(at),{type:"text",placeholder:"Search tables",class:"pr-6 w-48 h-8",modelValue:e(f),"onUpdate:modelValue":h[0]||(h[0]=T=>Oe(f)?f.value=T:null)},null,8,["modelValue"]),e(f)?(b(),N("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:h[1]||(h[1]=T=>f.value="")},[a(d,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):U("",!0)])])]),v("div",El,[(b(),D(Rn,null,[(b(),D(ta,{key:i.selectedTab,tableName:i.selectedTab||"","schema-name":i.schemaName,"init-filters":r(i.selectedTab),connectionId:c.connectionId,workspaceId:c.workspaceId,onOnOpenBackReferencedTableModal:h[2]||(h[2]=T=>n("onOpenBackReferencedTableModal",T)),onOnOpenForwardReferencedTableModal:h[3]||(h[3]=T=>n("onOpenForwardReferencedTableModal",T))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))],1024))])]),_:1},8,["model-value"])}}}),Pl={class:"flex flex-1"},Dl=X({__name:"ForwardReferencedTable",props:{tableName:{},schemaName:{},columnName:{},recordId:{},connectionId:{},workspaceId:{}},emits:["onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(y,{emit:t}){const c=y,n=t,s=()=>[{fieldName:c.columnName,operator:Y.EQUAL,search:c.recordId,isSelect:!0}];return(f,l)=>(b(),N("div",Pl,[(b(),D(ta,{key:e(xt)(),tableName:f.tableName,"schema-name":f.schemaName,"init-filters":s(),connectionId:c.connectionId,workspaceId:c.workspaceId,onOnOpenBackReferencedTableModal:l[0]||(l[0]=r=>n("onOpenBackReferencedTableModal",r)),onOnOpenForwardReferencedTableModal:l[1]||(l[1]=r=>n("onOpenForwardReferencedTableModal",r))},null,8,["tableName","schema-name","init-filters","connectionId","workspaceId"]))]))}}),Fl={class:"flex items-center"},Ml=X({__name:"PreviewRelationTable",props:{open:{type:Boolean},breadcrumbs:{},currentTableName:{},connectionId:{},workspaceId:{},rootSchemaName:{}},emits:["onBackPreviousBreadcrumbByIndex","onBackPreviousBreadcrumb","clearBreadcrumb","onUpdateSelectedTabInBreadcrumb","onOpenBackReferencedTableModal","onOpenForwardReferencedTableModal"],setup(y,{emit:t}){const c=t,n=y,s=S(()=>n.breadcrumbs.length?n.breadcrumbs[n.breadcrumbs.length-1]:null),f=(r,g)=>{c("onUpdateSelectedTabInBreadcrumb",n.breadcrumbs.length-1,r,g)},l=r=>r.type==="backReferenced"?n.rootSchemaName===r.schemaName?r.selectedTab:`${r.schemaName}.${r.selectedTab}`:`${r.schemaName}.${r.tableName}`;return(r,g)=>{const u=de,_=we,C=Sa,i=Ca,h=wa,o=_a,m=ba;return b(),D(e(ha),{open:r.open,"onUpdate:open":g[4]||(g[4]=d=>r.$emit("clearBreadcrumb"))},{default:p(()=>[a(e(ga),{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:p(()=>{var d;return[a(m,null,{default:p(()=>[a(o,null,{default:p(()=>[v("div",Fl,[a(_,{onClick:g[0]||(g[0]=w=>r.$emit("onBackPreviousBreadcrumb")),size:"iconMd",variant:"secondary"},{default:p(()=>[a(u,{name:"hugeicons:arrow-left-02",class:"size-4!"})]),_:1}),a(h,null,{default:p(()=>[a(i,{class:"gap-0.5!"},{default:p(()=>[a(e(cn),{class:"hover:cursor-pointer"},{default:p(()=>[a(e(mn),{onClick:g[1]||(g[1]=w=>c("clearBreadcrumb"))},{default:p(()=>[O(V(r.currentTableName),1)]),_:1})]),_:1}),a(C),(b(!0),N(fe,null,Pe(r.breadcrumbs,(w,T)=>(b(),N(fe,null,[a(e(cn),{class:Ee([T!==r.breadcrumbs.length-1&&"hover:cursor-pointer"])},{default:p(()=>[T===r.breadcrumbs.length-1?(b(),D(e(xa),{key:0},{default:p(()=>[O(V(l(w)),1)]),_:2},1024)):(b(),D(e(mn),{key:1,onClick:ee=>c("onBackPreviousBreadcrumbByIndex",T)},{default:p(()=>[O(V(l(w)),1)]),_:2},1032,["onClick"]))]),_:2},1032,["class"]),T<r.breadcrumbs.length-1?(b(),D(C,{key:0})):U("",!0)],64))),256))]),_:1})]),_:1})])]),_:1})]),_:1}),(b(),D(Rn,null,[e(s)?(b(),D(Na(((d=e(s))==null?void 0:d.type)==="backReferenced"?Al:Dl),Ta({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:g[2]||(g[2]=w=>c("onOpenBackReferencedTableModal",w)),onOnOpenForwardReferencedTableModal:g[3]||(g[3]=w=>c("onOpenForwardReferencedTableModal",w)),"onUpdate:selectedTab":f}),null,16)):U("",!0)],1024))]}),_:1})]),_:1},8,["open"])}}}),Bl=["innerHTML"],Ll=X({__name:"QuickQueryHistoryLogItem",props:{log:{},highlighter:{}},setup(y){const t=y,c=E("");return Te([()=>t.log,()=>t.highlighter],async()=>{const n=(t.log||"").trim();t.highlighter&&(c.value=t.highlighter.codeToHtml(n,{lang:"plsql",theme:"catppuccin-latte"}))},{immediate:!0}),(n,s)=>(b(),N("div",{class:"[&_code]:text-wrap w-full [&>.catppuccin-latte]:bg-background!",innerHTML:c.value},null,8,Bl))}}),Ul={class:"flex flex-1 flex-col h-full"},Vl={class:"flex flex-1 h-full items-center justify-between"},Kl={class:"flex items-center gap-1"},jl=["data-index"],zl={class:"pb-2 leading-relaxed text-xs"},Hl={class:"text-[10px]"},Ql={class:"text-[10px]"},ql=X({__name:"QuickQueryHistoryLogsPanel",props:{tableName:{},schemaName:{}},setup(y){const t=y,c=E("all"),n=En(),{getLogsByTableId:s,qqLogs:f}=Mt(n),l=S(()=>c.value==="all"?f.value:s.value(t)),r=zt("wrapperRef"),{height:g}=Ra(r),u=E(null),_=$a({get count(){return l.value.length},getScrollElement:()=>u.value,estimateSize:()=>39}),C=S(()=>_.value.getVirtualItems()),i=S(()=>_.value.getTotalSize()),h=d=>{d&&_.value.measureElement(d)},o=d=>new Date(d).toLocaleString(),m=E();return Ia(async()=>{const d=Za({themes:[no],langs:[to],engine:eo()});m.value=await d}),ka(async()=>{_.value&&(await Le(),_.value.scrollToIndex(l.value.length-1))}),Te(()=>l.value,async()=>{_.value&&(await Le(),_.value.scrollToIndex(l.value.length-1))},{deep:!0}),(d,w)=>{const T=Wt,ee=qt,le=Qt,z=de,ce=we,me=Ue,$=$n,A=In;return b(),N("div",Ul,[v("div",Vl,[a(le,{modelValue:c.value,"onUpdate:modelValue":w[0]||(w[0]=Q=>c.value=Q),class:"pt-1"},{default:p(()=>[a(ee,{class:"grid grid-cols-2 h-[1.625rem]!"},{default:p(()=>[a(T,{value:"all",class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:p(()=>w[2]||(w[2]=[O(" All logs ")])),_:1},8,["value"]),a(T,{value:"one-table",class:"h-5! px-1 font-medium text-xs cursor-pointer text-primary/80"},{default:p(()=>w[3]||(w[3]=[O(" Only this table ")])),_:1},8,["value"])]),_:1})]),_:1},8,["modelValue"]),w[8]||(w[8]=v("div",null,[v("p",{class:"font-medium text-xs"},"Logs history")],-1)),v("div",Kl,[c.value==="all"?(b(),D(e(he),{key:0},{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(ce,{variant:"outline",size:"xxs",onClick:e(n).deleteAllLogs},{default:p(()=>[a(z,{name:"lucide:trash"}),w[4]||(w[4]=v("p",{class:"font-normal"},"Delete all logs",-1))]),_:1},8,["onClick"])]),_:1}),a(e(be),null,{default:p(()=>w[5]||(w[5]=[v("p",null,"Delete all logs",-1)])),_:1})]),_:1})):(b(),D(e(he),{key:1},{default:p(()=>[a(e(ge),{"as-child":""},{default:p(()=>[a(ce,{variant:"outline",size:"xxs",onClick:w[1]||(w[1]=Q=>e(n).deleteLogsOfTable(t))},{default:p(()=>[a(z,{name:"lucide:trash"}),w[6]||(w[6]=v("p",{class:"font-normal"},"Delete logs",-1))]),_:1})]),_:1}),a(e(be),null,{default:p(()=>w[7]||(w[7]=[v("p",null,"Delete logs for this table",-1)])),_:1})]),_:1}))])]),l.value.length?(b(),D(A,{key:1,class:"py-0 mt-1 h-full rounded-none shadow-none border-none overflow-auto",ref_key:"wrapperRef",ref:r},{default:p(()=>[a($,{class:"p-0"},{default:p(()=>{var Q;return[v("div",{ref_key:"parentRef",ref:u,style:Ae({height:`${e(g)}px`}),class:"w-full overflow-y-auto contain-strict h-full"},[v("div",{style:Ae({height:`${i.value}px`,width:"100%",position:"relative"})},[v("div",{style:Ae({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${((Q=C.value[0])==null?void 0:Q.start)??0}px)`})},[(b(!0),N(fe,null,Pe(C.value,ne=>(b(),N("div",{key:ne.key.toString(),"data-index":ne.index,ref_for:!0,ref:h},[v("div",zl,[v("span",Hl,"["+V(o(l.value[ne.index].createdAt))+"] ",1),v("span",Ql," : "+V(e(ao)(l.value[ne.index].queryTime||0)),1),a(Ll,{highlighter:m.value,log:l.value[ne.index].logs},null,8,["highlighter","log"])])],8,jl))),128))],4)],4)],4)]}),_:1})]),_:1},512)):(b(),D(me,{key:0,title:"No logs found",desc:"There are no execution logs to display for this table."}))])}}}),Wl=({quickQueryTableRef:y})=>{const t=E(void 0),c=()=>{var f,l,r,g,u,_,C;t.value=void 0,(r=(l=(f=y.value)==null?void 0:f.gridApi)==null?void 0:l.ensureIndexVisible)==null||r.call(l,0,"top"),(u=(g=y.value)==null?void 0:g.gridApi)==null||u.refreshHeader(),(C=(_=y.value)==null?void 0:_.gridApi)==null||C.refreshCells({force:!0})},n=f=>{var l,r,g,u,_,C;f&&((r=(l=y.value)==null?void 0:l.gridApi)==null||r.ensureColumnVisible(f,"middle"),(u=(g=y.value)==null?void 0:g.gridApi)==null||u.refreshCells({force:!0}),(C=(_=y.value)==null?void 0:_.gridApi)==null||C.refreshHeader())};return{resetGridState:c,selectedColumnFieldId:t,handleSelectColumn:f=>{t.value=f,n(f)}}},Gl={class:"px-1"},Yl={class:"px-2"},Jl={class:"flex-1 overflow-hidden px-1 mb-0.5"},Xl={key:1,class:"h-full"},Nr=X({__name:"QuickQuery",props:{connectionId:{},workspaceId:{},tableName:{},schemaName:{},tabViewType:{},virtualTableId:{}},setup(y){const t=y,c=Tt(),n=Re(),s=S(()=>{const K=n.connections.find(H=>H.id===t.connectionId);return(K==null?void 0:K.connectionString)||""}),f=S(()=>t.tableName),l=S(()=>t.schemaName),r=E([]),g=E(),{onRequestSafeModeConfirm:u,onSafeModeCancel:_,onSafeModeConfirm:C,safeModeDialogOpen:i,safeModeDialogSql:h,safeModeDialogType:o}=Gn(),{quickQueryFilterRef:m,quickQueryTableRef:d,selectedRows:w,focusedCell:T}=Qn(),{columnNames:ee,foreignKeys:le,primaryKeyColumns:z,tableMetaData:ce,columnTypes:me,foreignKeyColumns:$,isVirtualTable:A}=Wn({tableName:f.value,schemaName:l.value,connectionId:t.connectionId,tabViewType:t.tabViewType}),{onApplyNewFilter:Q,data:ne,baseQueryString:Se,refreshTableData:ye,refreshCount:I,isAllowNextPage:x,isAllowPreviousPage:R,onNextPage:P,onPreviousPage:G,onUpdatePagination:F,totalRows:M,pagination:B,errorMessage:L,openErrorModal:ae,orderBy:ue,onUpdateOrderBy:se,addHistoryLog:k,filters:q,isShowFilters:oe,onChangeComposeWith:ve,composeWith:pe,isFetchingTableData:W}=Hn({connection:wt(n,"selectedConnection"),primaryKeys:z,columns:ee,connectionId:S(()=>t.connectionId),workspaceId:S(()=>t.workspaceId),tableName:f.value,schemaName:l.value});Te(ce,K=>{K!=null&&K.columns&&K.columns.length>0&&(I(),ye())},{deep:!0,immediate:!0});const{isMutating:re,onAddEmptyRow:Ze,onDeleteRows:et,onSaveData:ot,hasEditedRows:st,onCopyRows:pt,onPasteRows:ft,onRefresh:lt,onSelectedRowsChange:Rt,onCopySelectedCell:vt,onFocusedCellChange:De}=qn({tableName:f.value,schemaName:l.value,primaryKeys:z,refreshTableData:ye,columnNames:ee,data:ne,addHistoryLog:k,errorMessage:L,openErrorModal:ae,selectedRows:w,pagination:B,quickQueryTableRef:d,refreshCount:I,focusedCell:T,safeModeEnabled:wt(c,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:u,connection:wt(n,"selectedConnection")}),{handleSelectColumn:$t,selectedColumnFieldId:yt,resetGridState:rt}=Wl({quickQueryTableRef:d}),J=E(te.Data),Z=E({[te.Data]:!0,[te.Structure]:!1,[te.Erd]:!1}),Fe=E(!0);Nn(()=>{Fe.value=!0}),Oa(()=>{Fe.value=!1});const Me=({id:K,tableName:H,columnName:Ie,schemaName:ke})=>{r.value.push({id:xt(),type:"backReferenced",schemaName:ke,tableName:H,columnName:Ie,recordId:K})},ie=({id:K,tableName:H,columnName:Ie,schemaName:ke})=>{r.value.push({id:xt(),type:"forwardReferenced",schemaName:ke,tableName:H,columnName:Ie,recordId:K})},It=async()=>{var H,Ie,ke;const K=(H=d.value)==null?void 0:H.cellContextMenu;if(K){const gt=K.colDef.field||"",bt=K.value,it={fieldName:gt,isSelect:!0,operator:Y.EQUAL,search:bt};(Ie=m.value)==null||Ie.insert(q.value.length,it),(ke=m==null?void 0:m.value)==null||ke.onShowSearch(),q.value.push(it),Q()}},{isHaveRelationByFieldName:ht}=Yt({schemaName:l.value,tableName:f.value});Te(J,K=>{Z.value[K]=!0,K!==te.Data&&c.onCloseBottomPanel()});const tt=S(()=>r.value.length>0),kt=S(()=>A.value);mt([{key:"meta+a",callback:()=>{var K,H;tt.value||(H=(K=d.value)==null?void 0:K.gridApi)==null||H.selectAll()},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{tt.value||vt()},excludeInput:!0},{key:"meta+v",callback:()=>{tt.value||ft()},excludeInput:!0},{key:"meta+s",callback:()=>{tt.value||kt.value||ot()},isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{tt.value||kt.value||et()},isPreventDefault:!0}],{target:g}),mt([{key:"meta+f",callback:async()=>{var K;tt.value||await((K=m.value)==null?void 0:K.onShowSearch())}}]);const Jt=E();Te(()=>{var K;return(K=d.value)==null?void 0:K.columnDefs},()=>{var K,H;(K=d.value)!=null&&K.columnDefs&&(Jt.value=(H=d.value)==null?void 0:H.columnDefs)},{immediate:!0,deep:!0});const na=(K,H,Ie)=>{r.value[K]&&(r.value[K].selectedTab=H,r.value[K].schemaName=Ie)},aa=()=>{r.value=[]},oa=()=>{r.value.pop()},sa=K=>{const H=r.value.filter((Ie,ke)=>ke<=K);r.value=H};return(K,H)=>{var ke,gt,bt,it,Xt,Zt;const Ie=$e;return b(),N(fe,null,[e(r).length?(b(),D(Ml,{key:0,open:e(r).length>0,breadcrumbs:e(r),currentTableName:e(f),connectionId:K.connectionId,workspaceId:K.workspaceId,rootSchemaName:e(l),onClearBreadcrumb:aa,onOnOpenBackReferencedTableModal:Me,onOnOpenForwardReferencedTableModal:ie,onOnUpdateSelectedTabInBreadcrumb:na,onOnBackPreviousBreadcrumb:oa,onOnBackPreviousBreadcrumbByIndex:sa},null,8,["open","breadcrumbs","currentTableName","connectionId","workspaceId","rootSchemaName"])):U("",!0),a(Dn,{open:e(i),"onUpdate:open":H[0]||(H[0]=Ne=>Oe(i)?i.value=Ne:null),sql:e(h),type:e(o),onConfirm:e(C),onCancel:e(_)},null,8,["open","sql","type","onConfirm","onCancel"]),e(Fe)?(b(),D(un,{key:1,defer:"",to:"#preview-select-row"},[((ke=e(w))==null?void 0:ke.length)!==1||e(J)!==e(te).Data?(b(),D(wo,{key:0,"table-name":e(f),"schema-name":e(l),columns:e(Jt),columnTypes:e(me),selectedColumnFieldId:e(yt),handleSelectColumn:e($t),onResetSelectedCol:e(rt)},null,8,["table-name","schema-name","columns","columnTypes","selectedColumnFieldId","handleSelectColumn","onResetSelectedCol"])):(b(),D(Do,{key:1,columnTypes:e(me),selectedRow:(gt=e(w))!=null&>.length?e(w)[0]:null},null,8,["columnTypes","selectedRow"]))])):U("",!0),e(Fe)?(b(),D(un,{key:2,defer:"",to:"#bottom-panel"},[a(ql,{tableName:e(f),"schema-name":e(l)},null,8,["tableName","schema-name"])])):U("",!0),a(An,{open:e(ae),"onUpdate:open":H[1]||(H[1]=Ne=>Oe(ae)?ae.value=Ne:null),message:e(L)||""},null,8,["open","message"]),v("div",{ref_key:"containerRef",ref:g,class:"flex flex-col h-full w-full relative",tabindex:"0"},[a(Ie,{visible:e(re)||e(W)},null,8,["visible"]),v("div",Gl,[a(Yn,{"total-selected-rows":(bt=e(w))==null?void 0:bt.length,isAllowNextPage:e(x),isAllowPreviousPage:e(R),totalRows:e(M),limit:e(B).limit,currentTotalRows:((it=e(ne))==null?void 0:it.length)||0,offset:e(B).offset,"has-edited-rows":e(st),isViewVirtualTable:e(A),onOnPaginate:e(F),onOnNextPage:e(P),onOnPreviousPage:e(G),onOnRefresh:e(lt),onOnSaveData:e(ot),onOnDeleteRows:e(et),onOnAddEmptyRow:e(Ze),onOnShowFilter:H[2]||(H[2]=()=>{var Ne;(Ne=e(m))==null||Ne.onShowSearch()}),onOnToggleHistoryPanel:e(c).onToggleBottomPanel,tabView:e(J),"onUpdate:tabView":H[3]||(H[3]=Ne=>Oe(J)?J.value=Ne:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","isViewVirtualTable","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnToggleHistoryPanel","tabView"])]),v("div",Yl,[e(J)===e(te).Data?(b(),D(Jn,{key:0,ref_key:"quickQueryFilterRef",ref:m,onOnSearch:H[4]||(H[4]=()=>{e(Q)()}),onOnUpdateFilters:H[5]||(H[5]=Ne=>{q.value=Ne}),isShowFilters:e(oe),"onUpdate:isShowFilters":H[6]||(H[6]=Ne=>Oe(oe)?oe.value=Ne:null),initFilters:e(q),baseQuery:e(Se),columns:e(ee),dbType:e(qe).POSTGRES,composeWith:e(pe),onOnChangeComposeWith:e(ve)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):U("",!0)]),v("div",Jl,[e(Z)[e(te).Erd]?Be((b(),D(Pn,{key:0,tableId:e(Tn)({tableName:e(f),schemaName:e(l)})},null,8,["tableId"])),[[Qe,e(J)===e(te).Erd]]):U("",!0),e(Z)[e(te).Structure]?Be((b(),N("div",Xl,[a(ea,{isVirtualTable:e(A),schema:e(l),tableName:e(f),connectionString:e(s),virtualTableId:t.virtualTableId},null,8,["isVirtualTable","schema","tableName","connectionString","virtualTableId"])],512)),[[Qe,e(J)===e(te).Structure]]):U("",!0),Be(a(Xn,{data:e(ne),"total-selected-rows":e(w).length,"has-edited-rows":e(st),cellContextMenu:(Xt=e(d))==null?void 0:Xt.cellContextMenu,cellHeaderContextMenu:(Zt=e(d))==null?void 0:Zt.cellHeaderContextMenu,selectedRows:e(w),"table-name":e(f),"schema-name":e(l),onOnClearContextMenu:H[7]||(H[7]=Ne=>{var en;return(en=e(d))==null?void 0:en.clearCellContextMenu()}),onOnPaginate:e(F),onOnNextPage:e(P),onOnPreviousPage:e(G),onOnRefresh:e(lt),onOnSaveData:e(ot),onOnDeleteRows:e(et),onOnAddEmptyRow:e(Ze),onOnFilterByValue:It,onOnCopyRows:e(pt),onOnPasteRows:e(ft),onOnCopySelectedCell:e(vt)},{default:p(()=>[a(Zn,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:d,"selected-rows":e(w),data:e(ne)||[],orderBy:e(ue),onOnSelectedRows:e(Rt),"onUpdate:orderBy":e(se),onOnOpenBackReferencedTableModal:Me,onOnOpenForwardReferencedTableModal:ie,isHaveRelationByFieldName:e(ht),foreignKeyColumns:e($),foreignKeys:e(le),primaryKeyColumns:e(z),columnTypes:e(me),defaultPageSize:e(Nt),offset:e(B).offset,onOnFocusCell:e(De),selectedColumnFieldId:e(yt),"current-schema-name":e(l),"current-table-name":e(f),isViewOnly:e(kt)},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","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[Qe,e(J)===e(te).Data]])])],512)],64)}}});export{Nr as default};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c4 as D,d as g,aj as G,al as E,u as w,c5 as I,E as _,c as h,o as q,e as v,f as k,a as S,b as e,c6 as P,G as C,Y as $,P as B,bb as M,ad as F,l as R,bQ as j,r as K,bU as V,bc as L,ag as T,an as U,j as A,ai as z}from"./FyrDS92w.js";import{R as N,a as O}from"./Btu7FO8S.js";import{C as Y}from"./6I72R6kW.js";const H="radio.select";function Q(u,o,a){D(H,a,{originalEvent:u,value:o})}var W=g({__name:"Radio",props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},checked:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:checked","select"],setup(u,{emit:o}){const a=u,t=o,l=G(a,"checked",t,{passive:a.checked===void 0}),{value:n}=E(a),{forwardRef:s,currentElement:d}=w(),m=I(d),c=_(()=>{var r;return a.id&&d.value?((r=document.querySelector(`[for="${a.id}"]`))==null?void 0:r.innerText)??a.value:void 0});function p(r){a.disabled||Q(r,a.value,f=>{t("select",f),!(f!=null&&f.defaultPrevented)&&(l.value=!0,m.value&&f.stopPropagation())})}return(r,f)=>(q(),h(e(B),C(r.$attrs,{id:r.id,ref:e(s),role:"radio",type:r.as==="button"?"button":void 0,as:r.as,"aria-checked":e(l),"aria-label":c.value,"as-child":r.asChild,disabled:r.disabled?"":void 0,"data-state":e(l)?"checked":"unchecked","data-disabled":r.disabled?"":void 0,value:e(n),required:r.required,name:r.name,onClick:$(p,["stop"])}),{default:v(()=>[k(r.$slots,"default",{checked:e(l)}),e(m)&&r.name?(q(),h(e(P),{key:0,type:"radio",tabindex:"-1",value:e(n),checked:!!e(l),name:r.name,disabled:r.disabled,required:r.required},null,8,["value","checked","name","disabled","required"])):S("v-if",!0)]),_:3},16,["id","type","as","aria-checked","aria-label","as-child","disabled","data-state","data-disabled","value","required","name"]))}}),J=W;const[X,Z]=F("RadioGroupRoot");var x=g({__name:"RadioGroupRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue"],setup(u,{emit:o}){const a=u,t=o,{forwardRef:l,currentElement:n}=w(),s=G(a,"modelValue",t,{defaultValue:a.defaultValue,passive:a.modelValue===void 0}),{disabled:d,loop:m,orientation:c,name:p,required:r,dir:f}=E(a),i=M(f),b=I(n);return Z({modelValue:s,changeModelValue:y=>{s.value=y},disabled:d,loop:m,orientation:c,name:p==null?void 0:p.value,required:r}),(y,se)=>(q(),h(e(N),{"as-child":"",orientation:e(c),dir:e(i),loop:e(m)},{default:v(()=>[R(e(B),{ref:e(l),role:"radiogroup","data-disabled":e(d)?"":void 0,"as-child":y.asChild,as:y.as,"aria-orientation":e(c),"aria-required":e(r),dir:e(i)},{default:v(()=>[k(y.$slots,"default",{modelValue:e(s)}),e(b)&&e(p)?(q(),h(e(P),{key:0,required:e(r),disabled:e(d),value:e(s),name:e(p)},null,8,["required","disabled","value","name"])):S("v-if",!0)]),_:3},8,["data-disabled","as-child","as","aria-orientation","aria-required","dir"])]),_:3},8,["orientation","dir","loop"]))}}),ee=x;const[ae,re]=F("RadioGroupItem");var te=g({inheritAttrs:!1,__name:"RadioGroupItem",props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["select"],setup(u,{emit:o}){const a=u,t=o,{forwardRef:l,currentElement:n}=w(),s=X(),d=_(()=>s.disabled.value||a.disabled),m=_(()=>s.required.value||a.required),c=_(()=>{var i;return j((i=s.modelValue)==null?void 0:i.value,a.value)});re({disabled:d,checked:c});const p=K(!1),r=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"];V("keydown",i=>{r.includes(i.key)&&(p.value=!0)}),V("keyup",()=>{p.value=!1});function f(){setTimeout(()=>{var i;p.value&&((i=n.value)==null||i.click())},0)}return(i,b)=>(q(),h(e(O),{checked:c.value,disabled:d.value,"as-child":"",focusable:!d.value,active:c.value},{default:v(()=>[R(J,C({...i.$attrs,...a},{ref:e(l),checked:c.value,required:m.value,disabled:d.value,"onUpdate:checked":b[0]||(b[0]=y=>e(s).changeModelValue(i.value)),onSelect:b[1]||(b[1]=y=>t("select",y)),onKeydown:b[2]||(b[2]=L($(()=>{},["prevent"]),["enter"])),onFocus:f}),{default:v(()=>[k(i.$slots,"default",{checked:c.value,required:m.value,disabled:d.value})]),_:3},16,["checked","required","disabled"])]),_:3},8,["checked","disabled","focusable","active"]))}}),de=te,oe=g({__name:"RadioGroupIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(u){const{forwardRef:o}=w(),a=ae();return(t,l)=>(q(),h(e(T),{present:t.forceMount||e(a).checked.value},{default:v(()=>[R(e(B),C({ref:e(o),"data-state":e(a).checked.value?"checked":"unchecked","data-disabled":e(a).disabled.value?"":void 0,"as-child":t.asChild,as:t.as},t.$attrs),{default:v(()=>[k(t.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),le=oe;const ce=g({__name:"RadioGroup",props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:["update:modelValue"],setup(u,{emit:o}){const a=u,t=o,l=_(()=>{const{class:s,...d}=a;return d}),n=U(l,t);return(s,d)=>(q(),h(e(ee),C({"data-slot":"radio-group",class:e(A)("grid gap-3",a.class)},e(n)),{default:v(()=>[k(s.$slots,"default")]),_:3},16,["class"]))}}),pe=g({__name:"RadioGroupItem",props:{id:{},value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},setup(u){const o=u,a=_(()=>{const{class:l,...n}=o;return n}),t=z(a);return(l,n)=>(q(),h(e(de),C({"data-slot":"radio-group-item"},e(t),{class:e(A)("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",o.class)}),{default:v(()=>[R(e(le),{"data-slot":"radio-group-indicator",class:"relative flex items-center justify-center"},{default:v(()=>[R(e(Y),{class:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})]),_:1})]),_:1},16,["class"]))}});export{ce as _,pe as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as o,g as a,n,b as r,j as c,f as l,o as u}from"./FyrDS92w.js";const d=o({__name:"ContextMenuShortcut",props:{class:{}},setup(t){const s=t;return(e,m)=>(u(),a("span",{"data-slot":"context-menu-shortcut",class:n(r(c)("text-muted-foreground ml-auto text-xs tracking-widest",s.class))},[l(e.$slots,"default")],2))}});export{d as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as b,ad as N,aj as T,al as x,u as C,c as h,o as y,e as v,f as g,b as e,P as q,I as D,r as u,E as O,aC as $,aD as A,bU as F,l as M,G as P,a as E,ag as H,aI as V}from"./FyrDS92w.js";const[w,j]=N("CollapsibleRoot");var S=b({__name:"CollapsibleRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:open"],setup(i,{expose:d,emit:s}){const o=i,n=T(o,"open",s,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:l,unmountOnHide:p}=x(o);return j({contentId:"",disabled:l,open:n,unmountOnHide:p,onOpenToggle:()=>{l.value||(n.value=!n.value)}}),d({open:n}),C(),(r,f)=>(y(),h(e(q),{as:r.as,"as-child":o.asChild,"data-state":e(n)?"open":"closed","data-disabled":e(l)?"":void 0},{default:v(()=>[g(r.$slots,"default",{open:e(n)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),z=S,G=b({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(i,{emit:d}){const s=i,o=d,t=w();t.contentId||(t.contentId=D(void 0,"reka-collapsible-content"));const n=u(),{forwardRef:l,currentElement:p}=C(),r=u(0),f=u(0),k=O(()=>t.open.value),m=u(k.value),c=u();$(()=>{var a;return[k.value,(a=n.value)==null?void 0:a.present]},async()=>{await V();const a=p.value;if(!a)return;c.value=c.value||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";const _=a.getBoundingClientRect();f.value=_.height,r.value=_.width,m.value||(a.style.transitionDuration=c.value.transitionDuration,a.style.animationName=c.value.animationName)},{immediate:!0});const I=O(()=>m.value&&t.open.value);return A(()=>{requestAnimationFrame(()=>{m.value=!1})}),F(p,"beforematch",a=>{requestAnimationFrame(()=>{t.onOpenToggle(),o("contentFound")})}),(a,_)=>(y(),h(e(H),{ref_key:"presentRef",ref:n,present:a.forceMount||e(t).open.value,"force-mount":!0},{default:v(({present:B})=>{var R;return[M(e(q),P(a.$attrs,{id:e(t).contentId,ref:e(l),"as-child":s.asChild,as:a.as,hidden:B?void 0:e(t).unmountOnHide.value?"":"until-found","data-state":I.value?void 0:e(t).open.value?"open":"closed","data-disabled":(R=e(t).disabled)!=null&&R.value?"":void 0,style:{"--reka-collapsible-content-height":`${f.value}px`,"--reka-collapsible-content-width":`${r.value}px`}}),{default:v(()=>[!e(t).unmountOnHide.value||B?g(a.$slots,"default",{key:0}):E("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]}),_:3},8,["present"]))}}),J=G,L=b({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const d=i;C();const s=w();return(o,t)=>{var n,l;return y(),h(e(q),{type:o.as==="button"?"button":void 0,as:o.as,"as-child":d.asChild,"aria-controls":e(s).contentId,"aria-expanded":e(s).open.value,"data-state":e(s).open.value?"open":"closed","data-disabled":(n=e(s).disabled)!=null&&n.value?"":void 0,disabled:(l=e(s).disabled)==null?void 0:l.value,onClick:e(s).onOpenToggle},{default:v(()=>[g(o.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"])}}}),K=L;export{z as C,J as a,K as b};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ar as Q,d as R,g as k,o as v,n as A,h as u,l as a,c as b,a as B,b as s,y as F,e as l,z,m as j,q as S,p as N,B as V,k as G,al as W,r as _,E as C,bf as I,b1 as Z,b2 as H,b3 as J,b4 as X,cc as Y,b5 as ee,W as O,aR as se,F as ne,M as te}from"./FyrDS92w.js";import{s as ae,b as oe,a as le,_ as ie}from"./CtRc_P0d.js";import{p as re,f as ue}from"./llxtZpFD.js";import{u as ce,_ as de}from"./D2j2esR5.js";import{_ as me}from"./qIKg23Pc.js";import{u as pe}from"./y68LmDX2.js";import"./CzF1NEwP.js";import"./kehy-5uo.js";const fe=g=>Q.of([{key:"Ctrl-s",mac:"Cmd-s",run:c=>{const i=c.state.doc.toString();return g(i),!0},preventDefault:!0}]),ve={class:A(["flex items-center justify-between p-1 rounded-md bg-muted"])},_e={class:"flex items-center gap-1"},ge={key:0,class:"text-xs text-muted-foreground"},he=R({__name:"FunctionControlBar",props:{hasChanges:{type:Boolean},isSaving:{type:Boolean}},emits:["onSave","onDiscard"],setup(g,{emit:c}){const i=c;return(r,t)=>{const o=me,d=j;return v(),k("div",ve,[u("div",_e,[a(s(F),null,{default:l(()=>[a(s(z),{"as-child":""},{default:l(()=>[u("div",null,[a(d,{variant:"outline",size:"xxs",disabled:!r.hasChanges||r.isSaving,onClick:t[0]||(t[0]=m=>i("onSave"))},{default:l(()=>[r.isSaving?(v(),b(s(S),{key:0,name:"hugeicons:loading-03",class:"size-4 animate-spin"})):(v(),b(s(S),{key:1,name:"lucide:save",class:"size-4"})),a(o,null,{default:l(()=>t[2]||(t[2]=[N("⌘S")])),_:1})]),_:1},8,["disabled"])])]),_:1}),a(s(V),null,{default:l(()=>[t[3]||(t[3]=u("p",null,"Save function to database",-1)),r.hasChanges?B("",!0):(v(),k("p",ge," No changes to save "))]),_:1})]),_:1}),r.hasChanges?(v(),b(s(F),{key:0},{default:l(()=>[a(s(z),{"as-child":""},{default:l(()=>[u("div",null,[a(d,{variant:"outline",size:"xxs",disabled:r.isSaving,onClick:t[1]||(t[1]=m=>i("onDiscard"))},{default:l(()=>[a(s(S),{name:"lucide:undo-2",class:"size-4"}),t[4]||(t[4]=N(" discard changes "))]),_:1},8,["disabled"])])]),_:1}),a(s(V),null,{default:l(()=>t[5]||(t[5]=[u("p",null,"Discard changes",-1)])),_:1})]),_:1})):B("",!0)])])}}}),Ce={class:"flex flex-col h-full p-1"},ye={class:"flex flex-col h-full border rounded-md"},be={class:"h-full flex flex-col overflow-y-auto relative"},ze=R({__name:"FunctionDetail",props:{functionId:{},connectionId:{}},setup(g){const c=g,{connectionStore:i,schemaStore:r}=G(),{activeSchema:t}=W(r);ce();const o=_(""),d=_(""),m=_(!1),x=_(""),h=_(!1),$=C(()=>o.value!==d.value),E=C(()=>{var p,f;const n=(p=t.value)==null?void 0:p.tableDetails,e={};for(const w in n){const U=(f=n[w])==null?void 0:f.columns;e[w]=U.map(y=>({label:y.name,type:"field",info:y.short_type_name||"",boost:-y.ordinal_position}))}return e}),L=new Z,M=C(()=>c.connectionId?i.connections.find(n=>n.id===c.connectionId):i.selectedConnection),D=C(()=>({functionId:c.functionId,...I(M.value)})),{status:T}=pe("/api/functions/definition",{method:"POST",body:D,onResponse:n=>{if(typeof n.response._data=="string"){const e=n.response._data||"";o.value=e,d.value=e}},watch:[D]},"$cS7qZacQ7d"),q=async()=>{if(!(!$.value||m.value)){m.value=!0;try{await $fetch("/api/functions/update",{method:"POST",body:{...I(i.selectedConnection),functionDefinition:o.value},onResponseError:n=>{var e,p;h.value=!0,x.value=((p=(e=n.response)==null?void 0:e._data)==null?void 0:p.message)||""},onResponse:n=>{var e;n.response.ok&&(d.value=o.value,te.success("Function saved",{description:`Updated successfully in ${(e=n.response._data)==null?void 0:e.queryTime}ms`}))}})}finally{m.value=!1}}},P=()=>{o.value=d.value},K=[fe(q),ae(n=>ue(n,{language:"postgresql",keywordCase:"upper"})),Q.of([{key:"Mod-i",run:H},{key:"Tab",run:J}]),L.of(X({dialect:Y.define({...ee.spec,doubleDollarQuotedStrings:!1}),upperCaseKeywords:!0,keywordCompletion:re,schema:E.value})),...oe(),le];return(n,e)=>{const p=se;return v(),k(ne,null,[a(de,{open:s(h),"onUpdate:open":e[0]||(e[0]=f=>O(h)?h.value=f:null),message:s(x)},null,8,["open","message"]),u("div",Ce,[u("div",ye,[a(he,{"has-changes":s($),"is-saving":s(m),onOnSave:q,onOnDiscard:P},null,8,["has-changes","is-saving"]),u("div",be,[a(p,{visible:s(T)==="pending"||s(m)},null,8,["visible"]),a(ie,{modelValue:s(o),"onUpdate:modelValue":e[1]||(e[1]=f=>O(o)?o.value=f:null),extensions:K,disabled:!1},null,8,["modelValue"])])])])],64)}}});export{ze as default};
|