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
2 lines • 16.3 kB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KeyString-CZIb5jQT.js","assets/i18n.store-Bn0-vXNV.js","assets/rolldown-runtime-C0FnF6B9.js","assets/preload-helper-Dyc0Opuk.js","assets/_plugin-vue_export-helper-CSr60JSh.js","assets/_plugin-vue_export-helper-DZ3FD-qG.css","assets/redis-state.store-CQLjozNg.js","assets/common.store-DX84iTfT.js","assets/overlay.store-B2xgCPPX.js","assets/socket.service-CjKV3Am8.js","assets/index-fkAw1zcW.js","assets/VOverlay-CsgPPnmj.js","assets/VOverlay-WME7dHtn.css","assets/VAvatar-BpemaMZs.js","assets/intersect-BVrxSzm9.js","assets/VAvatar-CV-2OiGy.css","assets/transitions-D3IW9am-.js","assets/dialog-transition-UlsDy9JC.js","assets/VInput-Djo3TaIx.js","assets/VInput-BsP73X2A.css","assets/index-bE1tecrU.css","assets/key-type-base-Cl54f8nF.js","assets/redis-version-D5h1AGvN.js","assets/JsonEditorDialog-_ApfiRxv.js","assets/JsonEditorDialog-B5hxJ3JW.css","assets/JsonViewDialog-CH8iHsQ5.js","assets/HexMonitor-DI5Etyl_.js","assets/HexMonitor-CZlHVsO5.css","assets/KeyString-BW-rihQL.css","assets/KeyHash-CQtsmR37.js","assets/KeyNewOrSetDialog-BjmP0TWI.js","assets/KeyNewOrSetDialog-CEbNqB_Y.css","assets/KeyPagerInline-LkN0dDcU.js","assets/KeyPagerInline-DQa0jEMr.css","assets/KeyHash-DKPqJoSQ.css","assets/KeyList-DpjN90qA.js","assets/key-table-8jYsycoA.css","assets/KeySet-DtiaquOH.js","assets/KeyZset-DZX3_AQI.js","assets/KeyJson-NvnoK87S.js","assets/KeyJson-Lh0j6gdb.css","assets/KeyStream-C5xNjgY5.js","assets/KeyStream-CUsrenEy.css","assets/KeyTimeseries-DroaJ7Qk.js","assets/esm-mVotxhdX.js","assets/P3xrAccordion-DE_gxTXw.js","assets/P3xrAccordion-S4URCReT.css","assets/KeyTimeseries-BYqmevas.css","assets/uPlot-CnsZ1jie.css","assets/KeyProbabilistic-C3pgwTrG.js","assets/KeyProbabilistic-yFPXpESg.css","assets/KeyVectorset-CDJOAS8K.js","assets/KeyVectorset-B3O1obEK.css","assets/KeyArray-CBwIGH9F.js"])))=>i.map(i=>d[i]);
import{o as e,r as t,t as n}from"./rolldown-runtime-C0FnF6B9.js";import{A as r,C as i,D as a,E as o,I as s,K as c,Kt as l,M as u,Nt as d,T as f,Tt as p,Y as m,Z as h,Zt as g,_t as _,at as v,et as y,j as b,k as x,lt as S,o as ee,q as C,rt as w,t as te,w as T,y as E,z as ne}from"./i18n.store-Bn0-vXNV.js";import{lt as re,o as D,t as ie,w as ae,x as O,y as oe}from"./_plugin-vue_export-helper-CSr60JSh.js";import{t as k}from"./preload-helper-Dyc0Opuk.js";import{n as se,t as ce}from"./redis-state.store-CQLjozNg.js";import{t as le}from"./common.store-DX84iTfT.js";import{i as A}from"./socket.service-CjKV3Am8.js";import{M as ue,c as de,d as fe,l as j,r as M,s as pe,u as me,x as N}from"./index-fkAw1zcW.js";import{d as P,i as he,m as F,t as ge}from"./key-type-base-Cl54f8nF.js";var I=n(((e,t)=>{t.exports=i;var n={hoursPerDay:24,daysPerWeek:7,weeksPerMonth:4,monthsPerYear:12,daysPerYear:365.25},r={ms:[`ms`,`milli`,`millisecond`,`milliseconds`],s:[`s`,`sec`,`secs`,`second`,`seconds`],m:[`m`,`min`,`mins`,`minute`,`minutes`],h:[`h`,`hr`,`hrs`,`hour`,`hours`],d:[`d`,`day`,`days`],w:[`w`,`week`,`weeks`],mth:[`mon`,`mth`,`mths`,`month`,`months`],y:[`y`,`yr`,`yrs`,`year`,`years`]};function i(e,t,r){r=Object.assign({},n,r||{}),(typeof e==`number`||e.match(/^[-+]?[0-9.]+$/g))&&(e=parseInt(e)+`ms`);let i=0,o=a(r),l=e.toLowerCase().replace(/[^.\w+-]+/g,``).match(/[-+]?[0-9.]+[a-z]+/g);if(l===null)throw Error(`The value [${e}] could not be parsed by timestring`);return l.forEach(e=>{let t=e.match(/[0-9.]+/g)[0],n=e.match(/[a-z]+/g)[0];i+=s(t,n,o)}),t?c(i,t,o):i}function a(e){let t={ms:.001,s:1,m:60,h:3600};return t.d=e.hoursPerDay*t.h,t.w=e.daysPerWeek*t.d,t.mth=e.daysPerYear/e.monthsPerYear*t.d,t.y=e.daysPerYear*t.d,t}function o(e){for(let t of Object.keys(r))if(r[t].indexOf(e)>-1)return t;throw Error(`The unit [${e}] is not supported by timestring`)}function s(e,t,n){return e*n[o(t)]}function c(e,t,n){return e/n[o(t)]}}));s(),d(),S();var _e=e(F()),L=e(I()),ve={style:{"margin-bottom":`16px`}},ye={key:0},be=u({__name:`TtlDialog`,props:{open:{type:Boolean},ttl:{}},emits:[`close`],setup(e,{emit:t}){let n=e,s=t,c=te(),u=se(),d=i(()=>c.strings),{width:p}=re(),h=i(()=>p.value>=600),y=_(-1),b=_(``);w(()=>n.open,e=>{if(!e)return;let t=n.ttl??-1;if(y.value=t,typeof t==`number`&&t>0){let e=u.getHumanizeDurationOptions();b.value=(0,_e.default)(t*1e3,{...e,delimiter:` `})}else b.value=``});function S(e){b.value=e;try{y.value=(0,L.default)(String(e),`s`)}catch{}}function ee(){let e=Number(y.value);isNaN(e)&&(e=Math.round(e)),s(`close`,{model:{ttl:e}})}function C(){s(`close`)}return(t,n)=>e.open?(m(),f(M,{key:0,open:!0,title:d.value?.confirm?.ttl?.title,width:`600px`,onClose:C},{actions:v(()=>[r(D,{variant:`flat`,color:`error`,size:`small`,onClick:C},{default:v(()=>[r(O,{class:l({"mr-1":h.value})},{default:v(()=>[...n[4]||=[x(`mdi-close-circle`,-1)]]),_:1},8,[`class`]),h.value?(m(),a(`span`,ye,g(d.value?.intention?.cancel),1)):o(``,!0),h.value?o(``,!0):(m(),f(fe,{key:1,activator:`parent`,location:`top`},{default:v(()=>[x(g(d.value?.intention?.cancel),1)]),_:1}))]),_:1}),r(D,{variant:`flat`,color:`primary`,size:`small`,onClick:ee},{default:v(()=>[r(O,{class:`mr-1`},{default:v(()=>[...n[5]||=[x(`mdi-timer`,-1)]]),_:1}),T(`span`,null,g(d.value?.intention?.ttl),1)]),_:1})]),default:v(()=>[T(`div`,ve,g(d.value?.confirm?.ttl?.textContent),1),r(N,{modelValue:y.value,"onUpdate:modelValue":n[0]||=e=>y.value=e,modelModifiers:{number:!0},label:d.value?.confirm?.ttl?.placeholder,placeholder:d.value?.confirm?.ttl?.placeholderPlaceholder,type:`number`,min:-1,variant:`outlined`,density:`comfortable`,"hide-details":``,class:`mb-3`},null,8,[`modelValue`,`label`,`placeholder`]),r(N,{modelValue:b.value,"onUpdate:modelValue":[n[1]||=e=>b.value=e,S],label:d.value?.confirm?.ttl?.convertTextToTime,placeholder:d.value?.confirm?.ttl?.convertTextToTimePlaceholder,variant:`outlined`,density:`comfortable`,"hide-details":``,class:`mb-3`},null,8,[`modelValue`,`label`,`placeholder`]),r(D,{variant:`text`,color:`secondary`,size:`small`,style:{"text-transform":`none`,"margin-top":`4px`},onClick:n[2]||=e=>t.window.open(`https://www.npmjs.com/package/timestring#keywords`,`_blank`)},{default:v(()=>[...n[3]||=[x(` https://www.npmjs.com/package/timestring `,-1)]]),_:1})]),_:1},8,[`title`])):o(``,!0)}});s(),d(),S();var xe={key:0,class:`p3xr-key-loading`},Se={key:1},Ce={class:`p3xr-key-actions`},we={class:`p3xr-key-info`},Te={class:`p3xr-key-label`},Ee=[`title`],De={class:`p3xr-key-label`},Oe={key:0,class:`p3xr-key-value`},ke={key:1,class:`p3xr-ttl-column`},Ae={class:`p3xr-ttl-humanized`},je={class:`p3xr-key-info-row`},Me={class:`p3xr-key-label`},Ne={class:`p3xr-key-value`},Pe={class:`p3xr-key-info-row`},Fe={class:`p3xr-key-label`},Ie={class:`p3xr-key-value`},Le={key:0,class:`p3xr-key-info-row`},Re={class:`p3xr-key-label`},ze={class:`p3xr-key-value p3xr-compression-badges`},Be={class:`p3xr-badge p3xr-badge-algo`},Ve={class:`p3xr-key-info-row`},He={class:`p3xr-key-label`},Ue={class:`p3xr-key-value`},We={key:0,class:`p3xr-size-pretty`},Ge={key:1},Ke={key:1,class:`p3xr-key-info-row p3xr-format-row`},qe={class:`p3xr-key-label p3xr-format-label`},Je={key:1,class:`p3xr-key-unsupported`},R=u({__name:`DatabaseKeyPage`,setup(e){let t=b(()=>k(()=>import(`./KeyString-CZIb5jQT.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]))),n=b(()=>k(()=>import(`./KeyHash-CQtsmR37.js`),__vite__mapDeps([29,2,1,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,22,25,23,24,30,31,26,27,32,33,34]))),s=b(()=>k(()=>import(`./KeyList-DpjN90qA.js`),__vite__mapDeps([35,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,25,23,24,30,22,31,26,27,32,33,36]))),u=b(()=>k(()=>import(`./KeySet-DtiaquOH.js`),__vite__mapDeps([37,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,25,23,24,30,22,31,26,27,32,33,36]))),d=b(()=>k(()=>import(`./KeyZset-DZX3_AQI.js`),__vite__mapDeps([38,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,25,23,24,30,22,31,26,27,32,33,36]))),S=b(()=>k(()=>import(`./KeyJson-NvnoK87S.js`),__vite__mapDeps([39,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,40]))),ie=b(()=>k(()=>import(`./KeyStream-C5xNjgY5.js`),__vite__mapDeps([41,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,25,23,24,30,22,31,26,27,32,33,42,36]))),M=b(()=>k(()=>import(`./KeyTimeseries-DroaJ7Qk.js`),__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,30,22,23,24,25,31,44,45,46,47,48]))),N=b(()=>k(()=>import(`./KeyProbabilistic-C3pgwTrG.js`),__vite__mapDeps([49,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,45,46,50]))),F=b(()=>k(()=>import(`./KeyVectorset-CDJOAS8K.js`),__vite__mapDeps([51,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,22,32,33,45,46,52]))),I=b(()=>k(()=>import(`./KeyArray-CBwIGH9F.js`),__vite__mapDeps([53,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,8,20,21,25,23,24,30,22,31,26,27,32,33,36]))),L=ue(),{width:ve}=re(),ye=te(),R=ce(),z=se(),B=le(),V=de(),{themeKey:Ye}=ee(me()),H=i(()=>ye.strings),Xe=i(()=>ve.value>=960),Ze=i(()=>R.connection?.readonly===!0),Qe=i(()=>[`dark`,`darkNeu`,`darkoBluo`,`matrix`].includes(Ye.value)),U=_(!0),W=_(``),G=_(null),$e=_(null),et=_(null),K=_(``),q=_(-1),J=_(`raw`),Y=_(0),X=_(!1),Z=null,tt=!1,nt=[];async function Q(e){if(!e){U.value=!1;return}U.value=!0;try{let t=await A({action:`key/get`,payload:{key:e}});if(t.ttl===-2){B.toast(P(H.value?.status?.keyIsNotExisting,{key:e})),j(`database.statistics`);return}G.value=t,K.value=t.type||``,q.value=t.ttl??-1;let n=he(t.value,t.valueBuffer,t.type);$e.value=n.value,et.value=n.valueBuffer,Y.value=ge(t),tt=q.value>-1,rt(),at(e)}catch(e){B.generalHandleError(e)}finally{U.value=!1}}function rt(){Z&&clearInterval(Z),!(q.value<=-1)&&(Z=setInterval(()=>{q.value--,(q.value<-1||tt&&q.value<1)&&(clearInterval(Z),Z=null,B.toast(P(H.value?.status?.keyIsNotExisting,{key:W.value})),R.redisChanged=!0,j(`database.statistics`))},1e3))}let it=i(()=>{if(q.value<=-1)return``;let e=z.getHumanizeDurationOptions();return(0,_e.default)(q.value*1e3,{...e,delimiter:` `})});function at(e){let t=`p3xr-theme-styles-tree-key`,n=document.getElementById(t);n||(n=document.createElement(`style`),n.id=t,document.head.appendChild(n));let r=e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`),i=Qe.value?`rgba(255,255,255,0.15)`:`rgba(0,0,0,0.15)`;n.textContent=`[data-p3xr-tree-key="${r}"] .p3xr-database-tree-node-label { background-color: ${i}; border-radius: 3px; padding: 0 4px; }`}function ot(){document.getElementById(`p3xr-theme-styles-tree-key`)?.remove()}async function st(){try{await B.confirm({message:P(H.value?.confirm?.deleteKey)}),await A({action:`key/delete`,payload:{key:W.value}}),B.toast(P(H.value?.status?.deletedKey,{key:W.value})),R.redisChanged=!0,j(`database.statistics`),await V.refresh({force:!0})}catch(e){e!==void 0&&B.generalHandleError(e)}}async function ct(){try{let e=await B.prompt({title:P(H.value?.confirm?.rename?.title),placeholder:P(H.value?.confirm?.rename?.placeholder),initialValue:W.value,okLabel:P(H.value?.intention?.rename),cancelLabel:P(H.value?.intention?.cancel)});await A({action:`key/rename`,payload:{key:W.value,keyNew:e}}),B.toast(P(H.value?.status?.renamedKey)),R.redisChanged=!0,await V.refresh({force:!0}),j(`database.key`,{key:e})}catch(e){e!==void 0&&B.generalHandleError(e)}}function lt(){X.value=!0}async function ut(e){if(X.value=!1,e)try{let t=e.model.ttl,n=String(t).trim();n===``||t==null?(await A({action:`key/persist`,payload:{key:W.value}}),await V.refresh({force:!0}),await Q(W.value),B.toast(P(H.value?.status?.persisted))):/^-?\d+$/.test(n)?(await A({action:`key/expire`,payload:{key:W.value,ttl:parseInt(n)}}),await V.refresh({force:!0}),await Q(W.value),B.toast(P(H.value?.status?.ttlChanged))):B.toast(P(H.value?.status?.notInteger))}catch(e){B.generalHandleError(e)}}function dt(e){V.addKey({event:e,node:{key:W.value}})}async function $(){await Q(W.value)}let ft=i(()=>{let e=[];return Ze.value||(e.push({icon:`mdi-plus`,label:P(H.value?.intention?.addKey),color:`secondary`,click:e=>dt(e)}),e.push({icon:`mdi-delete`,label:P(H.value?.intention?.delete),color:`error`,click:()=>st()}),e.push({icon:`mdi-timer`,label:P(H.value?.intention?.ttl),color:`primary`,click:()=>lt()}),e.push({icon:`mdi-fingerprint`,label:P(H.value?.intention?.rename),color:`primary`,click:()=>ct()})),e.push({icon:`mdi-refresh`,label:P(H.value?.intention?.reloadKey),color:`secondary`,click:()=>$()}),e}),pt={string:t,hash:n,list:s,set:u,zset:d,"ReJSON-RL":S,json:S,stream:ie,"TSDB-TYPE":M,timeseries:M,bloom:N,cuckoo:N,topk:N,cms:N,tdigest:N,vectorset:F,array:I},mt=i(()=>pt[K.value]||null),ht=i(()=>{let e=K.value;return e&&![`ReJSON-RL`,`json`,`TSDB-TYPE`,`timeseries`].includes(e)&&!e.startsWith(`MBbloom`)&&!e.startsWith(`TopK`)&&!e.startsWith(`CMSk`)&&!e.startsWith(`TDigest`)&&e!==`vectorset`});return c(()=>{let e=decodeURIComponent(L.params.key||``);W.value=e,Q(e),nt.push(pe(`refresh-key`,()=>$()))}),w(()=>L.params.key,e=>{if(!e)return;let t=decodeURIComponent(e);W.value=t,Q(t)}),w(Qe,()=>{W.value&&at(W.value)}),C(()=>{Z&&clearInterval(Z),ot(),nt.forEach(e=>e())}),(e,t)=>U.value?(m(),a(`div`,xe,[r(oe,{indeterminate:``,size:40})])):G.value?(m(),a(`div`,Se,[T(`div`,Ce,[(m(!0),a(E,null,h(ft.value,e=>(m(),a(E,{key:e.icon},[Xe.value?(m(),f(D,{key:0,variant:`flat`,color:e.color,onClick:t=>e.click(t)},{default:v(()=>[r(O,{size:`small`},{default:v(()=>[x(g(e.icon),1)]),_:2},1024),T(`span`,null,g(e.label),1)]),_:2},1032,[`color`,`onClick`])):(m(),f(fe,{key:1,text:e.label,location:`top`},{activator:v(({props:t})=>[r(D,ne({ref_for:!0},t,{variant:`flat`,color:e.color,onClick:t=>e.click(t),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`}}),{default:v(()=>[r(O,{size:`small`},{default:v(()=>[x(g(e.icon),1)]),_:2},1024)]),_:2},1040,[`color`,`onClick`])]),_:2},1032,[`text`]))],64))),128))]),T(`div`,we,[T(`div`,{class:`p3xr-key-info-row p3xr-key-clickable`,onClick:t[0]||=e=>ct()},[T(`strong`,Te,g(p(P)(H.value?.page?.key?.label?.key))+`:`,1),T(`span`,{class:`p3xr-key-value p3xr-key-ellipsis`,title:W.value},g(W.value),9,Ee)]),T(`div`,{class:`p3xr-key-info-row p3xr-key-clickable`,onClick:t[1]||=e=>lt()},[T(`strong`,De,g(p(P)(H.value?.page?.key?.label?.ttl))+`:`,1),q.value===-1?(m(),a(`span`,Oe,g(p(P)(H.value?.page?.key?.label?.ttlNotExpire)),1)):(m(),a(`div`,ke,[T(`span`,null,g(q.value),1),T(`span`,Ae,g(it.value),1)]))]),T(`div`,je,[T(`strong`,Me,g(p(P)(H.value?.page?.key?.label?.type))+`:`,1),T(`span`,Ne,g(H.value?.redisTypes?.[K.value]||K.value),1)]),T(`div`,Pe,[T(`strong`,Fe,g(p(P)(H.value?.page?.key?.label?.encoding))+`:`,1),T(`span`,Ie,g(G.value.encoding),1)]),G.value.compression?(m(),a(`div`,Le,[T(`strong`,Re,g(p(P)(H.value?.page?.key?.label?.compression))+`:`,1),T(`span`,ze,[T(`span`,Be,g(G.value.compression.algorithm?.toUpperCase()),1),T(`span`,{class:l([`p3xr-badge`,G.value.compression.ratio>=0?`p3xr-badge-positive`:`p3xr-badge-negative`])},g(G.value.compression.ratio>=0?``:`-`)+g(Math.abs(G.value.compression.ratio))+`% `,3)])])):o(``,!0),T(`div`,Ve,[T(`strong`,He,g(p(P)(H.value?.page?.key?.label?.length))+`:`,1),T(`span`,Ue,[Y.value>=1024?(m(),a(`span`,We,`(`+g(p(z).prettyBytes(Y.value))+`)\xA0`,1)):o(``,!0),x(g(Y.value)+`\xA0`+g(p(P)(H.value?.page?.key?.label?.lengthString)),1),G.value.length?(m(),a(`span`,Ge,`, `+g(G.value.length)+` `+g(p(P)(H.value?.page?.key?.label?.lengthItem)),1)):o(``,!0)])]),ht.value?(m(),a(`div`,Ke,[T(`strong`,qe,g(p(P)(H.value?.label?.format))+`:`,1),r(ae,{modelValue:J.value,"onUpdate:modelValue":t[2]||=e=>J.value=e,mandatory:``,class:`p3xr-format-toggle`,density:`compact`},{default:v(()=>[r(D,{value:`raw`},{default:v(()=>[...t[4]||=[x(`Raw`,-1)]]),_:1}),r(D,{value:`json`},{default:v(()=>[...t[5]||=[x(`JSON`,-1)]]),_:1}),r(D,{value:`hex`},{default:v(()=>[...t[6]||=[x(`Hex`,-1)]]),_:1}),r(D,{value:`base64`},{default:v(()=>[...t[7]||=[x(`Base64`,-1)]]),_:1})]),_:1},8,[`modelValue`])])):o(``,!0)]),mt.value?(m(),f(y(mt.value),{key:0,response:G.value,value:$e.value,"value-buffer":et.value,"key-name":W.value,"value-format":J.value,onRefresh:t[3]||=e=>$()},null,40,[`response`,`value`,`value-buffer`,`key-name`,`value-format`])):(m(),a(`div`,Je,g(H.value?.page?.key?.probabilistic?.noItems),1)),r(be,{open:X.value,ttl:q.value===-1?``:q.value,onClose:ut},null,8,[`open`,`ttl`])])):o(``,!0)}}),z=t({default:()=>B}),B=ie(R,[[`__scopeId`,`data-v-f4ea1002`]]);export{B as default,be as n,z as t};