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
4 lines • 84.6 kB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KeyArray-CKy6MsT-.js","assets/rolldown-runtime-aKtaBQYM.js","assets/Box-CN-vzd2M.js","assets/i18n.store-cEFY1tQT.js","assets/preload-helper-CBAdYJun.js","assets/extends-CvVTau-c.js","assets/KeyboardArrowDown-D7WhzLBq.js","assets/createSimplePaletteValueFilter-Bt9IjErz.js","assets/Delete--d__ZiCF.js","assets/index-B6abhTyw.js","assets/debounce-DxTym4g2.js","assets/redis-state.store-DegzWxJZ.js","assets/index-Ok0xKDBT.css","assets/esm-B1_nJaTZ.js","assets/Save-BBHi0U07.js","assets/KeyboardArrowUp-DWty74HS.js","assets/redis-version-D5h1AGvN.js","assets/Download-TUclGRoE.js","assets/KeyPagerInline-BWGRNe0y.js","assets/SkipPrevious-BCX6mTI2.js"])))=>i.map(i=>d[i]);
import{i as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{F as n,i as r,it as i,t as a}from"./Box-CN-vzd2M.js";import{n as o,o as s}from"./i18n.store-cEFY1tQT.js";import{f as c,n as l}from"./KeyboardArrowDown-D7WhzLBq.js";import{i as u,n as ee,r as d,t as f}from"./Delete--d__ZiCF.js";import{t as p}from"./ListItem-yYGw6TjL.js";import{a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./esm-B1_nJaTZ.js";import{t as A}from"./preload-helper-CBAdYJun.js";import{i as j,n as M,r as N,t as P}from"./Save-BBHi0U07.js";import{t as te}from"./Download-TUclGRoE.js";import{t as F}from"./Refresh-CBvrjBD9.js";import{i as I,r as L}from"./redis-state.store-DegzWxJZ.js";import{B as R,C as z,D as B,G as V,J as H,L as U,M as W,N as G,O as ne,R as re,U as ie,V as ae,X as oe,_ as K,a as q,c as se,d as J,i as ce,j as le,k as ue,m as de,q as fe,r as Y,s as pe,w as me,x as he,z as X}from"./index-B6abhTyw.js";import{a as ge,c as _e,i as ve,l as ye,n as be,o as xe,r as Se,s as Ce,t as we}from"./KeyPagerInline-BWGRNe0y.js";import{t as Te}from"./redis-version-D5h1AGvN.js";/* empty css */import{t as Ee}from"./P3xrAccordion-DoDeoAbj.js";var Z=i(),De=r((0,Z.jsx)(`path`,{d:`M4 9h4v11H4zm12 4h4v7h-4zm-6-9h4v16h-4z`}),`BarChart`),Oe=r((0,Z.jsx)(`path`,{d:`M15 4v2h3v12h-3v2h5V4zM4 20h5v-2H6V6h3V4H4z`}),`DataArray`),ke=r((0,Z.jsx)(`path`,{d:`M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3c-1.98 0-3.86.47-5.57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 9.86 2 12.01 2c2.13 0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28M3.5 9.72c-.1 0-.2-.03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9.98 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7s-.54.11-.7-.12c-.9-1.26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.96-.08.14-.23.21-.39.21m6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39s-4.66 1.97-4.66 4.39c0 1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 0 .71-.11.1-.24.15-.37.15m7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39 0-.28.22-.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-1.21.12M14.91 22c-.04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.17-3.24-2.17-5.22 0-1.62 1.38-2.94 3.08-2.94s3.08 1.32 3.08 2.94c0 1.07.93 1.94 2.08 1.94s2.08-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6.61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-.55-.04-.64-.29-.49-1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.55 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38`}),`Fingerprint`),Q=r((0,Z.jsx)(`path`,{d:`M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z`}),`Image`),Ae=r((0,Z.jsx)(`path`,{d:`m20.5 10 .5-2h-4l1-4h-2l-1 4h-4l1-4h-2L9 8H5l-.5 2h4l-1 4h-4L3 16h4l-1 4h2l1-4h4l-1 4h2l1-4h4l.5-2h-4l1-4zm-7 4h-4l1-4h4z`}),`Numbers`),je=r((0,Z.jsx)(`path`,{d:`M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61M13 14h-2V8h2z`}),`Timer`),Me=r((0,Z.jsx)(`path`,{d:`M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8`}),`Undo`),Ne=r((0,Z.jsx)(`path`,{d:`M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10z`}),`UnfoldLess`),Pe=r((0,Z.jsx)(`path`,{d:`M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15z`}),`UnfoldMore`),Fe=e(w()),$=e(s());function Ie({response:e,value:t,valueBuffer:n,keyName:r,valueFormat:i,onRefresh:s}){let c=o(e=>e.strings),ee=L(e=>e.connection),f=I(),{toast:p,generalHandleError:v,confirm:y}=K(),x=de(),C=re(`(min-width: 960px)`),w=ee?.readonly===!0,[D,O]=(0,$.useState)(!1),[k,A]=(0,$.useState)(!1),[j,M]=(0,$.useState)(!1),[F,R]=(0,$.useState)(t),[z,B]=(0,$.useState)(n),[V,H]=(0,$.useState)(null),[U,W]=(0,$.useState)(!1),[G,ne]=(0,$.useState)(!1),[ie,ae]=(0,$.useState)(!1),[se,ce]=(0,$.useState)({oldValue:``,newValue:``}),le=(0,$.useRef)(null),fe=(0,$.useCallback)(()=>{typeof F==`string`&&F.length>=f.maxValueAsBuffer?(A(!0),H(structuredClone(z))):(A(!1),H(structuredClone(F))),O(!0)},[F,z,f.maxValueAsBuffer]),Y=(0,$.useCallback)(()=>{k?B(V):R(V),O(!1),A(!1)},[k,V]),pe=(0,$.useCallback)((e,t)=>!I.getState().showDiffBeforeSave||e===t?Promise.resolve(!0):(ce({oldValue:e,newValue:t}),ae(!0),new Promise(e=>{le.current=e})),[]),me=(0,$.useCallback)(async()=>{let t=k?z:F,n=V;try{if(j&&JSON.parse(t),n!=null&&!await pe(n,t))return;if(x.show({message:c?.intention?.save}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:t}}),q(`/key-set`),O(!1),A(!1),s(),x.hide(),f.undoEnabled&&n!==void 0&&n!==t&&await K.getState().toastWithUndo(c?.status?.saved))try{x.show({message:`Undo...`}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:n}}),R(n),H(n),s(),x.hide(),K.getState().toast(c?.status?.reverted)}catch(e){K.getState().generalHandleError(e),x.hide()}}catch(e){v(e),x.hide()}},[k,F,z,j,e,r,c,s,v,V,f.undoEnabled]),he=(0,$.useCallback)(()=>{let t=document.createElement(`input`);t.type=`file`,t.onchange=async()=>{let n=t.files?.[0];if(!n)return;let i=new FileReader;i.onerror=e=>v(e),i.onload=async t=>{let n=t.target.result;try{if(D){await y({message:c?.confirm?.uploadBuffer}),k?B(n):R(n),p(c?.confirm?.uploadBufferDone);return}await y({message:c?.confirm?.uploadBuffer}),x.show(),await J({action:`key/set`,payload:{type:e?.type,value:n,key:r}}),q(`/key-set`),p(c?.confirm?.uploadBufferDoneAndSave),s()}catch(e){v(e)}finally{x.hide()}},i.readAsArrayBuffer(n)},t.click()},[D,k,e,r,c,y,p,v,s]),_e=(0,$.useCallback)(()=>W(!0),[]),ve=(0,$.useCallback)(()=>ne(!0),[]),we=(0,$.useCallback)(async()=>{try{let t=JSON.stringify(JSON.parse(F),null,f.jsonFormat||2);R(t),x.show({message:c?.intention?.save}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:t}}),q(`/key-set`),s()}catch{p(c?.label?.jsonViewNotParsable)}finally{x.hide()}},[F,f.jsonFormat,e,r,c,s]),Ee=(0,$.useCallback)(async()=>{try{p((await J({action:`key/string-digest`,payload:{key:r}})).digest||`No digest`)}catch(e){v(e)}},[r,p,v]),De=(0,$.useCallback)(()=>Se(F),[F]),Oe=(0,$.useCallback)(()=>ge(z,r),[z,r]),ke=()=>z?.byteLength===void 0?``:`(`+(f.prettyBytes?.(z.byteLength)??`${z.byteLength} bytes`)+`)`,Q=({icon:e,label:t,color:n=`primary`,onClick:r})=>C?(0,Z.jsxs)(oe,{variant:`contained`,color:n,size:`small`,onClick:r,sx:{gap:`3px`},children:[e,(0,Z.jsx)(`span`,{children:t})]}):(0,Z.jsx)(l,{title:t,placement:`top`,children:(0,Z.jsx)(oe,{variant:`contained`,color:n,onClick:r,sx:{minWidth:40,width:40,height:40,p:0,borderRadius:`4px`},children:e})});return(0,Z.jsxs)(a,{children:[!D&&(0,Z.jsxs)(a,{className:`p3xr-key-type-actions`,children:[!w&&(0,Z.jsx)(Q,{icon:(0,Z.jsx)(h,{fontSize:`small`}),label:c?.intention?.setBuffer,onClick:he}),(0,Z.jsx)(Q,{icon:(0,Z.jsx)(te,{fontSize:`small`}),label:c?.intention?.downloadBuffer,color:`secondary`,onClick:Oe}),(0,Z.jsx)(Q,{icon:(0,Z.jsx)(S,{fontSize:`small`}),label:c?.intention?.jsonViewShow,color:`secondary`,onClick:_e}),(0,Z.jsx)(Q,{icon:(0,Z.jsx)(T,{fontSize:`small`}),label:c?.intention?.copy,color:`secondary`,onClick:De}),!w&&(0,Z.jsx)(Q,{icon:(0,Z.jsx)(g,{fontSize:`small`}),label:c?.intention?.formatJson,onClick:we}),(0,Z.jsx)(Q,{icon:(0,Z.jsx)(_,{fontSize:`small`}),label:c?.intention?.jsonViewEditor,onClick:ve}),Te(L.getState().info?.server?.redis_version).isAtLeast(8,4)&&(0,Z.jsx)(Q,{icon:(0,Z.jsx)(Ae,{fontSize:`small`}),label:`Digest`,color:`secondary`,onClick:Ee}),!w&&(0,Z.jsx)(Q,{icon:(0,Z.jsx)(N,{fontSize:`small`}),label:c?.intention?.edit,onClick:fe})]}),D&&(0,Z.jsxs)(a,{className:`p3xr-key-type-actions`,children:[!w&&(0,Z.jsx)(u,{sx:{mr:1},control:(0,Z.jsx)(d,{checked:j,onChange:(e,t)=>M(t),color:`secondary`}),label:c?.label?.validateJson}),(0,Z.jsx)(Q,{icon:(0,Z.jsx)(ue,{fontSize:`small`}),label:c?.intention?.cancel,color:`error`,onClick:Y}),!w&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Q,{icon:(0,Z.jsx)(h,{fontSize:`small`}),label:c?.intention?.setBuffer,onClick:he}),(0,Z.jsx)(Q,{icon:(0,Z.jsx)(P,{fontSize:`small`}),label:c?.intention?.save,onClick:me})]})]}),(0,Z.jsx)(a,{className:`p3xr-key-type-content`,children:D?(0,Z.jsxs)(a,{className:`p3xr-key-type-editor`,children:[String(F)===`[object ArrayBuffer]`&&(0,Z.jsxs)(a,{className:`p3xr-key-type-buffer-info`,children:[typeof c?.label?.isBuffer==`function`?c.label.isBuffer({maxValueAsBuffer:f.prettyBytes(f.maxValueAsBuffer)}):``,` `,ke()]}),k&&(0,Z.jsxs)(a,{className:`p3xr-key-type-buffer-info`,children:[typeof c?.label?.isBuffer==`function`?c.label.isBuffer({maxValueAsBuffer:f.prettyBytes(f.maxValueAsBuffer)}):``,` `,ke()]}),k?(0,Z.jsx)(X,{fullWidth:!0,multiline:!0,minRows:4,value:String(z??``),onChange:e=>B(e.target.value),slotProps:{input:{sx:{fontFamily:`'Roboto Mono', monospace`,fontSize:13}}}}):(0,Z.jsx)(X,{fullWidth:!0,multiline:!0,minRows:4,value:typeof F==`string`?F:String(F??``),onChange:e=>R(e.target.value),slotProps:{input:{sx:{fontFamily:`'Roboto Mono', monospace`,fontSize:13}}}})]}):(0,Z.jsx)(a,{className:`p3xr-key-type-display`,onClick:w?void 0:fe,sx:{cursor:w?`default`:`pointer`,maxWidth:`100%`,overflow:i===`hex`?`visible`:`auto`},children:f.maxValueDisplay===-1?(0,Z.jsx)(a,{sx:{opacity:.5,fontStyle:`italic`},children:c?.label?.hiddenUntilEdit}):i===`hex`?(0,Z.jsx)(be,{value:ye(typeof F==`string`?F:``),truncated:Ce(F)}):(0,Z.jsxs)(a,{component:`span`,className:`p3xr-pre`,sx:{wordBreak:`break-all`,whiteSpace:`pre-wrap`,fontFamily:`'Roboto Mono', monospace`,fontSize:16,lineHeight:`18px`},children:[ye(xe(typeof F==`string`?F:``,i)),Ce(F)&&(0,Z.jsx)(a,{component:`span`,sx:{opacity:.5},children:`...`})]})})}),(0,Z.jsx)(m,{open:U,value:String(F??``),onClose:()=>W(!1)}),(0,Z.jsx)(E,{open:G,value:String(F??``),onClose:async t=>{if(ne(!1),t?.obj){let n=String(F??``);H(null),O(!1),A(!1),R(t.obj),x.show({message:c?.intention?.save});try{await J({action:`key/set`,payload:{type:e?.type,key:r,value:t.obj}}),q(`/key-set`),s(),x.hide(),f.undoEnabled&&n!==t.obj&&await K.getState().toastWithUndo(c?.status?.saved)&&(x.show({message:`Undo...`}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:n}}),s(),x.hide(),K.getState().toast(c?.status?.reverted))}catch(e){v(e),x.hide()}}}}),(0,Z.jsx)(b,{open:ie,keyName:r,oldValue:se.oldValue,newValue:se.newValue,onConfirm:()=>{ae(!1),le.current?.(!0)},onCancel:()=>{ae(!1),le.current?.(!1)}})]})}function Le({response:e,value:t,valueBuffer:r,keyName:i,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=L(e=>e.connection),{toast:p,confirm:h,generalHandleError:g}=K(),_=n(),v=d?.readonly===!0,y=_.palette.mode===`dark`,[b,x]=(0,$.useState)(()=>ve(t?.length??0)),[w,E]=(0,$.useState)([]),[D,O]=(0,$.useState)(!1),[k,A]=(0,$.useState)(null),[j,M]=(0,$.useState)(!1),[P,F]=(0,$.useState)(``);(0,$.useEffect)(()=>{if(!t)return;let e=_e(b,t.length);x(e),E(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]);let I=(0,$.useCallback)(e=>{if(x(e),!t){E([]);return}E(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]),R=(0,$.useCallback)(()=>{A({type:`append`,model:{type:`list`,key:i}}),O(!0)},[i]),z=(0,$.useCallback)(async e=>{try{await h({message:u?.confirm?.deleteListItem??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/list-delete-index`,payload:{key:i,index:e}}),p(u?.status?.deletedListElement),c()}catch(e){g(e)}},[i,u,h,p,c,g]),B=(0,$.useCallback)((e,t)=>{A({type:`edit`,model:{type:`list`,key:i,index:e,value:typeof t==`string`&&t.length>=L.getState().maxValueAsBuffer?r?.[e]:t}}),O(!0)},[i,r]),V=(0,$.useCallback)(e=>{O(!1),A(null),e&&c()},[c]),H=y?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,U=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,W=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`;return(0,Z.jsxs)(a,{children:[(0,Z.jsx)(we,{paging:b,onPageChange:I}),(0,Z.jsxs)(a,{className:`p3xr-key-type-table`,children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:_.palette.primary.main,color:_.palette.primary.contrastText,borderBottom:`2px solid ${W}`},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`},children:u?.page?.key?.list?.table?.index??`Index`}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`60%`},children:u?.page?.key?.list?.table?.value??`Value`}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!v&&(0,Z.jsx)(l,{title:u?.intention?.add,children:(0,Z.jsx)(ee,{sx:{cursor:`pointer`,color:`inherit`},onClick:R})})})]}),w.map((e,t)=>(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${W}`,bgcolor:t%2==0?U:`transparent`,"&:hover":{bgcolor:`${H} !important`}},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`,cursor:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,userSelect:`text`},onClick:()=>B(e.index,e.value),children:e.index}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`60%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>B(e.index,e.value),children:s===`hex`?(0,Z.jsx)(be,{value:ye(e.value),truncated:Ce(e.value)}):(0,Z.jsxs)(Z.Fragment,{children:[ye(xe(e.value,s)),Ce(e.value)&&(0,Z.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Z.jsxs)(a,{component:`span`,sx:{flex:`20%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!v&&(0,Z.jsx)(l,{title:u?.intention?.delete,children:(0,Z.jsx)(f,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`error.main`,"&:hover":{opacity:1}},onClick:()=>z(e.index)})}),(0,Z.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Z.jsx)(S,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`secondary.main`,"&:hover":{opacity:1}},onClick:()=>{F(String(e.value??``)),M(!0)}})}),(0,Z.jsx)(l,{title:u?.intention?.copy,children:(0,Z.jsx)(T,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`secondary.main`,"&:hover":{opacity:1}},onClick:()=>Se(e.value)})}),(0,Z.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Z.jsx)(te,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`secondary.main`,"&:hover":{opacity:1}},onClick:()=>ge(r?.[e.index],i)})}),!v&&(0,Z.jsx)(l,{title:u?.intention?.edit,children:(0,Z.jsx)(N,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`primary.main`,"&:hover":{opacity:1}},onClick:()=>B(e.index,e.value)})})]})]},e.index))]}),(0,Z.jsx)(C,{open:D,data:k,onClose:V}),(0,Z.jsx)(m,{open:j,value:P,onClose:()=>M(!1)})]})}var Re=e(t(((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)]}}))());function ze({open:e,ttl:t,onClose:n}){let r=o(e=>e.strings),[i,s]=(0,$.useState)(-1),[c,l]=(0,$.useState)(``);(0,$.useEffect)(()=>{if(!e)return;let n=t??-1;if(s(n),typeof n==`number`&&n>0)try{let e=I.getState().getHumanizeDurationOptions();l((0,Fe.default)(n*1e3,{...e,delimiter:` `}))}catch{l(``)}else l(``)},[e,t]);let u=e=>{l(e);try{s((0,Re.default)(String(e),`s`))}catch{}};return e?(0,Z.jsxs)(ce,{open:!0,onClose:()=>n(),width:`600px`,title:r?.confirm?.ttl?.title,actions:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(oe,{variant:`contained`,color:`error`,size:`small`,onClick:()=>n(),children:[(0,Z.jsx)(ue,{fontSize:`small`}),(0,Z.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.cancel})]}),(0,Z.jsxs)(oe,{variant:`contained`,color:`primary`,size:`small`,onClick:()=>{let e=Number(i);isNaN(e)&&(e=Math.round(e)),n({model:{ttl:e}})},children:[(0,Z.jsx)(je,{fontSize:`small`}),(0,Z.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.ttl})]})]}),children:[(0,Z.jsx)(a,{sx:{mb:2},children:r?.confirm?.ttl?.textContent}),(0,Z.jsx)(X,{fullWidth:!0,margin:`dense`,type:`number`,label:r?.confirm?.ttl?.placeholder,value:i,onChange:e=>s(e.target.value===``?``:Number(e.target.value)),placeholder:r?.confirm?.ttl?.placeholderPlaceholder??`-1`,slotProps:{htmlInput:{min:-1}}}),(0,Z.jsx)(X,{fullWidth:!0,margin:`dense`,label:r?.confirm?.ttl?.convertTextToTime,value:c,onChange:e=>u(e.target.value),placeholder:r?.confirm?.ttl?.convertTextToTimePlaceholder??`1h 30m`}),(0,Z.jsx)(oe,{variant:`text`,color:`secondary`,size:`small`,sx:{mt:1,textTransform:`none`},onClick:()=>window.open(`https://www.npmjs.com/package/timestring#keywords`,`_blank`),children:`https://www.npmjs.com/package/timestring`})]}):null}function Be({response:e,value:t,valueBuffer:r,keyName:i,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=L(e=>e.connection),{toast:p,confirm:h,generalHandleError:g}=K(),_=n(),v=d?.readonly===!0,y=_.palette.mode===`dark`,[b,w]=(0,$.useState)(()=>ve(t?Object.keys(t).length:0)),[E,D]=(0,$.useState)([]),[O,k]=(0,$.useState)(!1),[A,j]=(0,$.useState)(null),[M,P]=(0,$.useState)(!1),[F,R]=(0,$.useState)(``),[z,B]=(0,$.useState)(!1),[V,H]=(0,$.useState)(``),[U,W]=(0,$.useState)(-1),[G,ne]=(0,$.useState)({}),re=(0,$.useRef)(0),[ie,ae]=(0,$.useState)(0),oe=(0,$.useRef)(c);oe.current=c;let q=(0,$.useCallback)(async e=>{if(!(!t||!Te(L.getState().info?.server?.redis_version).isAtLeast(8,0)))try{let t=(e||E).map(e=>e.key);if(t.length===0)return;ne((await J({action:`hash-field/ttls`,payload:{key:i,fields:t}})).fieldTtls||{}),re.current=Date.now()}catch{ne({})}},[t,i,E]);(0,$.useEffect)(()=>{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)},[]),(0,$.useEffect)(()=>{if(!Object.values(G).some(e=>e>0))return;let e=setInterval(()=>{let t=Math.floor((Date.now()-re.current)/1e3);if(Object.values(G).some(e=>e>0&&e-t<=0)){clearInterval(e),oe.current();return}ae(e=>e+1)},1e3);return()=>clearInterval(e)},[G]),(0,$.useEffect)(()=>{if(!t)return;let e=Object.keys(t),n=_e(b,e.length);w(n);let r=e.slice(n.startIndex,n.endIndex).map(e=>({key:e,value:t[e]}));D(r),q(r)},[t]);let se=(0,$.useCallback)(e=>{if(w(e),!t){D([]);return}let n=Object.keys(t).slice(e.startIndex,e.endIndex).map(e=>({key:e,value:t[e]}));D(n),q(n)},[t,q]),ce=(0,$.useCallback)(()=>{j({type:`append`,model:{type:`hash`,key:i}}),k(!0)},[i]),le=(0,$.useCallback)(async e=>{try{await h({message:u?.confirm?.deleteHashKey??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/hash-delete-field`,payload:{key:i,hashKey:e}}),p(u?.status?.deletedHashKey),c()}catch(e){g(e)}},[i,u,h,p,c,g]),ue=(0,$.useCallback)((e,t)=>{j({type:`edit`,model:{type:`hash`,key:i,hashKey:e,value:typeof t==`string`&&t.length>=L.getState().maxValueAsBuffer?r?.[e]:t}}),k(!0)},[i,r]),de=(0,$.useCallback)(e=>{k(!1),j(null),e&&c()},[c]),fe=(0,$.useCallback)(async e=>{try{let t=await J({action:`hash-field/ttl-get`,payload:{key:i,field:e}});H(e),W(t.ttl??-1),B(!0)}catch(e){g(e)}},[i,g]),Y=(0,$.useCallback)(async e=>{if(B(!1),e)try{await J({action:`hash-field/ttl`,payload:{key:i,field:V,ttl:e.model.ttl}}),p(`${V}: TTL ${e.model.ttl===-1?`removed`:e.model.ttl+`s`}`),q()}catch(e){g(e)}},[i,V,p,g,q]),pe=e=>{let t=G[e];if(!t||t<=0)return-1;let n=t-Math.floor((Date.now()-re.current)/1e3);return n>0?n:-1},me=e=>{let t=pe(e);return t<=0?``:t<300?`#f44336`:t<3600?`#ff9800`:`#4caf50`},he=e=>pe(e)>0&&pe(e)<30,X=e=>pe(e)>0,Ee=e=>{let t=pe(e);if(t<=0)return``;let n=I.getState().getHumanizeDurationOptions();return(0,Fe.default)(t*1e3,{...n,largest:2,round:!0,delimiter:` `})},De=y?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,Oe=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,ke=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,Q=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Z.jsxs)(a,{children:[(0,Z.jsx)(we,{paging:b,onPageChange:se}),(0,Z.jsxs)(a,{children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:_.palette.primary.main,color:_.palette.primary.contrastText,borderBottom:`2px solid ${ke}`},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`},children:u?.page?.key?.hash?.table?.hashkey??`Hash Key`}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`60%`},children:u?.page?.key?.hash?.table?.value??`Value`}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!v&&(0,Z.jsx)(l,{title:u?.intention?.add,children:(0,Z.jsx)(ee,{sx:{cursor:`pointer`,color:`inherit`},onClick:ce})})})]}),E.map((e,t)=>(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${ke}`,bgcolor:t%2==0?Oe:`transparent`,"&:hover":{bgcolor:`${De} !important`}},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`,cursor:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,userSelect:`text`},onClick:()=>ue(e.key,e.value),children:e.key}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`60%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>ue(e.key,e.value),children:s===`hex`?(0,Z.jsx)(be,{value:ye(e.value),truncated:Ce(e.value)}):(0,Z.jsxs)(Z.Fragment,{children:[ye(xe(e.value,s)),Ce(e.value)&&(0,Z.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Z.jsxs)(a,{component:`span`,sx:{flex:`20%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!v&&Te(L.getState().info?.server?.redis_version).isAtLeast(8,0)&&(0,Z.jsx)(l,{title:X(e.key)?`TTL: ${Ee(e.key)}`:u?.intention?.ttl,children:(0,Z.jsx)(x,{style:{fontSize:24,cursor:`pointer`,marginLeft:2,marginRight:2,color:me(e.key)||void 0,opacity:X(e.key)?.7:.3,animation:he(e.key)?`p3xr-hash-ttl-pulse 1s infinite`:`none`},onClick:()=>fe(e.key)})}),!v&&(0,Z.jsx)(l,{title:u?.intention?.delete,children:(0,Z.jsx)(f,{sx:Q(`error.main`),onClick:()=>le(e.key)})}),(0,Z.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Z.jsx)(S,{sx:Q(`secondary.main`),onClick:()=>{R(String(e.value??``)),P(!0)}})}),(0,Z.jsx)(l,{title:u?.intention?.copy,children:(0,Z.jsx)(T,{sx:Q(`secondary.main`),onClick:()=>Se(e.value)})}),(0,Z.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Z.jsx)(te,{sx:Q(`secondary.main`),onClick:()=>ge(r?.[e.key],i,`${i}-${e.key}`)})}),!v&&(0,Z.jsx)(l,{title:u?.intention?.edit,children:(0,Z.jsx)(N,{sx:Q(`primary.main`),onClick:()=>ue(e.key,e.value)})})]})]},e.key))]}),(0,Z.jsx)(C,{open:O,data:A,onClose:de}),(0,Z.jsx)(m,{open:M,value:F,onClose:()=>P(!1)}),(0,Z.jsx)(ze,{open:z,ttl:U,onClose:Y})]})}function Ve({response:e,value:t,valueBuffer:r,keyName:i,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=L(e=>e.connection),{toast:p,confirm:h,generalHandleError:g}=K(),_=n(),v=d?.readonly===!0,y=_.palette.mode===`dark`,[b,x]=(0,$.useState)(()=>ve(t?.length??0)),[w,E]=(0,$.useState)([]),[D,O]=(0,$.useState)(!1),[k,A]=(0,$.useState)(null),[j,M]=(0,$.useState)(!1),[P,F]=(0,$.useState)(``);(0,$.useEffect)(()=>{if(!t)return;let e=_e(b,t.length);x(e),E(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]);let I=(0,$.useCallback)(e=>{if(x(e),!t){E([]);return}E(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]),R=(0,$.useCallback)(()=>{A({type:`append`,model:{type:`set`,key:i}}),O(!0)},[i]),z=(0,$.useCallback)(async e=>{try{await h({message:u?.confirm?.deleteSetMember??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/set-delete-member`,payload:{key:i,value:r?.[e]}}),p(u?.status?.deletedSetMember),c()}catch(e){g(e)}},[i,r,u,h,p,c,g]),B=(0,$.useCallback)((e,t)=>{A({type:`edit`,model:{type:`set`,key:i,value:typeof t==`string`&&t.length>=L.getState().maxValueAsBuffer?r?.[e]:t}}),O(!0)},[i,r]),V=(0,$.useCallback)(e=>{O(!1),A(null),e&&c()},[c]),H=y?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,U=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,W=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,G=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Z.jsxs)(a,{children:[(0,Z.jsx)(we,{paging:b,onPageChange:I}),(0,Z.jsxs)(a,{children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:_.palette.primary.main,color:_.palette.primary.contrastText,borderBottom:`2px solid ${W}`},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`95%`},children:u?.page?.key?.set?.table?.value??`Member`}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`5%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!v&&(0,Z.jsx)(l,{title:u?.intention?.add,children:(0,Z.jsx)(ee,{sx:{cursor:`pointer`,color:`inherit`},onClick:R})})})]}),w.map((e,t)=>(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${W}`,bgcolor:t%2==0?U:`transparent`,"&:hover":{bgcolor:`${H} !important`}},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`95%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>B(e.index,e.value),children:s===`hex`?(0,Z.jsx)(be,{value:ye(e.value),truncated:Ce(e.value)}):(0,Z.jsxs)(Z.Fragment,{children:[ye(xe(e.value,s)),Ce(e.value)&&(0,Z.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Z.jsxs)(a,{component:`span`,sx:{flex:`5%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!v&&(0,Z.jsx)(l,{title:u?.intention?.delete,children:(0,Z.jsx)(f,{sx:G(`error.main`),onClick:()=>z(e.index)})}),(0,Z.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Z.jsx)(S,{sx:G(`secondary.main`),onClick:()=>{F(String(e.value??``)),M(!0)}})}),(0,Z.jsx)(l,{title:u?.intention?.copy,children:(0,Z.jsx)(T,{sx:G(`secondary.main`),onClick:()=>Se(e.value)})}),(0,Z.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Z.jsx)(te,{sx:G(`secondary.main`),onClick:()=>ge(r?.[e.index],i)})}),!v&&(0,Z.jsx)(l,{title:u?.intention?.edit,children:(0,Z.jsx)(N,{sx:G(`primary.main`),onClick:()=>B(e.index,e.value)})})]})]},e.index))]}),(0,Z.jsx)(C,{open:D,data:k,onClose:V}),(0,Z.jsx)(m,{open:j,value:P,onClose:()=>M(!1)})]})}function He(e,t){if(!e)return[];let n=[];for(let t=0;t<e.length;t+=2)n.push({member:e[t],score:e[t+1],index:t/2});return n.slice(t.startIndex,t.endIndex)}function Ue({response:e,value:t,valueBuffer:r,keyName:i,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=L(e=>e.connection),{toast:p,confirm:h,generalHandleError:g}=K(),_=n(),v=d?.readonly===!0,y=_.palette.mode===`dark`,[b,x]=(0,$.useState)(()=>ve(t?.length??0,!0)),[w,E]=(0,$.useState)([]),[D,O]=(0,$.useState)(!1),[k,A]=(0,$.useState)(null),[j,M]=(0,$.useState)(!1),[P,F]=(0,$.useState)(``);(0,$.useEffect)(()=>{if(!t)return;let e=_e(b,t.length,!0);x(e),E(He(t,e))},[t]);let I=(0,$.useCallback)(e=>{x(e),E(He(t,e))},[t]),R=(0,$.useCallback)(()=>{A({type:`append`,model:{type:`zset`,key:i}}),O(!0)},[i]),z=(0,$.useCallback)(async e=>{try{await h({message:u?.confirm?.deleteZSetMember??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/zset-delete-member`,payload:{key:i,value:r?.[e.index*2]}}),p(u?.status?.deletedZSetMember),c()}catch(e){g(e)}},[i,r,u,h,p,c,g]),B=(0,$.useCallback)(e=>{A({type:`edit`,model:{type:`zset`,key:i,value:typeof e.member==`string`&&e.member.length>=L.getState().maxValueAsBuffer?r?.[e.index*2]:e.member,score:e.score}}),O(!0)},[i,r]),V=(0,$.useCallback)(e=>{O(!1),A(null),e&&c()},[c]),H=y?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,U=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,W=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,G=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Z.jsxs)(a,{children:[(0,Z.jsx)(we,{paging:b,onPageChange:I}),(0,Z.jsxs)(a,{children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:_.palette.primary.main,color:_.palette.primary.contrastText,borderBottom:`2px solid ${W}`},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`},children:u?.page?.key?.zset?.table?.score??`Score`}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`60%`},children:u?.page?.key?.zset?.table?.value??`Member`}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!v&&(0,Z.jsx)(l,{title:u?.intention?.add,children:(0,Z.jsx)(ee,{sx:{cursor:`pointer`,color:`inherit`},onClick:R})})})]}),w.map((e,t)=>(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${W}`,bgcolor:t%2==0?U:`transparent`,"&:hover":{bgcolor:`${H} !important`}},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:`20%`,cursor:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,userSelect:`text`},onClick:()=>B(e),children:e.score}),(0,Z.jsx)(a,{component:`span`,sx:{flex:`60%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>B(e),children:s===`hex`?(0,Z.jsx)(be,{value:ye(e.member),truncated:Ce(e.member)}):(0,Z.jsxs)(Z.Fragment,{children:[ye(xe(e.member,s)),Ce(e.member)&&(0,Z.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Z.jsxs)(a,{component:`span`,sx:{flex:`20%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!v&&(0,Z.jsx)(l,{title:u?.intention?.delete,children:(0,Z.jsx)(f,{sx:G(`error.main`),onClick:()=>z(e)})}),(0,Z.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Z.jsx)(S,{sx:G(`secondary.main`),onClick:()=>{F(String(e.member??``)),M(!0)}})}),(0,Z.jsx)(l,{title:u?.intention?.copy,children:(0,Z.jsx)(T,{sx:G(`secondary.main`),onClick:()=>Se(e.member)})}),(0,Z.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Z.jsx)(te,{sx:G(`secondary.main`),onClick:()=>ge(r?.[e.index*2],i)})}),!v&&(0,Z.jsx)(l,{title:u?.intention?.edit,children:(0,Z.jsx)(N,{sx:G(`primary.main`),onClick:()=>B(e)})})]})]},e.index))]}),(0,Z.jsx)(C,{open:D,data:k,onClose:V}),(0,Z.jsx)(m,{open:j,value:P,onClose:()=>M(!1)})]})}var We={zn:`zh-CN`,no:`nb`,fil:`tl`};function Ge(e){try{return JSON.parse(e)}catch{return e}}function Ke(e){let t=new Set;for(let[n]of e){if(t.has(n))return!0;t.add(n)}return!1}function qe(e){let t={};for(let[n,r]of e)t[n]=Ge(r);return t}function Je(e){return e.map(([e,t])=>({field:e,value:Ge(t)}))}function Ye(e){return e?e.map(e=>{let t=e[0],n=e[1],r=[];for(let e=0;e<n.length;e+=2)r.push([n[e],n[e+1]]);let i=Ke(r);return{id:t,fields:r,data:i?Je(r):qe(r),hasDuplicateFields:i}}):[]}function Xe(e){return e.hasDuplicateFields?{id:e.id,fields:e.data}:{id:e.id,...e.data}}function Ze({response:e,value:t,valueBuffer:r,keyName:i,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=o(e=>e.currentLang),p=L(e=>e.connection),{toast:h,confirm:g,generalHandleError:_}=K(),v=n(),y=p?.readonly===!0,b=v.palette.mode===`dark`,[x,w]=(0,$.useState)([]),[E,D]=(0,$.useState)(()=>ve(0)),[O,k]=(0,$.useState)([]),[A,j]=(0,$.useState)(!1),[M,N]=(0,$.useState)(null),[P,F]=(0,$.useState)(!1),[I,R]=(0,$.useState)(``);(0,$.useEffect)(()=>{let e=Ye(t);w(e);let n=_e(E,e.length);D(n),k(e.slice(n.startIndex,n.endIndex))},[t]);let z=(0,$.useCallback)(e=>{D(e),k(x.slice(e.startIndex,e.endIndex))},[x]),B=(0,$.useCallback)(e=>{try{let t=parseInt(e.slice(0,e.indexOf(`-`))),n=d||`en`,r=We[n]||n;return new Date(t).toLocaleString(r,{year:`numeric`,month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}catch{return e}},[d]),V=(0,$.useCallback)(()=>{N({type:`append`,model:{type:`stream`,key:i}}),j(!0)},[i]),H=(0,$.useCallback)(async e=>{try{await g({message:u?.confirm?.deleteStreamTimestamp??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/stream-delete-timestamp`,payload:{key:i,streamTimestamp:e}}),h(u?.status?.deletedStreamTimestamp??u?.status?.deletedKey),c()}catch(e){e&&_(e)}},[i,u,g,h,c,_]),U=(0,$.useCallback)(e=>{Se(JSON.stringify(Xe(e),null,2))},[]),W=(0,$.useCallback)(e=>{let t=[e.id];for(let[n,r]of e.fields)t.push(n),t.push(r);let n=new Blob([t.join(`
`)],{type:`text/plain`}),r=URL.createObjectURL(n),a=document.createElement(`a`);a.href=r,a.download=`${i}-${e.id}.txt`,a.click(),URL.revokeObjectURL(r)},[i]),G=(0,$.useCallback)(e=>{R(JSON.stringify(Xe(e))),F(!0)},[]),ne=(0,$.useCallback)(e=>{j(!1),N(null),e&&c()},[c]),re=b?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,ie=b?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,ae=b?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,oe=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Z.jsxs)(a,{children:[(0,Z.jsx)(we,{paging:E,onPageChange:z}),(0,Z.jsxs)(a,{children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:v.palette.primary.main,color:v.palette.primary.contrastText,borderBottom:`2px solid ${ae}`},children:[(0,Z.jsx)(a,{component:`span`,sx:{flex:1},children:u?.page?.key?.stream?.table?.timestamp??`Timestamp ID`}),(0,Z.jsx)(a,{component:`span`,sx:{textAlign:`right`},children:!y&&(0,Z.jsx)(l,{title:u?.intention?.add,children:(0,Z.jsx)(ee,{sx:{cursor:`pointer`,color:`inherit`},onClick:V})})})]}),O.map((e,t)=>(0,Z.jsxs)(a,{sx:{borderBottom:`1px solid ${ae}`,bgcolor:t%2==0?re:`transparent`,"&:hover":{bgcolor:`${ie} !important`}},children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,px:2,py:`6px`,fontSize:13},children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`center`,gap:1.5},children:[(0,Z.jsx)(`strong`,{children:e.id}),(0,Z.jsx)(a,{component:`span`,sx:{opacity:.5,fontSize:12},children:B(e.id)})]}),(0,Z.jsxs)(a,{sx:{whiteSpace:`nowrap`},children:[!y&&(0,Z.jsx)(l,{title:u?.intention?.delete,children:(0,Z.jsx)(f,{sx:oe(`error.main`),onClick:()=>H(e.id)})}),(0,Z.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Z.jsx)(S,{sx:oe(`secondary.main`),onClick:()=>G(e)})}),(0,Z.jsx)(l,{title:u?.intention?.copy,children:(0,Z.jsx)(T,{sx:oe(`secondary.main`),onClick:()=>U(e)})}),(0,Z.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Z.jsx)(te,{sx:oe(`secondary.main`),onClick:()=>W(e)})})]})]}),(0,Z.jsx)(a,{sx:{px:2,pb:1,overflow:`auto`,maxHeight:300},children:e.fields.map(([e,t],n)=>(0,Z.jsxs)(a,{sx:{display:`flex`,gap:1,py:`2px`},children:[(0,Z.jsx)(a,{component:`span`,sx:{minWidth:120,opacity:.7},children:e}),(0,Z.jsx)(a,{component:`span`,sx:{flex:1,maxHeight:200,overflow:`auto`,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`}},children:s===`hex`?(0,Z.jsx)(be,{value:ye(t),truncated:Ce(t)}):(0,Z.jsxs)(Z.Fragment,{children:[ye(xe(t,s)),Ce(t)&&(0,Z.jsx)(`span`,{style:{opacity:.5},children:`...`})]})})]},`${e}-${n}`))})]},e.id))]}),(0,Z.jsx)(C,{open:A,data:M,onClose:ne}),(0,Z.jsx)(m,{open:P,value:I,onClose:()=>F(!1)})]})}function Qe(e,t){if(t===null)return{key:e,value:null,type:`null`};if(Array.isArray(t)){let n=t.map((e,t)=>Qe(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=>Qe(e,t[e]));return{key:e,value:t,type:`object`,children:n,childCount:n.length}}return{key:e,value:t,type:typeof t}}function $e(e){return e.type===`null`?`null`:e.type===`string`?`"${e.value}"`:String(e.value)}function et(){let{palette:e}=n(),t=e.mode===`dark`;return{key:t?`white`:`black`,string:e.secondary.main,number:e.primary.main,boolean:e.error.main,null:t?`rgba(255,255,255,0.4)`:`rgba(0,0,0,0.4)`}}function tt({node:e,level:t,expandedKeys:n,toggleExpand:r,wrap:i}){let o=et(),s=`${t}-${e.key}`,c=e.type===`object`||e.type===`array`,l=n.has(s),u=c?void 0:o[e.type]??`inherit`;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`flex-start`,minHeight:24,lineHeight:1.6,pl:`${t*20}px`,fontFamily:`'Roboto Mono', monospace`,fontSize:13},children:[c?(0,Z.jsx)(a,{component:`span`,onClick:()=>r(s),sx:{width:24,height:24,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`,flexShrink:0,opacity:.6},children:l?(0,Z.jsx)(M,{sx:{fontSize:18}}):(0,Z.jsx)(j,{sx:{fontSize:18}})}):(0,Z.jsx)(a,{sx:{width:24,height:24,flexShrink:0}}),(0,Z.jsxs)(a,{sx:{display:`flex`,alignItems:`flex-start`,gap:`6px`,flex:1,minWidth:0,flexWrap:`nowrap`},children:[(0,Z.jsxs)(a,{component:`span`,sx:{flexShrink:0,whiteSpace:`nowrap`},children:[(0,Z.jsx)(a,{component:`span`,sx:{fontWeight:`bold`,color:o.key},children:e.key}),(0,Z.jsx)(a,{component:`span`,sx:{opacity:.6},children:`:`})]}),c?l?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(a,{component:`span`,sx:{opacity:.5},children:e.type===`array`?`[`:`{`}),(0,Z.jsx)(a,{component:`span`,sx:{opacity:.4},children:`...`}),(0,Z.jsx)(a,{component:`span`,sx:{opacity:.5},children:e.type===`array`?`]`:`}`}),(0,Z.jsxs)(a,{component:`span`,sx:{opacity:.4,fontSize:11,ml:`4px`},children:[`(`,e.childCount,`)`]})]}):(0,Z.jsx)(a,{component:`span`,sx:{wordBreak:i?`break-word`:`normal`,whiteSpace:i?`normal`:`nowrap`,minWidth:0,color:u,fontStyle:e.type===`null`?`italic`:`normal`},children:$e(e)})]})]}),c&&l&&e.children?.map((e,a)=>(0,Z.jsx)(tt,{node:e,level:t+1,expandedKeys:n,toggleExpand:r,wrap:i},`${e.key}-${a}`))]})}function nt({response:e,value:t,valueBuffer:n,keyName:r,valueFormat:i,onRefresh:s}){let c=o(e=>e.strings),u=L(e=>e.connection),{toast:ee,generalHandleError:d}=K(),f=de(),p=re(`(min-width: 960px)`),m=u?.readonly===!0,[h,g]=(0,$.useState)(void 0),[_,v]=(0,$.useState)(!0),[y,x]=(0,$.useState)(new Set),[S,C]=(0,$.useState)(!1),[w,O]=(0,$.useState)(!1),[A,j]=(0,$.useState)({oldValue:``,newValue:``}),M=(0,$.useRef)(null),P=c?.label?.tree??`root`;(0,$.useEffect)(()=>{try{g(JSON.parse(t)),x(new Set([`0-${P}`]))}catch{g(void 0)}},[t,P]);let F=(0,$.useCallback)(e=>{x(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),R=(0,$.useCallback)(()=>{if(h===void 0)return;let e=Qe(P,h),t=new Set,n=(e,r)=>{let i=`${r}-${e.key}`;(e.type===`object`||e.type===`array`)&&(t.add(i),e.children?.forEach(e=>n(e,r+1)))};n(e,0),x(t)},[h,P]),z=(0,$.useCallback)(()=>{x(new Set([`0-${P}`]))},[P]),B=(0,$.useCallback)(()=>Se(t),[t]),V=(0,$.useCallback)(()=>{let e=new Blob([t],{type:`application/json`}),n=URL.createObjectURL(e),i=document.createElement(`a`);i.href=n,i.download=`${r}.json`,i.click(),URL.revokeObjectURL(n)},[t,r]);(0,$.useCallback)((e,t)=>!I.getState().showDiffBeforeSave||e===t?Promise.resolve(!0):(j({oldValue:e,newValue:t}),O(!0),new Promise(e=>{M.current=e})),[]);let H=(0,$.useCallback)(async e=>{if(C(!1),!e?.obj)return;let n=t;try{let t=typeof e.obj==`string`?e.obj:JSON.stringify(e.obj);f.show(),await J({action:`key/json-set`,payload:{key:r,path:`$`,value:t}}),q(`/key-json-set`),s(),f.hide(),I.getState().undoEnabled&&n!==void 0&&n!==t&&await K.getState().toastWithUndo(c?.status?.set)&&(f.show({message:`Undo...`}),await J({action:`key/json-set`,payload:{key:r,path:`$`,value:n}}),s(),f.hide(),K.getState().toast(c?.status?.reverted))}catch(e){e&&d(e),f.hide()}},[r,c,t,s,d]),U=({icon:e,label:t,color:n=`secondary`,onClick:r})=>p?(0,Z.jsxs)(oe,{variant:`contained`,color:n,onClick:r,children:[e,(0,Z.jsx)(`span`,{children:t})]}):(0,Z.jsx)(l,{title:t,placement:`top`,children:(0,Z.jsx)(oe,{variant:`contained`,color:n,onClick:r,sx:{minWidth:40,width:40,height:40,p:0,borderRadius:`4px`},children:e})}),W=h===void 0?null:Qe(P,h);return(0,Z.jsxs)(a,{children:[(0,Z.jsxs)(a,{className:`p3xr-key-type-actions`,children:[(0,Z.jsx)(U,{icon:(0,Z.jsx)(T,{fontSize:`small`}),label:c?.intention?.copy,onClick:B}),(0,Z.jsx)(U,{icon:(0,Z.jsx)(te,{fontSize:`small`}),label:c?.intention?.downloadJson??`Download JSON`,onClick:V}),(0,Z.jsx)(U,{icon:(0,Z.jsx)(Pe,{fontSize:`small`}),label:c?.page?.treeControls?.expandAll,onClick:R}),(0,Z.jsx)(U,{icon:(0,Z.jsx)(Ne,{fontSize:`small`}),label:c?.page?.treeControls?.collapseAll,onClick:z}),(0,Z.jsx)(U,{icon:_?(0,Z.jsx)(D,{fontSize:`small`}):(0,Z.jsx)(k,{fontSize:`small`}),label:_?c?.intention?.unwrap??`Unwrap`:c?.intention?.wrap??`Wrap`,onClick:()=>v(e=>!e)}),!m&&(0,Z.jsx)(U,{icon:(0,Z.jsx)(N,{fontSize:`small`}),label:c?.intention?.jsonViewEditor,color:`primary`,onClick:()=>C(!0)})]}),(0,Z.jsx)(a,{className:`p3xr-key-type-content`,sx:{overflow:`auto`},children:W?(0,Z.jsx)(tt,{node:W,level:0,expandedKeys:y,toggleExpand:F,wrap:_}):(0,Z.jsx)(a,{className:`p3xr-pre`,children:ye(t)})}),(0,Z.jsx)(E,{open:S,value:String(t??``),hideFormatSave:!0,onClose:H}),(0,Z.jsx)(b,{open:w,keyName:r,oldValue:A.oldValue,newValue:A.newValue,onConfirm:()=>{O(!1),M.current?.(!0)},onCancel:()=>{O(!1),M.current?.(!1)}})]})}var rt=[`avg`,`min`,`max`,`sum`,`count`,`first`,`last`,`range`,`std.p`,`std.s`,`var.p`,`var.s`],it=[`#1976d2`,`#9c27b0`,`#f44336`,`#4caf50`,`#ff9800`,`#00bcd4`,`#e91e63`,`#8bc34a`];function at({response:e,value:t,keyName:r,onRefresh:i}){let s=o(e=>e.strings),c=o(e=>e.currentLang),u=L(e=>e.connection),{toast:d,confirm:m,generalHandleError:h}=K();de();let g=n();re(`(min-width: 960px)`);let _=u?.readonly===!0,v=g.palette.mode===`dark`,[y,b]=(0,$.useState)(()=>t||{}),[x,S]=(0,$.useState)([]),[w,T]=(0,$.useState)(``),[E,D]=(0,$.useState)(``),[k,j]=(0,$.useState)(``),[M,te]=(0,$.useState)(``),[I,z]=(0,$.useState)(`*`),[U,W]=(0,$.useState)(``),[G,oe]=(0,$.useState)(!1),[q,se]=(0,$.useState)(!1),[ce,le]=(0,$.useState)(0),[ue,pe]=(0,$.useState)(`LAST`),[me,he]=(0,$.useState)(``),[ge,_e]=(0,$.useState)(``),[ve,ye]=(0,$.useState)(``),[be,xe]=(0,$.useState)([]),[Se,Ce]=(0,$.useState)(!1),[we,Te]=(0,$.useState)(null),[De,Oe]=(0,$.useState)(!1),ke=(0,$.useRef)(null),Ae=(0,$.useRef)(null),je=(0,$.useRef)(null),Me=(0,$.useRef)(null),Ne=(0,$.useRef)(null),Pe=(0,$.useRef)(null),Fe=(0,$.useRef)(null),Ie=(0,$.useRef)([]),Le=(0,$.useRef)([]);Ie.current=x,Le.current=be;let Re=O({count:x.length,getScrollElement:()=>Fe.current,estimateSize:()=>40,overscan:10}),ze=(0,$.useMemo)(()=>{if(!y)return[];let e=new Set([`labels`,`rules`,`sourceKey`,`chunks`]);return Object.entries(y).filter(([t])=>!e.has(t)).map(([e,t])=>({key:e,value:t}))},[y]),Be=(0,$.useMemo)(()=>{let e=y?.labels;return!e||typeof e!=`object`?[]:Object.entries(e).map(([e,t])=>({key:e,value:String(t)}))},[y]),Ve=(0,$.useMemo)(()=>Array.isArray(y?.rules)?y.rules:[],[y]),He=e=>e?e.charAt(0).toUpperCase()+e.slice(1):``,Ue=(0,$.useCallback)(e=>new Date(e).toLocaleString(c||`en`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,fractionalSecondDigits:3}),[c]),We=(0,$.useRef)({primary:g.palette.primary.main,isDark:v});We.current={primary:g.palette.primary.main,isDark:v};let Ge=(0,$.useRef)(c);Ge.current=c;let Ke=(0,$.useCallback)(()=>{let{primary:e,isDark:t}=We.current;return{primary:e||(t?`#90caf9`:`#1976d2`),text:t?`rgba(255,255,255,0.87)`:`rgba(0,0,0,0.87)`,grid:t?`rgba(255,255,255,0.08)`:`rgba(0,0,0,0.08)`}},[]),qe=(0,$.useCallback)((e,t)=>{if(t.length===0)return[e.map(e=>e.timestamp/1e3),e.map(e=>e.value)];let n=[e,...t.map(e=>e.data)],r=new Set;for(let e of n)for(let t of e)r.add(t.timestamp);let i=Array.from(r).sort((e,t)=>e-t),a=[i.map(e=>e/1e3)];for(let e of n){let t=new Map;for(let n of e)t.set(n.timestamp,n.value);a.push(i.map(e=>t.has(e)?t.get(e):null))}return a},[]),Je=(0,$.useCallback)(()=>{Me.current?.disconnect(),Me.current=null,Ae.current?.destroy(),Ae.current=null},[]),Ye=(0,$.useCallback)(()=>{if(!je.current||!ke.current)return;Je();let e=ke.current,t=e.clientWidth||400,n=Ie.current,i=Le.current,a=Ke();Ge.current;let o=[{label:s?.label?.time,value:(e,t)=>t?new Date(t*1e3).toLocaleString(Ge.current||`en`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):``},{label:r,stroke:a.primary,width:2,fill:a.primary+`15`}];for(let e=0;e<i.length;e++)o.push({label:i[e].key,stroke:it[(e+1)%it.length],width:2});let c={width:t,height:400,cursor:{show:!0,drag:{x:!1,y:!1}},legend:{show:!0,live:!0},scales:{x:{time:!0}},axes:[{stroke:a.text,grid:{stroke:a.grid,width:1},ticks:{stroke:a.grid},font:`11px Roboto`,values:(e,t)=>t.map(e=>new Date(e*1e3).toLocaleTimeString(Ge.current||`en`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}))},{stroke:a.text,grid:{stroke:a.grid,width:1},ticks:{stroke:a.grid},font:`11px Roboto Mono`,size:65}],series:o},l=qe(n,i);Ae.current=new je.current(c,l,e);let u;Me.current=new ResizeObserver(()=>{clearTimeout(u),u=setTimeout(()=>{let t=e.clientWidth;t>0&&Ae.current?.setSize({width:t,height:400})},50)}),Me.current.observe(e)},[Je,Ke,qe]),Xe=(0,$.useCallback)(()=>{if(!je.current||!ke.current)return;let e=Ie.current,t=Le.current,n=2+t.length;if(!Ae.current||Ae.current.series?.length!==n){Ye();return}let r=qe(e,t);Ae.current.setData(r,!0),r[0].length>0&&Ae.current.setScale(`x`,{min:r[0][0],max:r[0][r[0].length-1]})},[Ye,qe]),Ze=(0,$.useCallback)(async()=>{try{let e={key:r};w&&(e.from=w),E&&(e.to=E),k&&M&&(e.aggregation={type:k,timeBucket:parseInt(M,10)});let t=(await J({action:`timeseries/range`,payload:e})).data||[];S(t),Ie.current=t;let n=[],i=ge.split(`,`).map(e=>e.trim()).filter(e=>e.length>0);for(let e of i)try{let t={key:e};w&&(t.from=w),E&&(t.to=E),k&&M&&(t.aggregation={type:k,timeBucket:parseInt(M,10)});let r=await J({action:`timeseries/range`,payload:t});n.push({key:e,data:r.data||[]})}catch{}if(ve.trim().length>0)try{let e={filter:ve.trim()};w&&(e.from=w),E&&(e.to=E),k&&M&&(e.aggregation={type:k,timeBucket:parseInt(M,10)});let t=await J({action:`timeseries/mrange`,payload:e});for(let e of t.data||[])e.key!==r&&n.push({key:e.key,data:e.data})}catch{}xe(n),Le.current=n,setTimeout(()=>Xe(),0)}catch(e){h(e)}},[r,w,E,k,M,ge,ve,Xe,h]),Qe=(0,$.useCallback)(()=>{clearTimeout(Pe.current),Pe.current=setTimeout(()=>Ze(),500)},[Ze]);(0,$.useEffect)(()=>{let e=!1;return A(()=>import(`./uPlot.esm-DlluxdM_.js`).then(t=>{e||(je.current=t.default,Oe(!0))}),[]).catch(e=>console.error(`Failed to load uPlot`,e)),()=>{e=!0,Je()}},[]),(0,$.useEffect)(()=>{if(b(t||{}),Ze(),!_){let e=t?.labels;(e&&typeof e==`object`?Object.keys(e).length:0)===0&&J({action:`timeseries/alter`,payload:{key:r,labels:`key ${r}`}}).then(()=>{b(e=>({...e,labels:{key:r}}))}).catch(()=>{})}},[t]),(0,$.useEffect)(()=>{if(!De)return;let e=setTimeout(()=>{Ae.current?Xe():Ye()},150);return()=>clearTimeout(e)},[De,x]);let $e=g.palette.primary.main;(0,$.useEffect)(()=>{if(!De)return;let e=setTimeout(()=>{Je(),Ye()},100);return()=>clearTimeout(e)},[v,c,$e]),(0,$.useEffect)(()=>(G?Ne.current=setInterval(()=>Ze(),1e4):clearInterval(Ne.current),()=>clearInterval(Ne.current)),[G,Ze]);let et=(0,$.useCallback)(async()=>{if(U)try{await J({action:`timeseries/add`,payload:{key:r,timestamp:I||`*`,value:parseFloat(U)}}),d(s?.status?.added),W(``),i()}catch(e){h(e)}},[r,I,U,s,d,i,h]),tt=(0,$.useCallback)(async e=>{try{await m({message:s?.confirm?.delete}),await J({action:`timeseries/del`,payload:{key:r,from:e.timestamp,to:e.timestamp}}),d(s?.status?.deleted),i()}catch(e){e!=null&&h(e)}},[r,s,m,d,i,h]),nt=(0,$.useCallback)(e=>{Te({type:`edit`,model:{type:`timeseries`,key:r,tsTimestamp:String(e.timestamp),value:e.value,originalTimestamp:e.timestamp}}),Ce(!0)},[r]),at=(0,$.useCallback)(()=>{Te({type:`edit`,model:{type:`timeseries`,key:r,value:x.map(e=>`${e.timestamp} ${e.value}`).join(`
`),tsEditAll:!0,tsLabels:Be.map(e=>`${e.key} ${e.value}`).join(` `)||`key ${r}`}}),Ce(!0)},[x,Be,r]),ot=(0,$.useCallback)(e=>{Ce(!1),Te(null),e&&(i(),Ze())},[i,Ze]),st=(0,$.useCallback)(()=>{se(e=>(e||(le(y?.retentionTime||0),pe((y?.duplicatePolicy||`LAST`).toUpperCase()),he(Be.map(e=>`${e.key} ${e.value}`).join(` `)||`key ${r}`)),!e))},[y,Be,r]),ct=(0,$.useCallback)(async()=>{try{await J({action:`timeseries/alter`,payload:{key:r,retention:ce,duplicatePolicy:ue,labels:me.trim().length>0?me:`key ${r}`}}),d(s?.status?.saved),se(!1),i()}catch(e){h(e)}},[r,ce,ue,me,s,d,i,h]),lt=(0,$.useCallback)(()=>{if(!Ae.current||!ke.current)return;let e=ke.current.querySelector(`canvas`);if(!e)return;let t=v?`#1e1e1e`:`#ffffff`,n=v?`rgb