UNPKG

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
import{A as e,C as t,D as n,E as r,I as i,M as a,Nt as o,T as s,Tt as c,Y as l,Zt as u,_t as d,at as f,k as p,lt as m,o as h,rt as ee,t as g,w as _,y as v,z as y}from"./i18n.store-Bkc9i0ZB.js";import{lt as te,o as b,t as x,x as S}from"./_plugin-vue_export-helper-BZ1AqotW.js";import{n as ne,t as re}from"./redis-state.store-6nwmGrRG.js";import{t as ie}from"./common.store-yJBdXfWc.js";import{t as ae}from"./overlay.store-BBYRGnlo.js";import{i as C}from"./socket.service-CwqYs11N.js";import{d as w,u as oe}from"./index-BNz7Rlxf.js";import{d as T,n as E,p as D}from"./key-type-base-COna9PL5.js";import{n as O,r as k,t as A}from"./JsonEditorDialog-qO_9GIFK.js";i(),m(),o();var j={class:`p3xr-key-type-actions`},M={class:`p3xr-key-type-content`,style:{overflow:`auto`}},N={key:1,style:{"font-family":`'Roboto Mono',monospace`,"white-space":`pre-wrap`,"word-break":`break-all`}},P=x(a({__name:`KeyJson`,props:{response:{},value:{},valueBuffer:{},keyName:{},valueFormat:{}},emits:[`refresh`],setup(i,{emit:a}){function o(e,t){if(t===null)return{key:e,value:null,type:`null`};if(Array.isArray(t)){let n=t.map((e,t)=>o(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=>o(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=i,x=a,P=t(()=>g().strings),F=t(()=>re().connection?.readonly===!0),{themeKey:I}=h(oe()),L=t(()=>[`dark`,`darkNeu`,`darkoBluo`,`matrix`].includes(I.value)),R=ne(),z=ie(),B=ae(),{width:V}=te(),H=t(()=>V.value>=960),U=d(void 0),W=d(!0),G=d(new Set),K=d(!1),q=d(!1),se=d(``),ce=d(``),J=t(()=>P.value?.label?.tree??`root`),Y=t(()=>U.value===void 0?null:o(J.value,U.value));ee(()=>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(o(J.value,U.value),0),G.value=e}function Z(){G.value=new Set([`0-${J.value}`])}function Q(){E(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 C({action:`key/json-set`,payload:{key:m.keyName,path:`$`,value:n}}),x(`refresh`),B.hide(),R.undoEnabled&&t!==n&&await z.toastWithUndo(T(P.value?.status?.set))&&(B.show({message:`Undo...`}),await C({action:`key/json-set`,payload:{key:m.keyName,path:`$`,value:t}}),x(`refresh`),B.hide(),z.toast(T(P.value?.status?.reverted)))}catch(e){z.generalHandleError(e),B.hide()}}return(t,a)=>(l(),n(`div`,null,[_(`div`,j,[H.value?(l(),s(b,{key:0,variant:`flat`,color:`secondary`,onClick:a[0]||=e=>Q(),style:{gap:`3px`}},{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[14]||=[p(`mdi-content-copy`,-1)]]),_:1}),_(`span`,null,u(c(T)(P.value?.intention?.copy)),1)]),_:1})):(l(),s(w,{key:1,text:c(T)(P.value?.intention?.copy),location:`top`},{activator:f(({props:t})=>[e(b,y(t,{variant:`flat`,color:`secondary`,onClick:a[1]||=e=>Q(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[15]||=[p(`mdi-content-copy`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(l(),s(b,{key:2,variant:`flat`,color:`secondary`,onClick:a[2]||=e=>$(),style:{gap:`3px`}},{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[16]||=[p(`mdi-download`,-1)]]),_:1}),_(`span`,null,u(c(T)(P.value?.intention?.downloadJson)),1)]),_:1})):(l(),s(w,{key:3,text:c(T)(P.value?.intention?.downloadJson),location:`top`},{activator:f(({props:t})=>[e(b,y(t,{variant:`flat`,color:`secondary`,onClick:a[3]||=e=>$(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[17]||=[p(`mdi-download`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(l(),s(b,{key:4,variant:`flat`,color:`secondary`,onClick:a[4]||=e=>X(),style:{gap:`3px`}},{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[18]||=[p(`mdi-unfold-more-horizontal`,-1)]]),_:1}),_(`span`,null,u(c(T)(P.value?.page?.treeControls?.expandAll)),1)]),_:1})):(l(),s(w,{key:5,text:c(T)(P.value?.page?.treeControls?.expandAll),location:`top`},{activator:f(({props:t})=>[e(b,y(t,{variant:`flat`,color:`secondary`,onClick:a[5]||=e=>X(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[19]||=[p(`mdi-unfold-more-horizontal`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(l(),s(b,{key:6,variant:`flat`,color:`secondary`,onClick:a[6]||=e=>Z(),style:{gap:`3px`}},{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[20]||=[p(`mdi-unfold-less-horizontal`,-1)]]),_:1}),_(`span`,null,u(c(T)(P.value?.page?.treeControls?.collapseAll)),1)]),_:1})):(l(),s(w,{key:7,text:c(T)(P.value?.page?.treeControls?.collapseAll),location:`top`},{activator:f(({props:t})=>[e(b,y(t,{variant:`flat`,color:`secondary`,onClick:a[7]||=e=>Z(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[21]||=[p(`mdi-unfold-less-horizontal`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])),H.value?(l(),s(b,{key:8,variant:`flat`,color:`secondary`,onClick:a[8]||=e=>W.value=!W.value,style:{gap:`3px`}},{default:f(()=>[e(S,{size:`small`},{default:f(()=>[p(u(W.value?`mdi-wrap`:`mdi-wrap-disabled`),1)]),_:1}),_(`span`,null,u(W.value?c(T)(P.value?.intention?.unwrap):c(T)(P.value?.intention?.wrap)),1)]),_:1})):(l(),s(w,{key:9,text:W.value?c(T)(P.value?.intention?.unwrap):c(T)(P.value?.intention?.wrap),location:`top`},{activator:f(({props:t})=>[e(b,y(t,{variant:`flat`,color:`secondary`,onClick:a[9]||=e=>W.value=!W.value,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:f(()=>[e(S,{size:`small`},{default:f(()=>[p(u(W.value?`mdi-wrap`:`mdi-wrap-disabled`),1)]),_:1})]),_:1},16)]),_:1},8,[`text`])),F.value?r(``,!0):(l(),n(v,{key:10},[H.value?(l(),s(b,{key:0,variant:`flat`,color:`primary`,onClick:a[10]||=e=>K.value=!0,style:{gap:`3px`}},{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[22]||=[p(`mdi-pencil`,-1)]]),_:1}),_(`span`,null,u(c(T)(P.value?.intention?.jsonViewEditor)),1)]),_:1})):(l(),s(w,{key:1,text:c(T)(P.value?.intention?.jsonViewEditor),location:`top`},{activator:f(({props:t})=>[e(b,y(t,{variant:`flat`,color:`primary`,onClick:a[11]||=e=>K.value=!0,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:f(()=>[e(S,{size:`small`},{default:f(()=>[...a[23]||=[p(`mdi-pencil`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`]))],64))]),_(`div`,M,[Y.value?(l(),s(k,{key:0,node:Y.value,level:0,"expanded-keys":G.value,"is-dark":L.value,onToggle:le},null,8,[`node`,`expanded-keys`,`is-dark`])):(l(),n(`div`,N,u(c(D)(i.value)),1))]),e(A,{open:K.value,value:String(i.value??``),"hide-format-save":``,onClose:ue},null,8,[`open`,`value`]),e(O,{open:q.value,"key-name":i.keyName,"old-value":se.value,"new-value":ce.value,onConfirm:a[12]||=e=>{q.value=!1,c(null)?.(!0)},onCancel:a[13]||=e=>{q.value=!1,c(null)?.(!1)}},null,8,[`open`,`key-name`,`old-value`,`new-value`])]))}}),[[`__scopeId`,`data-v-8588987f`]]);export{P as default};