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 • 12.7 kB
JavaScript
import{A as e,C as t,D as n,E as r,I as i,M as ee,Nt as a,O as te,T as o,Y as s,Z as c,Zt as l,_ as u,_t as d,at as f,g as ne,k as p,lt as m,rt as re,t as ie,u as h,w as g,y as _,z as v}from"./i18n.store-Bkc9i0ZB.js";import{lt as ae,o as y,x as b}from"./_plugin-vue_export-helper-BZ1AqotW.js";import{t as oe}from"./redis-state.store-6nwmGrRG.js";import{t as se}from"./common.store-yJBdXfWc.js";import{t as ce}from"./overlay.store-BBYRGnlo.js";import{i as x}from"./socket.service-CwqYs11N.js";import{C as le,D as ue,b as de,d as S,h as fe,i as C,w as pe,x as w}from"./index-BNz7Rlxf.js";import{t as me}from"./redis-version-D5h1AGvN.js";import{t as T}from"./P3xrAccordion-HdyTZEnI.js";i(),a(),h(),m();var he={style:{padding:`16px`}},ge={key:0,style:{opacity:`0.5`}},_e={style:{display:`flex`,"align-items":`center`,gap:`8px`}},ve={key:0,style:{display:`flex`,gap:`8px`,"flex-wrap":`wrap`,"margin-top":`8px`}},ye={style:{"margin-top":`8px`,"text-align":`right`}},be={style:{padding:`16px`,opacity:`0.5`}},xe={style:{"font-size":`12px`,opacity:`0.7`}},Se={style:{display:`flex`,width:`100%`,"align-items":`center`}},Ce={style:{flex:`1`}},we={style:{padding:`2px 6px`,"border-radius":`4px`,"font-size":`11px`,background:`rgba(128,128,128,0.1)`,"font-family":`'Roboto Mono', monospace`}},Te={style:{"font-family":`'Roboto Mono', monospace`,"font-size":`12px`}},Ee={style:{display:`flex`,width:`100%`}},De={style:{flex:`1`}},Oe={style:{"font-family":`'Roboto Mono', monospace`,"font-size":`12px`}},ke={style:{padding:`16px`}},Ae={style:{display:`flex`,"align-items":`center`,gap:`8px`,margin:`8px 0`}},je={style:{display:`flex`,"align-items":`center`,gap:`8px`,"flex-shrink":`0`}},Me={style:{"margin-top":`8px`,"text-align":`right`}},E=20,D=ee({__name:`SearchPage`,setup(i){let ee=ie(),a=oe(),m=se(),h=ce(),{width:D}=ae(),Ne=t(()=>D.value>=960),O=t(()=>ee.strings),k=t(()=>O.value?.page?.search||{}),A=t(()=>a.connection?.readonly===!0),j=d([]),M=d(``),N=d(`*`),P=d(0),F=d(0),I=d([]),L=d(null),R=d(!1),z=d(!1),B=d(!1),V=d(``),H=d(``),U=d(10),W=d(``),G=d(``),K=d([{name:``,type:`TEXT`,sortable:!1}]),q=t(()=>Math.ceil(F.value/E)),Pe=t(()=>Math.floor(P.value/E)+1);function J(e){return Object.keys(e).filter(e=>e!==`_key`)}async function Y(){try{let e=await x({action:`search/list`,payload:{}});return j.value=e.data,e.data}catch{return[]}}async function X(e){let t=e||M.value;if(t)try{L.value=(await x({action:`search/index-info`,payload:{index:t}})).data}catch(e){m.generalHandleError(e)}}async function Fe(e){if(!(!M.value||!N.value))try{let t;if(B.value&&V.value&&H.value){let n=H.value.split(`,`).map(e=>parseFloat(e.trim())).filter(e=>!isNaN(e));t=await x({action:`search/hybrid`,payload:{index:M.value,query:N.value,vectorField:V.value,vectorValues:n,count:U.value,offset:e??P.value,limit:E}})}else t=await x({action:`search/query`,payload:{index:M.value,query:N.value,offset:e??P.value,limit:E}});F.value=t.data.total,I.value=t.data.docs}catch(e){m.generalHandleError(e),I.value=[],F.value=0}finally{R.value=!0}}async function Ie(e){if(e){z.value=!0;try{let t=await x({action:`ai/redis-query`,payload:{prompt:e,context:{indexes:j.value,schema:L.value}}});N.value=t.command,t.explanation&&m.toast(t.explanation),P.value=0;let n=await x({action:`search/query`,payload:{index:M.value,query:t.command,offset:0,limit:E}});F.value=n.data.total,I.value=n.data.docs,R.value=!0,await X()}catch(e){m.generalHandleError(e)}finally{z.value=!1}}}async function Z(){let e=(N.value||``).trim();if(/^ai:\s*/i.test(e)){await Ie(e.replace(/^ai:\s*/i,``).trim());return}try{await Promise.all([Fe(0),X()])}catch{if(e.length>2&&e!==`*`&&/\s/.test(e)){h.show();try{await Ie(e)}finally{h.hide()}}}}function Q(e){let t=P.value;switch(e){case`first`:t=0;break;case`prev`:t=Math.max(0,P.value-E);break;case`next`:t=Math.min((q.value-1)*E,P.value+E);break;case`last`:t=(q.value-1)*E;break}P.value=t,Fe(t)}async function Le(){if(M.value)try{await m.confirm({message:O.value?.confirm?.dropIndex}),await x({action:`search/index-drop`,payload:{index:M.value}}),m.toast(O.value?.status?.indexDropped),M.value=``,I.value=[],F.value=0,R.value=!1,L.value=null,await Y()}catch(e){e!==void 0&&m.generalHandleError(e)}}function Re(){K.value.push({name:``,type:`TEXT`,sortable:!1})}async function ze(e){try{await m.confirm({message:O.value?.intention?.delete+`?`}),K.value.splice(e,1)}catch(e){e!==void 0&&m.generalHandleError(e)}}async function $(){if(!W.value.trim())return;let e=K.value.filter(e=>e.name.trim());if(e.length!==0)try{await x({action:`search/index-create`,payload:{name:W.value.trim(),prefix:G.value.trim()||void 0,schema:e}}),m.toast(O.value?.status?.indexCreated),W.value=``,G.value=``,K.value=[{name:``,type:`TEXT`,sortable:!1}],await Y()}catch(e){m.generalHandleError(e)}}function Be(e){M.value=e,P.value=0,L.value=null,X(e)}re(()=>a.connection?.id,()=>{M.value=``,I.value=[],F.value=0,R.value=!1,L.value=null,Y().then(e=>{e.length>0&&(M.value=e[0],X(e[0]))})},{immediate:!0});let Ve=t(()=>{let e=a.info?.server?.redis_version;return e?me(e).isAtLeast(8,4):!1});return(t,i)=>(s(),n(`div`,null,[e(T,{title:k.value.title,"accordion-key":`search-query`},{default:f(()=>[g(`div`,he,[j.value.length===0?(s(),n(`div`,ge,l(k.value.noIndex),1)):r(``,!0),j.value.length>0?(s(),n(_,{key:1},[g(`div`,_e,[e(de,{modelValue:M.value,"onUpdate:modelValue":[i[0]||=e=>M.value=e,Be],items:j.value,label:k.value.index,density:`compact`,variant:`outlined`,"hide-details":``},null,8,[`modelValue`,`items`,`label`]),!A.value&&M.value?(s(),o(S,{key:0,text:k.value.dropIndex,location:`top`},{activator:f(({props:t})=>[e(y,v(t,{color:`error`,variant:`flat`,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`},onClick:Le}),{default:f(()=>[e(b,{size:`small`},{default:f(()=>[...i[15]||=[p(`mdi-delete`,-1)]]),_:1})]),_:1},16)]),_:1},8,[`text`])):r(``,!0)]),e(w,{modelValue:N.value,"onUpdate:modelValue":i[1]||=e=>N.value=e,label:k.value.query,density:`compact`,variant:`outlined`,"hide-details":``,disabled:z.value,style:{"margin-top":`8px`},onKeydown:i[2]||=ne(e=>{P.value=0,Z()},[`enter`])},null,8,[`modelValue`,`label`,`disabled`]),Ve.value?(s(),n(_,{key:0},[e(fe,{modelValue:B.value,"onUpdate:modelValue":i[3]||=e=>B.value=e,label:k.value.hybridMode,color:`primary`,style:{"margin-top":`8px`}},null,8,[`modelValue`,`label`]),B.value?(s(),n(`div`,ve,[e(w,{modelValue:V.value,"onUpdate:modelValue":i[4]||=e=>V.value=e,label:k.value.vectorField,placeholder:`embedding`,density:`compact`,variant:`outlined`,"hide-details":``,style:{flex:`1`,"min-width":`150px`}},null,8,[`modelValue`,`label`]),e(w,{modelValue:H.value,"onUpdate:modelValue":i[5]||=e=>H.value=e,label:k.value.vectorValues,placeholder:`0.1, 0.2, 0.3, ...`,density:`compact`,variant:`outlined`,"hide-details":``,style:{flex:`2`,"min-width":`200px`}},null,8,[`modelValue`,`label`]),e(w,{modelValue:U.value,"onUpdate:modelValue":i[6]||=e=>U.value=e,modelModifiers:{number:!0},label:`Count`,type:`number`,density:`compact`,variant:`outlined`,"hide-details":``,style:{width:`80px`,flex:`none`}},null,8,[`modelValue`])])):r(``,!0)],64)):r(``,!0),g(`div`,ye,[Ne.value?(s(),o(y,{key:0,color:`primary`,variant:`flat`,size:`small`,disabled:z.value,style:{gap:`3px`},onClick:i[7]||=e=>{P.value=0,Z()}},{default:f(()=>[e(b,{size:`small`},{default:f(()=>[...i[16]||=[p(`mdi-magnify`,-1)]]),_:1}),g(`span`,null,l(z.value?O.value?.label?.aiTranslating:k.value.title),1)]),_:1},8,[`disabled`])):(s(),o(S,{key:1,text:k.value.title,location:`top`},{activator:f(({props:t})=>[e(y,v(t,{color:`primary`,variant:`flat`,disabled:z.value,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`},onClick:i[8]||=e=>{P.value=0,Z()}}),{default:f(()=>[e(b,{size:`small`},{default:f(()=>[...i[17]||=[p(`mdi-magnify`,-1)]]),_:1})]),_:1},16,[`disabled`])]),_:1},8,[`text`]))])],64)):r(``,!0)])]),_:1},8,[`title`]),R.value&&F.value===0?(s(),n(_,{key:0},[i[18]||=g(`div`,{style:{"margin-top":`8px`}},null,-1),e(T,{title:`${k.value.results} (0)`,"accordion-key":`search-results`},{default:f(()=>[g(`div`,be,l(O.value?.label?.noResults),1)]),_:1},8,[`title`])],64)):r(``,!0),I.value.length>0||F.value>0?(s(),n(_,{key:1},[i[19]||=g(`div`,{style:{"margin-top":`8px`}},null,-1),e(T,{title:`${k.value.results} (${F.value})`,"accordion-key":`search-results`},te({default:f(()=>[e(le,{density:`compact`,class:`pa-0`},{default:f(()=>[(s(!0),n(_,null,c(I.value,t=>(s(),n(_,{key:t._key},[e(pe,{style:{padding:`8px 16px`}},{default:f(()=>[g(`div`,Se,[g(`div`,Ce,[g(`kbd`,we,l(t._key),1)]),g(`div`,Te,[(s(!0),n(_,null,c(J(t),(e,i)=>(s(),n(_,{key:e},[p(l(e)+`: `+l(t[e]),1),i<J(t).length-1?(s(),n(_,{key:0},[p(` · `)],64)):r(``,!0)],64))),128))])])]),_:2},1024),e(ue)],64))),128))]),_:1})]),_:2},[q.value>1?{name:`actions`,fn:f(()=>[e(C,{icon:`mdi-skip-previous`,label:``,color:`inherit`,onClick:i[9]||=u(e=>Q(`first`),[`stop`])}),e(C,{icon:`mdi-chevron-left`,label:``,color:`inherit`,onClick:i[10]||=u(e=>Q(`prev`),[`stop`])}),g(`span`,xe,l(Pe.value)+` / `+l(q.value),1),e(C,{icon:`mdi-chevron-right`,label:``,color:`inherit`,onClick:i[11]||=u(e=>Q(`next`),[`stop`])}),e(C,{icon:`mdi-skip-next`,label:``,color:`inherit`,onClick:i[12]||=u(e=>Q(`last`),[`stop`])})]),key:`0`}:void 0]),1032,[`title`])],64)):r(``,!0),M.value&&L.value?(s(),n(_,{key:2},[i[20]||=g(`div`,{style:{"margin-top":`8px`}},null,-1),e(T,{title:`${k.value.indexInfo}: ${M.value}`,"accordion-key":`search-index-info`},te({default:f(()=>[e(le,{density:`compact`,class:`pa-0`},{default:f(()=>[(s(!0),n(_,null,c(J(L.value),t=>(s(),n(_,{key:t},[e(pe,{style:{padding:`8px 16px`}},{default:f(()=>[g(`div`,Ee,[g(`div`,De,l(t),1),g(`div`,Oe,l(JSON.stringify(L.value[t])),1)])]),_:2},1024),e(ue)],64))),128))]),_:1})]),_:2},[A.value?void 0:{name:`actions`,fn:f(()=>[e(C,{icon:`mdi-delete`,label:k.value.dropIndex,color:`inherit`,onClick:u(Le,[`stop`])},null,8,[`label`])]),key:`0`}]),1032,[`title`])],64)):r(``,!0),A.value?r(``,!0):(s(),n(_,{key:3},[i[26]||=g(`div`,{style:{"margin-top":`8px`}},null,-1),e(T,{title:k.value.createIndex,"accordion-key":`search-create-index`},{default:f(()=>[g(`div`,ke,[e(w,{modelValue:W.value,"onUpdate:modelValue":i[13]||=e=>W.value=e,label:k.value.indexName,density:`compact`,variant:`outlined`,"hide-details":``},null,8,[`modelValue`,`label`]),e(w,{modelValue:G.value,"onUpdate:modelValue":i[14]||=e=>G.value=e,label:k.value.prefix,placeholder:`e.g. doc:`,density:`compact`,variant:`outlined`,"hide-details":``,style:{"margin-top":`8px`}},null,8,[`modelValue`,`label`]),g(`div`,Ae,[i[22]||=g(`strong`,null,`Schema`,-1),e(S,{text:`Add`,location:`top`},{activator:f(({props:t})=>[e(y,v(t,{color:`primary`,variant:`flat`,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`},onClick:Re}),{default:f(()=>[e(b,{size:`small`},{default:f(()=>[...i[21]||=[p(`mdi-plus`,-1)]]),_:1})]),_:1},16)]),_:1})]),(s(!0),n(_,null,c(K.value,(t,r)=>(s(),n(`div`,{key:r,style:{display:`flex`,"align-items":`center`,gap:`8px`,"margin-bottom":`4px`,"flex-wrap":`wrap`}},[e(w,{modelValue:t.name,"onUpdate:modelValue":e=>t.name=e,label:k.value.fieldName,density:`compact`,variant:`outlined`,"hide-details":``,style:{flex:`1`,"min-width":`120px`}},null,8,[`modelValue`,`onUpdate:modelValue`,`label`]),g(`div`,je,[e(de,{modelValue:t.type,"onUpdate:modelValue":e=>t.type=e,items:[`TEXT`,`NUMERIC`,`TAG`,`GEO`,`VECTOR`],label:O.value?.label?.type,density:`compact`,variant:`outlined`,"hide-details":``,style:{width:`130px`}},null,8,[`modelValue`,`onUpdate:modelValue`,`label`]),e(S,{text:O.value?.intention?.delete,location:`top`},{activator:f(({props:t})=>[e(y,v({ref_for:!0},t,{color:`error`,variant:`flat`,disabled:K.value.length<=1,style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`},onClick:e=>ze(r)}),{default:f(()=>[e(b,{size:`small`},{default:f(()=>[...i[23]||=[p(`mdi-minus`,-1)]]),_:1})]),_:1},16,[`disabled`,`onClick`])]),_:2},1032,[`text`])])]))),128)),g(`div`,Me,[Ne.value?(s(),o(y,{key:0,color:`secondary`,variant:`flat`,size:`small`,disabled:!W.value.trim(),style:{gap:`3px`},onClick:$},{default:f(()=>[e(b,{size:`small`},{default:f(()=>[...i[24]||=[p(`mdi-plus`,-1)]]),_:1}),g(`span`,null,l(k.value.createIndex),1)]),_:1},8,[`disabled`])):(s(),o(S,{key:1,text:k.value.createIndex,location:`top`},{activator:f(({props:t})=>[e(y,v(t,{color:`secondary`,variant:`flat`,disabled:!W.value.trim(),style:{"min-width":`40px`,width:`40px`,height:`40px`,padding:`0`,"border-radius":`4px`},onClick:$}),{default:f(()=>[e(b,{size:`small`},{default:f(()=>[...i[25]||=[p(`mdi-plus`,-1)]]),_:1})]),_:1},16,[`disabled`])]),_:1},8,[`text`]))])])]),_:1},8,[`title`])],64))]))}});export{D as default};