UNPKG

p3x-redis-ui-material

Version:

💿 The p3x-redis-ui-material web interface that connects to the p3x-redis-ui-server via http and socket.io

1 lines • 24.5 kB
"use strict";(self.webpackChunkp3x_redis_ui_material=self.webpackChunkp3x_redis_ui_material||[]).push([[2279],{93300(t,n,e){e.d(n,{B:()=>x});var i=e(63924),s=e(66608),o=e(30943),a=e(33825),c=e(46256),r=e(23232),l=e(51218),d=e(65209),h=e(34503);const p=[[["","actions",""]],[["","content",""]]],u=["[actions]","[content]"];function m(t,n){1&t&&(l.j41(0,"div",6),l.SdG(1,1),l.k0s())}class x{i18n;title="";accordionKey="";strings;extended=!0;static counter=0;storageKey="";constructor(t){this.i18n=t,this.strings=this.i18n.strings}ngOnInit(){this.accordionKey||(this.accordionKey=String(++x.counter)),this.storageKey=`p3xr-accordion-extended-${this.accordionKey}`,this.loadState()}toggle(){this.extended=!this.extended,this.saveState()}loadState(){try{const t=localStorage.getItem(this.storageKey);this.extended=null===t||"true"===t}catch{this.extended=!0}}saveState(){try{localStorage.setItem(this.storageKey,String(this.extended))}catch{}}static ɵfac=function(t){return new(t||x)(l.rXU(r.W))};static ɵcmp=l.VBU({type:x,selectors:[["p3xr-ng-accordion"]],inputs:{title:"title",accordionKey:"accordionKey"},ngContentSelectors:u,decls:11,vars:8,consts:[[1,"p3xr-accordion-wrapper"],[1,"p3xr-accordion-toolbar"],[1,"p3xr-accordion-toolbar-inner"],[1,"p3xr-accordion-title",3,"click"],[1,"p3xr-accordion-actions"],["mat-icon-button","",1,"p3xr-accordion-toggle",3,"click","matTooltip"],[1,"p3xr-accordion-content"]],template:function(t,n){if(1&t&&(l.NAR(p),l.j41(0,"div",0)(1,"mat-toolbar",1)(2,"div",2)(3,"span",3),l.bIt("click",(function(){return n.toggle()})),l.EFF(4),l.k0s(),l.j41(5,"div",4),l.SdG(6),l.k0s(),l.j41(7,"button",5),l.bIt("click",(function(){return n.toggle()})),l.j41(8,"mat-icon"),l.EFF(9),l.k0s()()()(),l.nVh(10,m,2,0,"div",6),l.k0s()),2&t){let t;l.R7$(),l.AVh("p3xr-collapsed",!n.extended)("mat-elevation-z1",!n.extended),l.R7$(3),l.SpI(" ",n.title," "),l.R7$(3),l.Y8G("matTooltip",n.extended?(null==(t=n.strings().intention)?null:t.collapse)||"Collapse":(null==(t=n.strings().intention)?null:t.extend)||"Extend"),l.R7$(2),l.JRh(n.extended?"keyboard_arrow_up":"keyboard_arrow_down"),l.R7$(),l.vxM(n.extended?10:-1)}},dependencies:[i.MD,s.s5,s.KQ,o.Hl,d.iY,a.m_,a.An,c.uc,h.oV],styles:["[_nghost-%COMP%] { display: block; }\n .p3xr-accordion-wrapper[_ngcontent-%COMP%] {\n margin-bottom: 0;\n }\n .p3xr-accordion-toolbar[_ngcontent-%COMP%] {\n height: 48px;\n min-height: 48px;\n max-height: 48px;\n font-size: 20px;\n font-weight: 400;\n background-color: var(--p3xr-accordion-bg) !important;\n color: rgba(0, 0, 0, 0.87) !important;\n padding: 0;\n border-radius: 4px 4px 0 0;\n box-shadow: 0 1px 1px rgba(0,0,0,0.3);\n }\n .p3xr-accordion-toolbar.p3xr-collapsed[_ngcontent-%COMP%] {\n box-shadow: 0 1px 1px rgba(0,0,0,0.4);\n border-radius: 4px;\n }\n \n .p3xr-accordion-toolbar-inner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n width: 100%;\n height: 48px;\n padding: 0 8px 0 16px;\n box-sizing: border-box;\n }\n .p3xr-accordion-content[_ngcontent-%COMP%] {\n border: 1px solid var(--p3xr-accordion-bg);\n border-radius: 0 0 4px 4px;\n }\n .p3xr-accordion-title[_ngcontent-%COMP%] {\n flex: 1;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .p3xr-accordion-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n }\n .p3xr-accordion-toggle[_ngcontent-%COMP%] {\n flex-shrink: 0;\n width: 40px !important;\n height: 40px !important;\n padding: 0 !important;\n }"]})}},48982(t,n,e){e.d(n,{f:()=>$});var i=e(11228),s=e(63924),o=e(30943),a=e(33825),c=e(46256),r=e(90870),l=e(51218),d=e(65209),h=e(34503);function p(t,n){if(1&t&&(l.j41(0,"mat-icon"),l.EFF(1),l.k0s()),2&t){const t=l.XpG(3);l.R7$(),l.JRh(t.mdIcon)}}function u(t,n){if(1&t&&l.nrm(0,"i"),2&t){const t=l.XpG(3);l.HbH(t.faIcon)}}function m(t,n){if(1&t&&(l.j41(0,"button",0),l.nVh(1,p,2,1,"mat-icon"),l.nVh(2,u,1,2,"i",2),l.j41(3,"span"),l.EFF(4),l.k0s()()),2&t){const t=l.XpG(2);l.Y8G("ngClass",t.classes)("disabled",t.disabled),l.R7$(),l.vxM(t.mdIcon?1:-1),l.R7$(),l.vxM(t.faIcon?2:-1),l.R7$(2),l.JRh(t.label)}}function x(t,n){if(1&t&&(l.j41(0,"mat-icon"),l.EFF(1),l.k0s()),2&t){const t=l.XpG(3);l.R7$(),l.JRh(t.mdIcon)}}function f(t,n){if(1&t&&l.nrm(0,"i"),2&t){const t=l.XpG(3);l.HbH(t.faIcon)}}function b(t,n){if(1&t&&(l.j41(0,"button",1),l.nVh(1,x,2,1,"mat-icon"),l.nVh(2,f,1,2,"i",2),l.k0s()),2&t){const t=l.XpG(2);l.Y8G("ngClass",t.classes)("disabled",t.disabled)("matTooltip",t.label)("matTooltipPosition",t.tooltipPosition)("matTooltipDisabled",!t.label),l.BMQ("aria-label",t.label||null),l.R7$(),l.vxM(t.mdIcon?1:-1),l.R7$(),l.vxM(t.faIcon?2:-1)}}function g(t,n){if(1&t&&l.nVh(0,m,5,5,"button",0)(1,b,3,8,"button",1),2&t){const t=l.XpG();l.vxM(t.isWide?0:1)}}function k(t,n){if(1&t&&(l.j41(0,"mat-icon"),l.EFF(1),l.k0s()),2&t){const t=l.XpG(3);l.R7$(),l.JRh(t.mdIcon)}}function I(t,n){if(1&t&&l.nrm(0,"i"),2&t){const t=l.XpG(3);l.HbH(t.faIcon)}}function y(t,n){if(1&t&&(l.j41(0,"button",3),l.nVh(1,k,2,1,"mat-icon"),l.nVh(2,I,1,2,"i",2),l.j41(3,"span"),l.EFF(4),l.k0s()()),2&t){const t=l.XpG(2);l.Y8G("ngClass",t.classes)("disabled",t.disabled),l.R7$(),l.vxM(t.mdIcon?1:-1),l.R7$(),l.vxM(t.faIcon?2:-1),l.R7$(2),l.JRh(t.label)}}function R(t,n){if(1&t&&(l.j41(0,"mat-icon"),l.EFF(1),l.k0s()),2&t){const t=l.XpG(3);l.R7$(),l.JRh(t.mdIcon)}}function v(t,n){if(1&t&&l.nrm(0,"i"),2&t){const t=l.XpG(3);l.HbH(t.faIcon)}}function j(t,n){if(1&t&&(l.j41(0,"button",4),l.nVh(1,R,2,1,"mat-icon"),l.nVh(2,v,1,2,"i",2),l.k0s()),2&t){const t=l.XpG(2);l.Y8G("ngClass",t.classes)("disabled",t.disabled)("matTooltip",t.label)("matTooltipPosition",t.tooltipPosition)("matTooltipDisabled",!t.label),l.BMQ("aria-label",t.label||null),l.R7$(),l.vxM(t.mdIcon?1:-1),l.R7$(),l.vxM(t.faIcon?2:-1)}}function F(t,n){if(1&t&&l.nVh(0,y,5,5,"button",3)(1,j,3,8,"button",4),2&t){const t=l.XpG();l.vxM(t.isWide?0:1)}}class ${breakpointObserver;cdr;label="";mdIcon;faIcon;tooltipDirection="above";classes="";disabled=!1;raised=!1;isWide=!0;constructor(t,n){this.breakpointObserver=t,this.cdr=n,this.breakpointObserver.observe("(min-width: 720px)").subscribe((t=>{this.isWide=t.matches,this.cdr.markForCheck()}))}get tooltipPosition(){switch(this.tooltipDirection){case"top":default:return"above";case"bottom":return"below";case"above":case"below":case"left":case"right":case"before":case"after":return this.tooltipDirection}}static ɵfac=function(t){return new(t||$)(l.rXU(r.Q),l.rXU(i.gRc))};static ɵcmp=l.VBU({type:$,selectors:[["p3xr-ng-button"]],inputs:{label:"label",mdIcon:"mdIcon",faIcon:"faIcon",tooltipDirection:"tooltipDirection",classes:"classes",disabled:"disabled",raised:"raised"},decls:2,vars:1,consts:[["mat-flat-button","",3,"ngClass","disabled"],["mat-mini-fab","",3,"ngClass","disabled","matTooltip","matTooltipPosition","matTooltipDisabled"],[3,"class"],["mat-button","",1,"md-button-dark-hover-fix",3,"ngClass","disabled"],["mat-icon-button","",1,"md-button-dark-hover-fix",3,"ngClass","disabled","matTooltip","matTooltipPosition","matTooltipDisabled"]],template:function(t,n){1&t&&l.nVh(0,g,2,1)(1,F,2,1),2&t&&l.vxM(n.raised?0:1)},dependencies:[s.MD,s.YU,o.Hl,o.$z,o.$0,d.iY,a.m_,a.An,c.uc,h.oV],styles:["[_nghost-%COMP%] { display: inline-block; }\n [_nghost-%COMP%] button[_ngcontent-%COMP%] { margin: 0 !important; }"]})}},91275(t,n,e){e.d(n,{SearchComponent:()=>K});var i=e(11228),s=e(24698),o=e(63924),a=e(71016),c=e(33825),r=e(30943),l=e(46256),d=e(774),h=e(86623),p=e(18215),u=e(90918),m=e(90870),x=e(73761),f=e(23232),b=e(26265),g=e(77385),k=e(93300),I=e(48982),y=e(51218),R=e(34503),v=e(3735),j=e(79481),F=e(12027);const $=(t,n)=>n._key;function G(t,n){if(1&t&&(y.j41(0,"div",3),y.EFF(1),y.k0s()),2&t){let t;const n=y.XpG();y.R7$(),y.JRh((null==(t=n.strings().page)||null==t.search?null:t.search.noIndex)||"No indexes found")}}function w(t,n){if(1&t&&(y.j41(0,"mat-option",7),y.EFF(1),y.k0s()),2&t){const t=n.$implicit;y.Y8G("value",t),y.R7$(),y.JRh(t)}}function X(t,n){if(1&t){const t=y.RV6();y.j41(0,"button",12),y.bIt("click",(function(){s.eBV(t);const n=y.XpG(2);return s.Njj(n.handleSearchEnter())})),y.j41(1,"mat-icon"),y.EFF(2,"search"),y.k0s(),y.j41(3,"span"),y.EFF(4),y.k0s()()}if(2&t){let t;const n=y.XpG(2);y.Y8G("disabled",n.aiLoading),y.R7$(4),y.JRh(n.aiLoading?(null==(t=n.strings().label)?null:t.aiTranslating)||"Translating...":(null==(t=n.strings().page)||null==t.search?null:t.search.title)||"Search")}}function V(t,n){if(1&t){const t=y.RV6();y.j41(0,"button",13),y.bIt("click",(function(){s.eBV(t);const n=y.XpG(2);return s.Njj(n.handleSearchEnter())})),y.j41(1,"mat-icon"),y.EFF(2,"search"),y.k0s()()}if(2&t){let t;const n=y.XpG(2);y.Y8G("disabled",n.aiLoading)("matTooltip",(null==(t=n.strings().page)||null==t.search?null:t.search.title)||"Search")}}function M(t,n){if(1&t){const t=y.RV6();y.j41(0,"mat-form-field",5)(1,"mat-label"),y.EFF(2),y.k0s(),y.j41(3,"mat-select",6),y.mxI("valueChange",(function(n){s.eBV(t);const e=y.XpG();return y.DH7(e.selectedIndex,n)||(e.selectedIndex=n),s.Njj(n)})),y.bIt("selectionChange",(function(){s.eBV(t);const n=y.XpG();return n.offset=0,s.Njj(n.indexInfo=null)})),y.Z7z(4,w,2,2,"mat-option",7,y.fX1),y.k0s()(),y.j41(6,"mat-form-field",5)(7,"mat-label"),y.EFF(8),y.k0s(),y.j41(9,"input",8),y.mxI("ngModelChange",(function(n){s.eBV(t);const e=y.XpG();return y.DH7(e.query,n)||(e.query=n),s.Njj(n)})),y.bIt("keydown.enter",(function(){s.eBV(t);const n=y.XpG();return n.offset=0,s.Njj(n.handleSearchEnter())})),y.k0s()(),y.j41(10,"div",9),y.nVh(11,X,5,2,"button",10)(12,V,3,2,"button",11),y.k0s()}if(2&t){let t,n;const e=y.XpG();y.R7$(2),y.JRh((null==(t=e.strings().page)||null==t.search?null:t.search.index)||"Index"),y.R7$(),y.R50("value",e.selectedIndex),y.R7$(),y.Dyx(e.indexes),y.R7$(4),y.JRh((null==(n=e.strings().page)||null==n.search?null:n.search.query)||"Query"),y.R7$(),y.R50("ngModel",e.query),y.Y8G("disabled",e.aiLoading),y.R7$(2),y.vxM(e.isGtSm?11:12)}}function E(t,n){if(1&t&&(y.nrm(0,"br"),y.j41(1,"p3xr-ng-accordion",14)(2,"div",1)(3,"div",15),y.EFF(4),y.k0s()()()),2&t){let t,n;const e=y.XpG();y.R7$(),y.Y8G("title",((null==(t=e.strings().page)||null==t.search?null:t.search.results)||"Results")+" (0)"),y.R7$(3),y.JRh((null==(n=e.strings().label)?null:n.noResults)||"No results")}}function C(t,n){if(1&t){const t=y.RV6();y.j41(0,"p3xr-ng-button",17),y.bIt("click",(function(n){s.eBV(t);return y.XpG(2).pageAction("first"),s.Njj(n.stopPropagation())})),y.k0s(),y.j41(1,"p3xr-ng-button",18),y.bIt("click",(function(n){s.eBV(t);return y.XpG(2).pageAction("prev"),s.Njj(n.stopPropagation())})),y.k0s(),y.j41(2,"span",19),y.EFF(3),y.k0s(),y.j41(4,"p3xr-ng-button",20),y.bIt("click",(function(n){s.eBV(t);return y.XpG(2).pageAction("next"),s.Njj(n.stopPropagation())})),y.k0s(),y.j41(5,"p3xr-ng-button",21),y.bIt("click",(function(n){s.eBV(t);return y.XpG(2).pageAction("last"),s.Njj(n.stopPropagation())})),y.k0s()}if(2&t){const t=y.XpG(2);y.R7$(3),y.Lme("",t.currentPage," / ",t.pages)}}function T(t,n){1&t&&(y.j41(0,"span"),y.EFF(1," · "),y.k0s())}function N(t,n){if(1&t&&(y.j41(0,"span"),y.EFF(1),y.k0s(),y.nVh(2,T,2,0,"span")),2&t){const t=n.$implicit,e=n.$index,i=n.$count,s=y.XpG().$implicit;y.R7$(),y.Lme("",t,": ",s[t]),y.R7$(),y.vxM(e!==i-1?2:-1)}}function P(t,n){if(1&t&&(y.j41(0,"mat-list-item")(1,"div",22)(2,"div",23)(3,"kbd",24),y.EFF(4),y.k0s()(),y.j41(5,"div",25),y.Z7z(6,N,3,3,null,null,y.fX1),y.k0s()()(),y.nrm(8,"mat-divider")),2&t){const t=n.$implicit,e=y.XpG(2);y.R7$(4),y.JRh(t._key),y.R7$(2),y.Dyx(e.getDocKeys(t))}}function D(t,n){if(1&t&&(y.nrm(0,"br"),y.j41(1,"p3xr-ng-accordion",14)(2,"div",16),y.nVh(3,C,6,2),y.k0s(),y.j41(4,"div",1)(5,"mat-list"),y.Z7z(6,P,9,1,null,null,$),y.k0s()()()),2&t){let t;const n=y.XpG();y.R7$(),y.Y8G("title",((null==(t=n.strings().page)||null==t.search?null:t.search.results)||"Results")+" ("+n.total+")"),y.R7$(2),y.vxM(n.pages>1?3:-1),y.R7$(3),y.Dyx(n.results)}}function _(t,n){if(1&t){const t=y.RV6();y.j41(0,"p3xr-ng-button",28),y.bIt("click",(function(n){s.eBV(t);return y.XpG(2).dropIndex(),s.Njj(n.stopPropagation())})),y.k0s()}if(2&t){let t;const n=y.XpG(2);y.Y8G("label",(null==(t=n.strings().page)||null==t.search?null:t.search.dropIndex)||"Drop")}}function S(t,n){if(1&t&&(y.j41(0,"mat-list-item")(1,"div",22)(2,"div",23),y.EFF(3),y.k0s(),y.j41(4,"div",25),y.EFF(5),y.nI1(6,"json"),y.k0s()()(),y.nrm(7,"mat-divider")),2&t){const t=n.$implicit,e=y.XpG(3);y.R7$(3),y.JRh(t),y.R7$(2),y.JRh(y.bMT(6,2,e.indexInfo[t]))}}function B(t,n){if(1&t&&(y.j41(0,"mat-list"),y.Z7z(1,S,8,4,null,null,y.fX1),y.k0s()),2&t){const t=y.XpG(2);y.R7$(),y.Dyx(t.getDocKeys(t.indexInfo))}}function O(t,n){if(1&t&&(y.nrm(0,"br"),y.j41(1,"p3xr-ng-accordion",26)(2,"div",16),y.nVh(3,_,1,1,"p3xr-ng-button",27),y.k0s(),y.j41(4,"div",1),y.nVh(5,B,3,0,"mat-list"),y.k0s()()),2&t){let t;const n=y.XpG();y.R7$(),y.Y8G("title",((null==(t=n.strings().page)||null==t.search?null:t.search.indexInfo)||"Index Info")+": "+n.selectedIndex),y.R7$(2),y.vxM(n.isReadonly?-1:3),y.R7$(2),y.vxM(n.indexInfo?5:-1)}}function H(t,n){if(1&t){const t=y.RV6();y.j41(0,"div",34)(1,"mat-form-field",37)(2,"mat-label"),y.EFF(3),y.k0s(),y.j41(4,"input",30),y.mxI("ngModelChange",(function(n){const e=s.eBV(t).$implicit;return y.DH7(e.name,n)||(e.name=n),s.Njj(n)})),y.k0s()(),y.j41(5,"div",38)(6,"mat-form-field",39)(7,"mat-label"),y.EFF(8),y.k0s(),y.j41(9,"mat-select",40),y.mxI("valueChange",(function(n){const e=s.eBV(t).$implicit;return y.DH7(e.type,n)||(e.type=n),s.Njj(n)})),y.j41(10,"mat-option",41),y.EFF(11,"TEXT"),y.k0s(),y.j41(12,"mat-option",42),y.EFF(13,"NUMERIC"),y.k0s(),y.j41(14,"mat-option",43),y.EFF(15,"TAG"),y.k0s(),y.j41(16,"mat-option",44),y.EFF(17,"GEO"),y.k0s(),y.j41(18,"mat-option",45),y.EFF(19,"VECTOR"),y.k0s()()(),y.j41(20,"button",46),y.bIt("click",(function(){const n=s.eBV(t).$index,e=y.XpG(2);return s.Njj(e.confirmRemoveField(n))})),y.j41(21,"mat-icon"),y.EFF(22,"remove"),y.k0s()()()()}if(2&t){let t,e;const i=n.$implicit,s=y.XpG(2);y.R7$(3),y.JRh((null==(t=s.strings().page)||null==t.search?null:t.search.fieldName)||"Field Name"),y.R7$(),y.R50("ngModel",i.name),y.R7$(4),y.JRh((null==(e=s.strings().label)?null:e.type)||"Type"),y.R7$(),y.R50("value",i.type),y.R7$(11),y.Y8G("disabled",s.newIndexFields.length<=1)}}function Y(t,n){if(1&t){const t=y.RV6();y.j41(0,"button",47),y.bIt("click",(function(){s.eBV(t);const n=y.XpG(2);return s.Njj(n.createIndex())})),y.j41(1,"mat-icon"),y.EFF(2,"add"),y.k0s(),y.j41(3,"span"),y.EFF(4),y.k0s()()}if(2&t){let t;const n=y.XpG(2);y.Y8G("disabled",!n.newIndexName.trim()),y.R7$(4),y.JRh((null==(t=n.strings().page)||null==t.search?null:t.search.createIndex)||"Create Index")}}function J(t,n){if(1&t){const t=y.RV6();y.j41(0,"button",48),y.bIt("click",(function(){s.eBV(t);const n=y.XpG(2);return s.Njj(n.createIndex())})),y.j41(1,"mat-icon"),y.EFF(2,"add"),y.k0s()()}if(2&t){let t;const n=y.XpG(2);y.Y8G("disabled",!n.newIndexName.trim())("matTooltip",(null==(t=n.strings().page)||null==t.search?null:t.search.createIndex)||"Create Index")}}function q(t,n){if(1&t){const t=y.RV6();y.nrm(0,"br"),y.j41(1,"p3xr-ng-accordion",29)(2,"div",1)(3,"div",2)(4,"mat-form-field",5)(5,"mat-label"),y.EFF(6),y.k0s(),y.j41(7,"input",30),y.mxI("ngModelChange",(function(n){s.eBV(t);const e=y.XpG();return y.DH7(e.newIndexName,n)||(e.newIndexName=n),s.Njj(n)})),y.k0s()(),y.j41(8,"mat-form-field",5)(9,"mat-label"),y.EFF(10),y.k0s(),y.j41(11,"input",31),y.mxI("ngModelChange",(function(n){s.eBV(t);const e=y.XpG();return y.DH7(e.newIndexPrefix,n)||(e.newIndexPrefix=n),s.Njj(n)})),y.k0s()(),y.j41(12,"div",32)(13,"strong"),y.EFF(14,"Schema"),y.k0s(),y.j41(15,"button",33),y.bIt("click",(function(){s.eBV(t);const n=y.XpG();return s.Njj(n.addField())})),y.j41(16,"mat-icon"),y.EFF(17,"add"),y.k0s()()(),y.Z7z(18,H,23,5,"div",34,y.Vm6),y.j41(20,"div",9),y.nVh(21,Y,5,2,"button",35)(22,J,3,2,"button",36),y.k0s()()()()}if(2&t){let t,n,e;const i=y.XpG();y.R7$(),y.Y8G("title",(null==(t=i.strings().page)||null==t.search?null:t.search.createIndex)||"Create Index"),y.R7$(5),y.JRh((null==(n=i.strings().page)||null==n.search?null:n.search.indexName)||"Index Name"),y.R7$(),y.R50("ngModel",i.newIndexName),y.R7$(3),y.JRh((null==(e=i.strings().page)||null==e.search?null:e.search.prefix)||"Key Prefix (optional)"),y.R7$(),y.R50("ngModel",i.newIndexPrefix),y.R7$(7),y.Dyx(i.newIndexFields),y.R7$(3),y.vxM(i.isGtSm?21:22)}}e(79990);class K{i18n;socket;common;cdr;ngZone;breakpointObserver;strings;indexes=[];selectedIndex="";query="*";offset=0;limit=20;total=0;results=[];indexInfo=null;searching=!1;searchDone=!1;isReadonly=!1;isGtSm=!0;aiLoading=!1;newIndexName="";newIndexPrefix="";newIndexFields=[{name:"",type:"TEXT",sortable:!1}];unsubs=[];constructor(t,n,e,i,s,o){this.i18n=t,this.socket=n,this.common=e,this.cdr=i,this.ngZone=s,this.breakpointObserver=o,this.strings=this.i18n.strings}ngOnInit(){this.isReadonly=!0===F?.state?.connection?.readonly;const t=this.breakpointObserver.observe("(min-width: 960px)").subscribe((t=>{this.isGtSm=t.matches,this.cdr.markForCheck()}));this.unsubs.push((()=>t.unsubscribe())),this.loadIndexes();const n=this.socket.stateChanged$.subscribe((()=>{this.isReadonly=!0===F?.state?.connection?.readonly,this.loadIndexes()}));this.unsubs.push((()=>n.unsubscribe()))}async searchAndRefreshInfo(){await Promise.all([this.search(),this.loadIndexInfo()])}ngOnDestroy(){this.unsubs.forEach((t=>t()))}get pages(){return Math.ceil(this.total/this.limit)}get currentPage(){return Math.floor(this.offset/this.limit)+1}async loadIndexes(){try{const t=await this.socket.request({action:"search-list",payload:{}});this.indexes=t.data,this.indexes.length>0&&!this.selectedIndex&&(this.selectedIndex=this.indexes[0]),this.cdr.markForCheck()}catch{}}async search(){if(this.selectedIndex&&this.query){this.searching=!0,this.cdr.markForCheck();try{const t=await this.socket.request({action:"search-query",payload:{index:this.selectedIndex,query:this.query,offset:this.offset,limit:this.limit}});this.total=t.data.total,this.results=t.data.docs}catch(t){this.common.generalHandleError(t),this.results=[],this.total=0}finally{this.searching=!1,this.searchDone=!0,this.cdr.markForCheck()}}}pageAction(t){switch(t){case"first":this.offset=0;break;case"prev":this.offset=Math.max(0,this.offset-this.limit);break;case"next":this.offset=Math.min((this.pages-1)*this.limit,this.offset+this.limit);break;case"last":this.offset=(this.pages-1)*this.limit}this.search()}async loadIndexInfo(){if(this.selectedIndex)try{const t=await this.socket.request({action:"search-index-info",payload:{index:this.selectedIndex}});this.indexInfo=t.data,this.cdr.markForCheck()}catch(t){this.common.generalHandleError(t)}}async dropIndex(){if(this.selectedIndex)try{await this.common.confirm({message:this.strings().confirm?.dropIndex||"Are you sure to drop this index?"}),await this.socket.request({action:"search-index-drop",payload:{index:this.selectedIndex}}),this.common.toast({message:this.strings().status?.indexDropped||"Index dropped"}),this.selectedIndex="",this.results=[],this.total=0,this.indexInfo=null,await this.loadIndexes()}catch(t){void 0!==t&&this.common.generalHandleError(t)}}addField(){this.newIndexFields.push({name:"",type:"TEXT",sortable:!1})}async confirmRemoveField(t){try{const n=this.strings().intention?.delete||"Delete";await this.common.confirm({message:n+"?"}),this.newIndexFields.splice(t,1)}catch(t){void 0!==t&&this.common.generalHandleError(t)}}async createIndex(){if(!this.newIndexName.trim())return;const t=this.newIndexFields.filter((t=>t.name.trim()));if(0!==t.length)try{await this.socket.request({action:"search-index-create",payload:{name:this.newIndexName.trim(),prefix:this.newIndexPrefix.trim()||void 0,schema:t}}),this.common.toast({message:this.strings().status?.indexCreated||"Index created"}),this.newIndexName="",this.newIndexPrefix="",this.newIndexFields=[{name:"",type:"TEXT",sortable:!1}],await this.loadIndexes()}catch(t){this.common.generalHandleError(t)}}async handleSearchEnter(){const t=(this.query||"").trim();if(/^ai:\s*/i.test(t))await this.handleAiQuery(t.replace(/^ai:\s*/i,"").trim());else try{await this.searchAndRefreshInfo()}catch(n){t.length>2&&"*"!==t&&/\s/.test(t)&&await this.handleAiQuery(t)}}async handleAiQuery(t){if(t){this.aiLoading=!0,this.cdr.markForCheck();try{let n;this.selectedIndex&&this.indexInfo&&(n=this.indexInfo);const e=await this.socket.request({action:"ai-redis-query",payload:{prompt:t,context:{indexes:this.indexes,schema:n}}});this.query=e.command||"*",e.explanation&&this.common.toast({message:e.explanation}),this.offset=0,await this.searchAndRefreshInfo()}catch(t){this.common.generalHandleError(t)}finally{this.aiLoading=!1,this.cdr.markForCheck()}}}getDocKeys(t){return Object.keys(t).filter((t=>"_key"!==t))}static ɵfac=function(t){return new(t||K)(y.rXU(f.W),y.rXU(b.L),y.rXU(g.h),y.rXU(i.gRc),y.rXU(s.SKi),y.rXU(m.Q))};static ɵcmp=y.VBU({type:K,selectors:[["p3xr-search"]],decls:10,vars:7,consts:[["accordionKey","search-query",3,"title"],["content",""],[1,"p3xr-padding"],[2,"opacity","0.5"],[2,"height","64px"],[1,"md-block"],[3,"valueChange","selectionChange","value"],[3,"value"],["matInput","",3,"ngModelChange","keydown.enter","ngModel","disabled"],[2,"margin-top","8px","text-align","right"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn",3,"disabled"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"disabled","matTooltip"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn",3,"click","disabled"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"click","disabled","matTooltip"],["accordionKey","search-results",3,"title"],[2,"padding","16px","opacity","0.5"],["actions",""],["label","","mdIcon","skip_previous",3,"click"],["label","","mdIcon","keyboard_arrow_left",3,"click"],[2,"font-size","12px","opacity","0.7"],["label","","mdIcon","keyboard_arrow_right",3,"click"],["label","","mdIcon","skip_next",3,"click"],[1,"p3xr-settings-pair-row"],[1,"p3xr-settings-row-label"],[1,"p3xr-kbd","p3xr-kbd-small"],[1,"p3xr-settings-row-value","p3xr-mono",2,"font-size","12px"],["accordionKey","search-index-info",3,"title"],["mdIcon","delete",3,"label"],["mdIcon","delete",3,"click","label"],["accordionKey","search-create-index",3,"title"],["matInput","",3,"ngModelChange","ngModel"],["matInput","","placeholder","e.g. doc:",3,"ngModelChange","ngModel"],[2,"display","flex","align-items","center","gap","8px","margin","8px 0"],["mat-mini-fab","","type","button",1,"btn-primary",3,"click"],[1,"p3xr-search-schema-row"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn",3,"disabled"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"disabled","matTooltip"],[2,"flex","1"],[1,"p3xr-search-schema-type-row"],[2,"width","130px"],[3,"valueChange","value"],["value","TEXT"],["value","NUMERIC"],["value","TAG"],["value","GEO"],["value","VECTOR"],["mat-mini-fab","","type","button",1,"btn-warn",3,"click","disabled"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn",3,"click","disabled"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"click","disabled","matTooltip"]],template:function(t,n){if(1&t&&(y.j41(0,"p3xr-ng-accordion",0)(1,"div",1)(2,"div",2),y.nVh(3,G,2,1,"div",3),y.nVh(4,M,13,6),y.k0s()()(),y.nVh(5,E,5,2),y.nVh(6,D,8,2),y.nVh(7,O,6,3),y.nVh(8,q,23,6),y.nrm(9,"div",4)),2&t){let t;y.Y8G("title",(null==(t=n.strings().page)||null==t.search?null:t.search.title)||"Search"),y.R7$(3),y.vxM(0===n.indexes.length?3:-1),y.R7$(),y.vxM(n.indexes.length>0?4:-1),y.R7$(),y.vxM(n.searchDone&&0===n.total?5:-1),y.R7$(),y.vxM(n.results.length>0||n.total>0?6:-1),y.R7$(),y.vxM(n.selectedIndex&&n.indexInfo?7:-1),y.R7$(),y.vxM(n.isReadonly?-1:8)}},dependencies:[o.MD,a.YN,a.me,a.BC,a.vS,c.m_,c.An,r.Hl,r.$z,r.$0,l.uc,R.oV,d.w,d.q,h.Fg,h.jt,h.YE,p.Ve,v.rl,v.nJ,p.VO,j.wT,u.RG,x.fS,x.fg,k.B,I.f,o.TG],encapsulation:2,changeDetection:0})}},79990(t,n,e){e.r(n)}}]);