p3x-redis-ui-material
Version:
💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity
1 lines • 7.67 kB
JavaScript
import{A as e,C as t,Ct as n,D as r,E as i,J as a,M as o,R as s,T as c,Yt as l,ht as u,it as d,k as f,nt as p,o as m,t as h,w as g,y as ee}from"./i18n.store-B-qxQMr8.js";import{lt as _,o as v,t as y,x as b}from"./_plugin-vue_export-helper-Cw5qm5mn.js";import{t as x}from"./VTooltip-C0b2WZo6.js";import{n as S,t as C}from"./redis-state.store-DsiC4fU6.js";import{t as w}from"./common.store-BrR1MJ05.js";import{t as T}from"./overlay.store-C8cyXDLi.js";import{i as E}from"./socket.service-DpzqLYDp.js";import{o as te}from"./index-Cn1nft6Q.js";import{d as D,n as O,p as k}from"./key-type-base-OuqdCVFM.js";import{n as A,r as ne,t as re}from"./JsonEditorDialog-BoMnkTTc.js";var ie={class:`p3xr-key-type-actions`},ae={class:`p3xr-key-type-content`,style:{overflow:`auto`}},oe={key:1,style:{"font-family":`'Roboto Mono',monospace`,"white-space":`pre-wrap`,"word-break":`break-all`}},j=y(o({__name:`KeyJson`,props:{response:{},value:{},valueBuffer:{},keyName:{},valueFormat:{}},emits:[`refresh`],setup(o,{emit:y}){function j(e,t){if(t===null)return{key:e,value:null,type:`null`};if(Array.isArray(t)){let n=t.map((e,t)=>j(String(t),e));return{key:e,value:t,type:`array`,children:n,childCount:n.length}}if(typeof t==`object`){let n=Object.keys(t).map(e=>j(e,t[e]));return{key:e,value:t,type:`object`,children:n,childCount:n.length}}return{key:e,value:t,type:typeof t}}let M=o,N=y,P=t(()=>h().strings),F=t(()=>C().connection?.readonly===!0),{themeKey:I}=m(te()),L=t(()=>[`dark`,`darkNeu`,`darkoBluo`,`matrix`].includes(I.value)),R=S(),z=w(),B=T(),{width:V}=_(),H=t(()=>V.value>=960),U=u(void 0),W=u(!0),G=u(new Set),K=u(!1),q=u(!1),se=u(``),ce=u(``),J=t(()=>P.value?.label?.tree??`root`),Y=t(()=>U.value===void 0?null:j(J.value,U.value));p(()=>M.value,()=>{try{U.value=typeof M.value==`string`?JSON.parse(M.value):M.value,G.value=new Set([`0-${J.value}`])}catch{U.value=void 0}},{immediate:!0});function le(e){let t=new Set(G.value);t.has(e)?t.delete(e):t.add(e),G.value=t}function X(){if(U.value===void 0)return;let e=new Set,t=(n,r)=>{let i=`${r}-${n.key}`;(n.type===`object`||n.type===`array`)&&(e.add(i),n.children?.forEach(e=>t(e,r+1)))};t(j(J.value,U.value),0),G.value=e}function Z(){G.value=new Set([`0-${J.value}`])}function Q(){O(String(M.value??``))}function $(){let e=new Blob([M.value],{type:`application/json`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`${M.keyName}.json`,n.click(),URL.revokeObjectURL(t)}async function ue(e){if(K.value=!1,!e?.obj)return;let t=M.value,n=typeof e.obj==`string`?e.obj:JSON.stringify(e.obj);B.show();try{await E({action:`key/json-set`,payload:{key:M.keyName,path:`$`,value:n}}),N(`refresh`),B.hide(),R.undoEnabled&&t!==n&&await z.toastWithUndo(D(P.value?.status?.set))&&(B.show({message:`Undo...`}),await E({action:`key/json-set`,payload:{key:M.keyName,path:`$`,value:t}}),N(`refresh`),B.hide(),z.toast(D(P.value?.status?.reverted)))}catch(e){z.generalHandleError(e),B.hide()}}return(t,u)=>(a(),r(`div`,null,[g(`div`,ie,[H.value?(a(),c(v,{key:0,variant:`flat`,color:`secondary`,onClick:u[0]||=e=>Q(),style:{gap:`3px`}},{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[14]||=[f(`mdi-content-copy`,-1)]]),_:1}),g(`span`,null,l(n(D)(P.value?.intention?.copy)),1)]),_:1})):(a(),c(x,{key:1,text:n(D)(P.value?.intention?.copy),location:`top`},{activator:d(({props:t})=>[e(v,s(t,{variant:`flat`,color:`secondary`,onClick:u[1]||=e=>Q(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[15]||=[f(`mdi-content-copy`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(a(),c(v,{key:2,variant:`flat`,color:`secondary`,onClick:u[2]||=e=>$(),style:{gap:`3px`}},{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[16]||=[f(`mdi-download`,-1)]]),_:1}),g(`span`,null,l(n(D)(P.value?.intention?.downloadJson)),1)]),_:1})):(a(),c(x,{key:3,text:n(D)(P.value?.intention?.downloadJson),location:`top`},{activator:d(({props:t})=>[e(v,s(t,{variant:`flat`,color:`secondary`,onClick:u[3]||=e=>$(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[17]||=[f(`mdi-download`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(a(),c(v,{key:4,variant:`flat`,color:`secondary`,onClick:u[4]||=e=>X(),style:{gap:`3px`}},{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[18]||=[f(`mdi-unfold-more-horizontal`,-1)]]),_:1}),g(`span`,null,l(n(D)(P.value?.page?.treeControls?.expandAll)),1)]),_:1})):(a(),c(x,{key:5,text:n(D)(P.value?.page?.treeControls?.expandAll),location:`top`},{activator:d(({props:t})=>[e(v,s(t,{variant:`flat`,color:`secondary`,onClick:u[5]||=e=>X(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[19]||=[f(`mdi-unfold-more-horizontal`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(a(),c(v,{key:6,variant:`flat`,color:`secondary`,onClick:u[6]||=e=>Z(),style:{gap:`3px`}},{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[20]||=[f(`mdi-unfold-less-horizontal`,-1)]]),_:1}),g(`span`,null,l(n(D)(P.value?.page?.treeControls?.collapseAll)),1)]),_:1})):(a(),c(x,{key:7,text:n(D)(P.value?.page?.treeControls?.collapseAll),location:`top`},{activator:d(({props:t})=>[e(v,s(t,{variant:`flat`,color:`secondary`,onClick:u[7]||=e=>Z(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[21]||=[f(`mdi-unfold-less-horizontal`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(a(),c(v,{key:8,variant:`flat`,color:`secondary`,onClick:u[8]||=e=>W.value=!W.value,style:{gap:`3px`}},{default:d(()=>[e(b,{size:`small`},{default:d(()=>[f(l(W.value?`mdi-wrap`:`mdi-wrap-disabled`),1)]),_:1}),g(`span`,null,l(W.value?n(D)(P.value?.intention?.unwrap):n(D)(P.value?.intention?.wrap)),1)]),_:1})):(a(),c(x,{key:9,text:W.value?n(D)(P.value?.intention?.unwrap):n(D)(P.value?.intention?.wrap),location:`top`},{activator:d(({props:t})=>[e(v,s(t,{variant:`flat`,color:`secondary`,onClick:u[9]||=e=>W.value=!W.value,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:d(()=>[e(b,{size:`small`},{default:d(()=>[f(l(W.value?`mdi-wrap`:`mdi-wrap-disabled`),1)]),_:1})]),_:1},16)]),_:1},8,[`text`])),F.value?i(``,!0):(a(),r(ee,{key:10},[H.value?(a(),c(v,{key:0,variant:`flat`,color:`primary`,onClick:u[10]||=e=>K.value=!0,style:{gap:`3px`}},{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[22]||=[f(`mdi-pencil`,-1)]]),_:1}),g(`span`,null,l(n(D)(P.value?.intention?.jsonViewEditor)),1)]),_:1})):(a(),c(x,{key:1,text:n(D)(P.value?.intention?.jsonViewEditor),location:`top`},{activator:d(({props:t})=>[e(v,s(t,{variant:`flat`,color:`primary`,onClick:u[11]||=e=>K.value=!0,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:d(()=>[e(b,{size:`small`},{default:d(()=>[...u[23]||=[f(`mdi-pencil`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`]))],64))]),g(`div`,ae,[Y.value?(a(),c(ne,{key:0,node:Y.value,level:0,"expanded-keys":G.value,"is-dark":L.value,onToggle:le},null,8,[`node`,`expanded-keys`,`is-dark`])):(a(),r(`div`,oe,l(n(k)(o.value)),1))]),e(re,{open:K.value,value:String(o.value??``),"hide-format-save":``,onClose:ue},null,8,[`open`,`value`]),e(A,{open:q.value,"key-name":o.keyName,"old-value":se.value,"new-value":ce.value,onConfirm:u[12]||=e=>{q.value=!1,n(null)?.(!0)},onCancel:u[13]||=e=>{q.value=!1,n(null)?.(!1)}},null,8,[`open`,`key-name`,`old-value`,`new-value`])]))}}),[[`__scopeId`,`data-v-8588987f`]]);export{j as default};