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.58 kB
import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{A as t,C as n,D as r,E as i,I as a,K as o,Kt as ee,M as s,Nt as c,T as l,Tt as u,Y as d,Z as te,Zt as f,_t as p,at as m,k as h,lt as g,o as ne,q as re,rt as ie,t as ae,w as _,y as v,z as y}from"./i18n.store-Bkc9i0ZB.js";import{t as b,x}from"./_plugin-vue_export-helper-BZ1AqotW.js";import{n as oe,t as se}from"./redis-state.store-6nwmGrRG.js";import{t as ce}from"./common.store-yJBdXfWc.js";import{i as S}from"./socket.service-CwqYs11N.js";import{d as C,u as le}from"./index-BNz7Rlxf.js";import{a as ue,d as w,m as T,n as de,o as fe,p as E,r as pe,s as me,u as he}from"./key-type-base-COna9PL5.js";import{t as ge}from"./TtlDialog-CVfiEnKc.js";import{t as _e}from"./redis-version-D5h1AGvN.js";import{t as ve}from"./JsonViewDialog-DFmNO6gL.js";import{t as ye}from"./KeyNewOrSetDialog-BuqDvXgd.js";import{t as be}from"./HexMonitor-Bg_4eWTr.js";import{t as xe}from"./KeyPagerInline-BJ2uIwfG.js";a(),g(),c();var Se=e(T()),Ce={class:`p3xr-hash-header`},we={style:{flex:`20%`}},D={style:{flex:`60%`}},O={style:{flex:`20%`,"text-align":`right`,display:`flex`,"justify-content":`flex-end`,"align-items":`center`}},k=[`onClick`],Te=[`onClick`],Ee={key:0,style:{opacity:`0.5`}},De={class:`p3xr-hash-actions`},A=b(s({__name:`KeyHash`,props:{response:{},value:{},valueBuffer:{},keyName:{},valueFormat:{}},emits:[`refresh`],setup(e,{emit:a}){let s=e,c=a,g=ae(),b=se(),T=oe(),A=ce(),{themeKey:Oe}=ne(le()),j=n(()=>g.strings),M=n(()=>b.connection?.readonly===!0);n(()=>[`dark`,`darkNeu`,`darkoBluo`,`matrix`].includes(Oe.value));let N=n(()=>_e(b.info?.server?.redis_version).isAtLeast(8,0)),P=p(pe(0)),F=p([]),I=p(!1),L=p(null),R=p(!1),z=p(``),B=p(!1),V=p(``),H=p(-1),U=p({}),W=0,G=null,K=p(0);function q(){return!s.value||typeof s.value!=`object`?[]:Object.keys(s.value)}function J(e){P.value=e;let t=q().slice(e.startIndex,e.endIndex).map(e=>({key:e,value:s.value[e]}));F.value=t,Y(t)}ie(()=>s.value,()=>{let e=q();J(he(P.value,e.length))},{immediate:!0});async function Y(e){if(!s.value||!N.value)return;let t=(e||F.value).map(e=>e.key);if(t.length!==0)try{U.value=(await S({action:`hash-field/ttls`,payload:{key:s.keyName,fields:t}})).fieldTtls||{},W=Date.now(),ke()}catch{U.value={}}}function ke(){G&&clearInterval(G),Object.values(U.value).some(e=>e>0)&&(G=setInterval(()=>{let e=Math.floor((Date.now()-W)/1e3);if(Object.values(U.value).some(t=>t>0&&t-e<=0)){clearInterval(G),G=null,c(`refresh`);return}K.value++},1e3))}re(()=>{G&&clearInterval(G)}),o(()=>{if(document.getElementById(`p3xr-hash-ttl-pulse-css`))return;let e=document.createElement(`style`);e.id=`p3xr-hash-ttl-pulse-css`,e.textContent=`@keyframes p3xr-hash-ttl-pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }`,document.head.appendChild(e)});function X(e){K.value;let t=U.value[e];if(!t||t<=0)return-1;let n=t-Math.floor((Date.now()-W)/1e3);return n>0?n:-1}function Ae(e){let t=X(e);return t<=0?``:t<300?`#f44336`:t<3600?`#ff9800`:`#4caf50`}function je(e){return X(e)>0&&X(e)<30}function Z(e){return X(e)>0}function Q(e){let t=X(e);if(t<=0)return``;let n=T.getHumanizeDurationOptions();return(0,Se.default)(t*1e3,{...n,largest:2,round:!0,delimiter:` `})}function Me(){L.value={type:`append`,model:{type:`hash`,key:s.keyName}},I.value=!0}function $(e,t){L.value={type:`edit`,model:{type:`hash`,key:s.keyName,hashKey:e,value:t}},I.value=!0}function Ne(e){I.value=!1,L.value=null,e&&c(`refresh`)}async function Pe(e){try{await A.confirm({message:w(j.value?.confirm?.deleteHashKey)}),await S({action:`key/hash-delete-field`,payload:{key:s.keyName,hashKey:e}}),A.toast(w(j.value?.status?.deletedHashKey)),c(`refresh`)}catch(e){e!==void 0&&A.generalHandleError(e)}}async function Fe(e){try{let t=await S({action:`hash-field/ttl-get`,payload:{key:s.keyName,field:e}});V.value=e,H.value=t.ttl??-1,B.value=!0}catch(e){A.generalHandleError(e)}}async function Ie(e){if(B.value=!1,e)try{await S({action:`hash-field/ttl`,payload:{key:s.keyName,field:V.value,ttl:e.model.ttl}}),A.toast(`${V.value}: TTL ${e.model.ttl===-1?`removed`:e.model.ttl+`s`}`),Y()}catch(e){A.generalHandleError(e)}}function Le(e){z.value=String(e??``),R.value=!0}function Re(e){de(String(e??``))}function ze(e){ue(s.valueBuffer?.[e],s.keyName,`${s.keyName}-${e}`)}return(n,a)=>(d(),r(`div`,null,[t(xe,{paging:P.value,onPageChanged:J},null,8,[`paging`]),_(`div`,Ce,[_(`span`,we,f(u(w)(j.value?.page?.key?.hash?.table?.hashkey)),1),_(`span`,D,f(u(w)(j.value?.page?.key?.hash?.table?.value)),1),_(`span`,O,[M.value?i(``,!0):(d(),l(C,{key:0,text:u(w)(j.value?.intention?.add),location:`top`},{activator:m(({props:e})=>[t(x,y(e,{style:{cursor:`pointer`,color:`inherit`},onClick:Me}),{default:m(()=>[...a[1]||=[h(`mdi-plus`,-1)]]),_:1},16)]),_:1},8,[`text`]))])]),(d(!0),r(v,null,te(F.value,(n,o)=>(d(),r(`div`,{key:n.key,class:ee([`p3xr-hash-row`,{"p3xr-hash-odd":o%2==0}])},[_(`span`,{class:`p3xr-hash-field`,onClick:e=>!M.value&&$(n.key,n.value)},f(n.key),9,k),_(`span`,{class:`p3xr-hash-value`,onClick:e=>!M.value&&$(n.key,n.value)},[e.valueFormat===`hex`?(d(),l(be,{key:0,value:u(E)(n.value)},null,8,[`value`])):(d(),r(v,{key:1},[h(f(u(E)(u(fe)(n.value,e.valueFormat))),1),u(me)(n.value)?(d(),r(`span`,Ee,`...`)):i(``,!0)],64))],8,Te),_(`span`,De,[!M.value&&N.value?(d(),l(C,{key:0,text:Z(n.key)?`TTL: ${Q(n.key)}`:u(w)(j.value?.intention?.ttl),location:`top`},{activator:m(({props:e})=>[t(x,y({ref_for:!0},e,{size:`24`,style:{cursor:`pointer`,margin:`0 2px`,color:Ae(n.key)||void 0,opacity:Z(n.key)?.7:.3,animation:je(n.key)?`p3xr-hash-ttl-pulse 1s infinite`:`none`},onClick:e=>Fe(n.key)}),{default:m(()=>[...a[2]||=[h(`mdi-clock-outline`,-1)]]),_:1},16,[`style`,`onClick`])]),_:2},1032,[`text`])):i(``,!0),M.value?i(``,!0):(d(),l(C,{key:1,text:u(w)(j.value?.intention?.delete),location:`top`},{activator:m(({props:e})=>[t(x,y({ref_for:!0},e,{size:`24`,class:`p3xr-hash-icon`,style:{color:`rgb(var(--v-theme-error))`},onClick:e=>Pe(n.key)}),{default:m(()=>[...a[3]||=[h(`mdi-delete`,-1)]]),_:1},16,[`onClick`])]),_:2},1032,[`text`])),t(C,{text:u(w)(j.value?.intention?.jsonViewShow),location:`top`},{activator:m(({props:e})=>[t(x,y({ref_for:!0},e,{size:`24`,class:`p3xr-hash-icon`,style:{color:`rgb(var(--v-theme-secondary))`},onClick:e=>Le(n.value)}),{default:m(()=>[...a[4]||=[h(`mdi-file-tree`,-1)]]),_:1},16,[`onClick`])]),_:2},1032,[`text`]),t(C,{text:u(w)(j.value?.intention?.copy),location:`top`},{activator:m(({props:e})=>[t(x,y({ref_for:!0},e,{size:`24`,class:`p3xr-hash-icon`,style:{color:`rgb(var(--v-theme-secondary))`},onClick:e=>Re(n.value)}),{default:m(()=>[...a[5]||=[h(`mdi-content-copy`,-1)]]),_:1},16,[`onClick`])]),_:2},1032,[`text`]),t(C,{text:u(w)(j.value?.intention?.downloadBuffer),location:`top`},{activator:m(({props:e})=>[t(x,y({ref_for:!0},e,{size:`24`,class:`p3xr-hash-icon`,style:{color:`rgb(var(--v-theme-secondary))`},onClick:e=>ze(n.key)}),{default:m(()=>[...a[6]||=[h(`mdi-download`,-1)]]),_:1},16,[`onClick`])]),_:2},1032,[`text`]),M.value?i(``,!0):(d(),l(C,{key:2,text:u(w)(j.value?.intention?.edit),location:`top`},{activator:m(({props:e})=>[t(x,y({ref_for:!0},e,{size:`24`,class:`p3xr-hash-icon`,style:{color:`rgb(var(--v-theme-primary))`},onClick:e=>$(n.key,n.value)}),{default:m(()=>[...a[7]||=[h(`mdi-pencil`,-1)]]),_:1},16,[`onClick`])]),_:2},1032,[`text`]))])],2))),128)),t(ye,{open:I.value,data:L.value,onClose:Ne},null,8,[`open`,`data`]),t(ve,{open:R.value,value:z.value,onClose:a[0]||=e=>R.value=!1},null,8,[`open`,`value`]),t(ge,{open:B.value,ttl:H.value,onClose:Ie},null,8,[`open`,`ttl`])]))}}),[[`__scopeId`,`data-v-1c1f5657`]]);export{A as default};