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 • 1.91 kB
JavaScript
import{C as e,D as t,G as n,J as r,K as i,Kt as a,M as o,X as s,Yt as c,ht as l,k as u,nt as d,w as f,y as p,z as m}from"./i18n.store-B-qxQMr8.js";import{t as h}from"./_plugin-vue_export-helper-Cw5qm5mn.js";var g={class:`p3xr-hex-monitor`},_={class:`p3xr-hex-addr`},v={class:`p3xr-hex-bytes`},y={class:`p3xr-hex-dim`},b={class:`p3xr-hex-ascii`},x={class:`p3xr-hex-dim`},S=h(o({__name:`HexMonitor`,props:{value:{}},setup(o){let h=o,S=l(),C=l(),w=l(0),T=null,E=e(()=>{if(!h.value)return[];let e=new TextEncoder().encode(h.value),t=[];for(let n=0;n<e.length;n+=16){let r=e.slice(n,n+16),i=r.length,a=n.toString(16).padStart(8,`0`),o=new Uint8Array(16);o.set(r);let s=Array.from(o.slice(0,8)).map(e=>e.toString(16).padStart(2,`0`)).join(` `),c=Array.from(o.slice(8)).map(e=>e.toString(16).padStart(2,`0`)).join(` `),l=s+` `+c,u=Array.from(o).map(e=>e>=32&&e<=126?String.fromCharCode(e):`.`).join(``);if(i===16)t.push({addr:a,hexReal:l,hexPad:``,asciiReal:u,asciiPad:``});else{let e=i<=8?3*i-1:25+3*(i-8)-1;t.push({addr:a,hexReal:l.substring(0,e),hexPad:l.substring(e),asciiReal:u.substring(0,i),asciiPad:u.substring(i)})}}return t});function D(){S.value&&(w.value=S.value.scrollWidth)}function O(){S.value&&C.value&&(S.value.scrollLeft=C.value.scrollLeft)}return n(()=>{D(),S.value&&(T=new ResizeObserver(()=>D()),T.observe(S.value))}),d(()=>h.value,()=>m(D)),i(()=>{T?.disconnect()}),(e,n)=>(r(),t(`div`,g,[f(`div`,{ref_key:`contentRef`,ref:S,class:`p3xr-hex-content`},[(r(!0),t(p,null,s(E.value,e=>(r(),t(`div`,{key:e.addr,class:`p3xr-hex-line`},[f(`span`,_,c(e.addr),1),f(`span`,v,[u(c(e.hexReal),1),f(`span`,y,c(e.hexPad),1)]),f(`span`,b,[u(c(e.asciiReal),1),f(`span`,x,c(e.asciiPad),1)])]))),128))],512),f(`div`,{ref_key:`scrollbarRef`,ref:C,class:`p3xr-hex-scrollbar`,onScroll:O},[f(`div`,{style:a({height:`1px`,width:w.value+`px`})},null,4)],544)]))}}),[[`__scopeId`,`data-v-448d088f`]]);export{S as t};